1

Previous: Solid body motion Up: Solid body motion Next: Internal motion

This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.

Test case: sloshingTank2D

  • This kind of dynamic mesh solves motion of whole mesh as it is
  • New inertial forces appear, due to the fluid inertia
  • Copy tutorial case sloshingTank2D# run
    # cp -r $FOAM_TUTORIALS/\
    multiphase/interFoam/laminar/sloshingTank2D ./
  • Test case is already set up
  • Case is two-dimensional. The tank is filled up with water and air. The tank sways imitating the movement of sailing boat.
sloshingTank2D

Figure: sloshingTank2D geometry

    • Solver for this tutorial test case is interFoam

       

    • Dynamic mesh properties are in dictionary constant/dynamicMeshDict:
      dynamicFvMesh   dynamicMotionSolverFvMesh;
      
      solver solidBody;
      
      solidBodyCoeffs
      {
          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;
          }
      }
      

       

    • Parameter dynamicFvMesh says what dynamic mesh model is used, for this test case: dynamicMotionSolverFvMesh
    • An appropriate solver is called solidBody

       

    • Section solidBodyCoeffs sets parameters of solidBody solver

       

    • Parameter solidBodyMotionFunction selects method to be used, for this test case: SDA (Ship Design Analysis) method.

       

    • SDA method describes periodic motion (three degrees of freedom, two translations: heave and sway and one rotation: roll) for the whole object (whole computational mesh). Method parameters are described in source code header file of the method: # cat $FOAM_SRC/dynamicMesh/motionSolvers/displacement/solidBody/
      /solidBodyMotionFunctions/SDA/SDA.H
      Description
          Ship design analysis (SDA) 3DoF motion function.
      
          Comprising sinusoidal roll (rotation about x), heave (z-translation)
          and sway (y-translation) motions with changing amplitude and phase.
      
      See also
          Foam::solidBodyMotionFunctions::tabulated6DoFMotion
      
      SourceFiles
          SDA.C
      
      \*---------------------------------------------------------------------------*/
      
      #ifndef SDA_H
      #define SDA_H
      
      #include "solidBodyMotionFunction.H"
      
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
      
      namespace Foam
      {
      namespace solidBodyMotionFunctions
      {
      
      /*---------------------------------------------------------------------------*\
                                Class SDA Declaration
      \*---------------------------------------------------------------------------*/
      
      class SDA
      :
          public solidBodyMotionFunction
      {
          // Private data
      
              //- Center of gravity
              vector CofG_;
      
              //- Model scale ratio
              scalar lamda_;
      
              //- Max roll amplitude [rad]
              scalar rollAmax_;
      
              //- Min roll amplitude [rad]
              scalar rollAmin_;
      
              //- Heave amplitude [m]
              scalar heaveA_;
      
              //- Sway amplitude [m]
              scalar swayA_;
      
              //- Damping Coefficient [-]
              scalar Q_;
      
              //- Time Period for liquid [sec]
              scalar Tp_;
      
              //- Natural Period of Ship [sec]
              scalar Tpn_;
      
              //- Reference time step [sec]
              scalar dTi_;
      
              //- Incr. in Tp/unit 'dTi'[-]
              scalar dTp_;
      
    • Alternatives to SDA method are following: axisRotationMotion
      linearMotion
      multiMotion
      oscillatingLinearMotion
      oscillatingRotatingMotion
      rotatingMotion
      tabulated6DoFMotion

       

    • Run the test case: # ./Allrun
      # paraFoam
tank1
tank3
tank2

Figure: Phase fraction alpha1