$FOAM_TUTORIALS/multiphase/interDyMFoam/ras/sloshingTank3D
We calculate the water flow in a shaking tank using the mesh movement function for 40 seconds. The volume of water is assumed to be about 20% of the tank, and the rest is air.
The properties of the water and air are specified in the file "constant/transportProperties".
The movement of the mesh is specified in the file "constant/dynamicMeshDict" as follows.
dynamicFvMesh solidBodyMotionFvMesh;
solidBodyMotionFvMeshCoeffs
{
solidBodyMotionFunction SDA;
SDACoeffs
{
CofG (0 0 0);
lamda 50;
rollAmax 0.22654;
rollAmin 0.10472;
heaveA 3.79;
swayA 2.34;
Q 2;
Tp 13.93;
Tpn 11.93;
dTi 0.059;
dTp -0.001;
}
}
SDA means Ship Design Analysis, which provides three degrees of freedom (roll, heave, and sway) of motion. The meaning of each parameter is as follows.
| Parameter | Description | Unit |
|---|---|---|
| CofG | Center of Gravity | m |
| lamda | Model scale ratio | none |
| rollAmax | Maximum roll amplitude | rad |
| rollAmin | Minimum roll amplitude | rad |
| heaveA | Heave amplitude | m |
| swayA | Sway amplitude | m |
| Q | Damping ratio | none |
| Tp | Time period of liquid | sec |
| Tpn | Eigen period | sec |
| dTi | Reference time step | sec |
| dTp | Increase in Tp per unit dTi |
The following settings are made in the file "system/controlDict" to output the pressure "p" at the specified point and surface. The output data will be saved in the folder "postProcessing".
functions
{
probes
{
type probes;
libs ("libsampling.so");
writeControl timeStep;
writeInterval 1;
probeLocations
(
(0 9.95 19.77)
(0 -9.95 19.77)
);
fixedLocations false;
fields
(
p
);
}
}
The meshes are as follows, and the number of mesh is 25840.
Meshes
The calculation result is as follows.
Surface boundary of water at initial time
Surface boundary of water at final time
Pressure "p" at the specified coordinates. Solid line: coordinates (0, 9.95, 19.77), dashed line: coordinates (0, -9.95, 19.77).
46 minutes 15.88 seconds *Single, Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz