SDA

From OpenFOAMWiki

SDA is a motion specific to modeling in marine applications. SDA creates a prescibed motion in three directions: roll, heave, and sway. This was intended to simulate the motion of a vessel in a seaway. The intended application was tank sloshing of a large liquid storage tank in the vessel. In this scenario, the tank would be modeled as the CFD domain, and the SDA motion would be applied to simulate the motions of the ship and drive the tank sloshing.

 dynamicFvMesh solidBodyMotionFvMesh;
 solidBodyMotionFvMeshCoeffs
 {
    solidBodyMotionFunction SDA;
    SDACoeffs
    {
       CofG            ( 0 0 0);
       lamda           100;
       rollAmax        0.25;
       rollAmin        0.10;
       heaveA          3.56;
       swayA           2.50;
       Q               3;
       Tp              12;
       Tpn             10;
       dTi             0.060;
       dTp             -0.002;    
    }
 }
 motionSolverLibs ( "libfvMotionSolvers.so" );
 
Coefficients applied in dynamicMeshDict
Coefficient Description Type Dimension
CofG Center of Gravity Vector [m]
lamda Model scale ratio scalar [-]
rollAmax Max roll amplitude scalar [rad]
rollAmin Min roll amplitude scalar [rad]
heaveA Heave amplitude scalar [m]
swayA Sway amplitude scalar [m]
Q Damping Coefficient scalar [-]
Tp Time Period for liquid scalar [sec]
Tpn Natural Period of Ship scalar [sec]
Tpi Current roll period scalar [sec]
dTi Reference time step scalar [sec]
dTp Increase in Tp per unit dTi scalar [-]

SDA can also be used to model motion in another three directions: yaw, surge, and sway. This is accomplished by rotating the model so that the longitudinal direction aligns with the negative Y axis. The vertical direction of the vessel should then align with the positive X-axis. The following correlations are then possible:

  1. Reported roll motion (X-axis rotation) = Yaw rotation, positive with bow to port side.
  2. Reported heave motion (Z-axis displacement) = Sway displacement, positive to starboard.
  3. Reported Sway motion (Y-axis displacement) = Surge displacement, positive pointing aft.


1 CofG Parameter

       CofG            ( 0 0 0);

The center of gravity is specified relative to the coordinate system of your domain. This is important when applying these motions to tank sloshing. The center of gravity may be well outside the extents of your domain. In the SDA setup, you specify the parameters of the global ship motions. But the tank sloshing depends on the local motions at the tank. When you specify the center of gravity, OpenFOAM internally converts your global ship motions into the actual rotation and translation occurring locally at the location of the tank simulated in your domain. This one parameter can have significant affects on the actual experienced ship motions.

2 lambda Parameter

       lamda           100;

The lambda parameter is a model-ship correlation factor. This is useful for validation purposes. Most tank sloshing experiments consist of model scale experiments. In the marine world, it is very common to work at model scale and automatically scale the results up to full scale. The scaling parameter is also useful when validating against model test results because model test results do not scale perfectly up to full scale. There are many innaccuracies. So when validating a CFD simulation against a model experiment, it is often best to simulate the actual experiment scale and then scale results up.

The following table shows how the model scale parameter modifies the various parameters.

Modified Parameters for Model Scale
Coefficient Modified Parameter, applied in OpenFOAM Status
CofG CofG Not modified
lamda lambda Not modified
rollAmax rollAmax Not modified
rollAmin rollAmin Not modified
heaveA \frac{heaveA}{lamda} reduced by scale factor
swayA \frac{swayA}{lamda} reduced by scale factor
Q Q Not modified
Tp \frac{Tp}{\sqrt{lambda}} reduced by square root of scale factor
Tpn \frac{Tpn}{\sqrt{lambda}} reduced by square root of scale factor
Tpi \frac{Tpi}{\sqrt{lambda}} reduced by square root of scale factor
dTi \frac{dTi}{\sqrt{lambda}} reduced by square root of scale factor
dTp \frac{dTp}{\sqrt{lambda}} reduced by square root of scale factor


3 rollAmax Parameter

       rollAmax        0.25;
       

This is the maximum roll amplitude. The SDA module assumes the ship is under free roll oscillation and slowly decaying. The rollAMax is the maximum starting amplitude. The actual roll amplitude is calculated from the following formula:



rollA = max \left \{ rollAmax \times exp \left [ \frac{- \sqrt {T_pi - T_pn }}{2Q} \right ] , rollAmin   \right \}

