asv_wave_sim icon indicating copy to clipboard operation
asv_wave_sim copied to clipboard

Linear potential wave-body model

Open srmainwaring opened this issue 3 years ago • 5 comments

Overview

We would like to combine the non-linear hydrostatic restoring force model used in asv_wave_sim with a linear potential flow wave-body interaction model.

The initial application is to buoys and other structures that satisfy the requirement that the displacements about an initial condition are expected to be small. However some of the features may be useful for surface vehicles, in particular the wave radiation damping and added mass contributions from the linear model may provide a better mechanism than the current model, particularly for larger / more massive vessels.

Approach

The linear wave-body model resolves the interaction into a number of different forces and the way these are incorporated in the simulation differs depending on the type of waves.

Forces

  • Buoyancy
  • Linear hydrostatic restoring forces
  • Wave radiation damping
  • Wave radiation added mass
  • Wave excitation

Waves

  • No waves (decay tests)
  • Regular waves, single frequency
  • Regular waves, multi-frequency
  • Random waves, multi-frequency (FFT methods)

The proposed approach is to progress through the cases starting with the simplest model, no waves with linear hydrostatic restoring forces, and progressively work through the additional forces for each wave category before moving onto a more complex wave model.

Implementation

A working demonstration of the model is available on the demo/linear-wave-body branch which will be used to track progress:

  • #70
  • #71
  • #72
  • #73
  • #74
  • #75
  • #76
  • #77

srmainwaring avatar Sep 28 '22 15:09 srmainwaring

Ellipsoid buoy test case

The test case is an ellipsoid buoy with same dimensions used in the WEC-Sim Nonlinear_Hydro example.

  • semi-axis: x=5.0m, y=5.0m, z=2.5m
  • mass: 134200kg
  • moments: Ixx=838750, Iyy=838750, Izz=1342000 kg m^2
  • water plane origin at (0, 0, 0)m, link origin at (0, 0, 0)m, CoM at (0, 0, -2.0)m, CoB at (0, 0, -0.935)m
  • BEM coefficients calculated using Capytaine and converted to WEC-Sim HDF5 using bemio.

The first step towards the general case of random FFT generated waves, non-linear hydrostatics and a linear potential model for wave body interactions is to look at a simple standalone linear wave-body model in the absence of waves and in regular waves of fixed period and height.

The following tests cases build up to a model synchronised with the wave visuals that implements combined hydrostatic, radiation and excitation forces assuming constant BEM coefficients for a regular wave with period T = 6s and height H = 4m.

Hydrostatics

Forces

  • Buoyancy
  • Linear hydrostatic restoring

Figures: response from initial conditions: z=3m, pitch=45deg, no waves, no damping

https://user-images.githubusercontent.com/24916364/192846546-61b6c1f9-3874-4f4b-befb-8f379789db0b.mov

01_4_ellipsoid_f5244_fhs_3m_45deg

Radiation damping and added mass

Forces

  • Buoyancy
  • Linear hydrostatic restoring
  • Wave radiation damping
  • Wave radiation added mass

Figures: response from initial conditions: z=3m, pitch=45deg, no waves. There are two plots for each DOF, the higher frequency / lower amplitude plots correspond to damping only.

https://user-images.githubusercontent.com/24916364/192847749-bdcd6b74-90fc-4bc6-bb28-a59514a82632.mov

02_6_ellipsoid_f5244_fhs_frd_fam_3m_45deg

Incorporating added mass in the Gazebo physics solver

Modifications to Gazebo

Gazebo Garden (sdformat13) allows an added mass term to be included in the <inertial> element according to the proposal:

http://sdformat.org/tutorials?tut=added_mass_proposal&branch=chapulina/added_mass

An entry for the fluid added mass has been added to the Inertial class in gz-math7 and is accessed using the method Inertial::FluidAddedMass. This may be written to directly in the plugin Configure method via the component::Inertial attached to a link entity.

The following issues and PRs track including the fluid added mass in the DART physics engine.

  • https://github.com/gazebosim/gz-sim/pull/1592
  • https://github.com/gazebosim/gz-math/pull/459
  • https://github.com/gazebosim/sdformat/pull/1077
  • https://github.com/gazebosim/gz-physics/pull/384
  • https://github.com/gazebosim/gz-msgs/pull/271

With the patches from this branch to correct the conversion from a Gazebo inertia matrix and the DART spatial inertia tensor:

  • https://github.com/srmainwaring/gz-physics/tree/srmainwaring/6/added_mass

Edit 10 Oct 2022

The added mass input into the Gazebo Inertia class is expected to be taken about the link frame origin and with reference to the link frame (rather than about the CoM with reference to the CoM frame). In this case no additional transform is required.

Gravity

The DART solver includes gravity at the world level, and assumes that the inertial mass in the spatial inertia tensor is equivalent to gravitation mass. This is not valid when the tensor contains added mass elements.

To get the correct gravitation forces the world gravity must be disabled by setting the element <gravity>0 0 0</gravity>, with gravity added back in for the inertial mass only in the plugin.

Excitation

Forces

  • Buoyancy
  • Linear hydrostatic restoring
  • Wave radiation damping
  • Wave radiation added mass
  • Wave excitation

Figures: combined response in regular waves with constant period 6s and amplitude 2m. The initial excitation forces are suppressed over the first 10s using the ramp function implemented in the WEC-Sim Simulink model.

https://user-images.githubusercontent.com/24916364/192851231-e947be57-0278-4ca0-80a6-2584f0ddceef.mov

03_2_ellipsoid_f5244_fhs_fex_frd_fam_0m_v2

srmainwaring avatar Sep 28 '22 17:09 srmainwaring