This calculated equation slowly decays the amplitude of the roll motion. If you with to prevent decay of roll motion, simply set the rollAmin parameter as your governing roll motion.

4 rollAmin Parameter

rollAmin 0.10;

This is the minimum roll amplitude for tank roll motions. The tank roll amplitude is calculated based on a combination of the other factors. These other factors may combine to create too small of a roll amplitude. The rollAmin specifies a minimum limit for roll amplitude. The roll amplitude will always meet this minimum value. If you wish to specify a constant roll amplitude, set the rollAmin parameter as your roll amplitude.


5 heaveA Parameter

       heaveA          3.56;
       

The amplitude of the heave motion experienced by the vessel. This is a forced heave motion. The heave amplitude does not change with any other parameters.


6 swayA Parameter

       swayA           2.50;
       

The amplitude of the sway motion experienced by the vessel. This is a forced sway motion. The sway amplitude does not change with any other parameters.


7 Q Parameter

       Q               3;
       

The damping coefficient of vessel roll motions. This is used to estimate the decay for amplitude of forced roll oscillation. The SDA module assumes the vessel rolls naturally, with a slowly decaying roll motion. The damping coefficient helps to specify the decay rate. The damping coefficient must be a nonzero value.

8 Tp Parameter

       Tp              12;
       
       

The natural sloshing period of the liquid. This depends on the liquid and geometry of the tank. Most regulatory agencies require simulation of the tank sloshing at the resonant period for the liquid. This is a safety precause because sloshing at the resonant period produces the worst loads. This can be estimated using potential flow solutions for simple tank geometries. The estimates are not exact, but usually form a good starting point.

The natural period can be estimated based on the following formula, taken from guidance notes on LNG pump tower analysis, published by the American Bureau of Shipping.

 Tp = \frac{L^{1/2}}{k}

 k = \left [ \frac{tanh \left ( \pi d / L \right ) }{ 4 \pi / g } \right ]^{1/2}


Variable Definitions
Variable Definition
L Length parameter of the tank in question. Either the length or width of the tank, depending on the sloshing motion direction.
\pi Mathematical constant Pi.
d Depth of the tank.
g Acceleration due to gravity.


The SDA module then takes this information, along with the other parameters and calculates the roll period for the simulation, based on the following equation.

 T_pi = T_p + dT_p \times \left ( \frac{Time}{dT_i} \right )

Where Time is the current simulation time. The actual simulated roll period is based on the resonant period of the tank, plus the ship's natural roll period. The ship's natural roll period decays with time. By adjusting the values for these two parameters, you can simulate a tank under constant oscillation at a fixed period, or a tank under decaying oscillation at the ship's period. Or you can simulate a combination of the two.


9 Tpn Parameter

       Tpn             10;

The natural roll period for the ship. This is different than the resonant period for the tank sloshing. The ship roll period is based on the dynamics of the much larger vessel which contains the sloshing tank. The ship is not typically modeled in a sloshing simulation. So the relevant ship characteristics must be supplied as parameters. Tpn is the natural roll period for the ship.

The SDA module then takes this information, along with the other parameters and calculates the roll period for the simulation, based on the following equation.

 T_pi = T_p + dT_p \times \left ( \frac{Time}{dT_i} \right )

Where Time is the current simulation time. The actual simulated roll period is based on the resonant period of the tank, plus the ship's natural roll period. The ship's natural roll period decays with time. By adjusting the values for these two parameters, you can simulate a tank under constant oscillation at a fixed period, or a tank under decaying oscillation at the ship's period. Or you can simulate a combination of the two.


10 dTi Parameter

       dTi             0.060;
       

The timestep of the simulation. The SDA module can not get the timestep from global simulation settings. Instead, you must provide the timestep as an input to the SDA module. This also means that the SDA module can not accommodate adaptive timesteps, unless you restart the simulation with new settings.

11 dTp Parameter

       dTp             -0.002;    

The change in ship roll period per change in time. The SDA module assumes the ship is under natural, damped roll motion. The roll motion reduces in amplitude and increases in period with successive oscillations. This increase in period is captured through the specified parameter dTp. The SDA module then takes this information, along with the other parameters and calculates the roll period for the simulation, based on the following equation.

 T_pi = T_p + dT_p \times \left ( \frac{Time}{dT_i} \right )

Where Time is the current simulation time. The actual simulated roll period is based on the resonant period of the tank, plus the ship's natural roll period. The ship's natural roll period decays with time. By adjusting the values for these two parameters, you can simulate a tank under constant oscillation at a fixed period, or a tank under decaying oscillation at the ship's period. Or you can simulate a combination of the two.