RIGIDBODY

RIGIDBODY movement (translation and rotation) due to acting forces of the flow

The geometry with MOVE-flag $MOVE_index$ moves due to the acting forces of the flow as well as additional outer forces and momentum. In particular, we solve the ODE of movement of rigid rotating bodies: \begin{align} \frac{d }{dt} \left( \mathbf{x}_{COG} \right) = \mathbf{v}_{COG}\end{align} \begin{align} \frac{d }{dt} \left( m \cdot \mathbf{v}_{COG} \right) = F_{fluid} + F_{gravity} + F_{outer} + \left( F_{contact} + F_{friction} \right)\end{align} \begin{align} \frac{d}{dt} \left( \mathbf{I} \cdot \mathbf{\omega}_{COG} \right) = M_{fluid} + M_{outer} + \left( M_{contact} + M_{friction} \right)\end{align} The variables are
  • \( t\) : time
  • \( m\) : mass of the body,
  • \( \mathbf{x}_{COG}\) : position of the center of gravity of the body ; this can be interrogated by the function xCOG() ,
  • \( \mathbf{v}_{COG}\) : velocity of the center of gravity; this can be interrogated by the function vCOG() ,
  • \( F_{fluid}\) : forces acting from the fluid onto the body (automatically measured and applied!!!), to be requested by the function FCOG() ,
  • \( F_{gravity}\): the gravity forces deduced from the definition of gravity of the appropriate material ,
  • \( F_{outer}\) : additional / outer forces other than fluid or gravity / body forces ,
  • \( \mathbf{I}\) : tensor of rotational inertia ,
  • \( \mathbf{\omega}_{COG}\) : rotational speed about the center of gravity of the body, to be requested by the function omCOG() ,
  • \( M_{fluid}\) : moment about the center of gravity (automatically measured and applied!!!!), this can be inquired by the function MCOG() ,
  • \( M_{outer}\) : outer moments other than the moment applied by the fluid ,
  • \( F_{contact}, M_{contact}\) : if RIGIDBODY_UseCollisionModel > 0 , then MESHFREE detects the body-body- and body-boundary-intersections and automatically applies contact forces and moments \( M_{contact} = \left( \mathbf{x}_{contact} - \mathbf{x}_{COG} \right) \times F_{contact}\) .
Remark: the items above have to be initialized in the MOVE statement (see below)
MOVE($MOVE_index$) = ( %MOVE_rigid%, xCenterInit, yCenterInit, zCenterInit, Mass, xxInertia, xyInertia, xzInertia, yxInertia, yyInertia, yzInertia, zxInertia, zyInertia, zzInertia, xVelocityInit, yVelocityInit, zVelocityInit, xOmegaInit, yOmegaInit, zOmegaInit, xForce, yForce, zForce, xMomentum, yMomentum, zMomentum, OPTIONAL:xxdFduInit, xydFduInit, xzdFduInit, yxdFduInit, yydFduInit, yzdFduInit, zxdFduInit, zydFduInit, zzdFduInit , OPTIONAL:xxdGdOmega, xydGdOmega, xzdGdOmega, yxdGdOmega, yydGdOmega, yzdGdOmega, zxdGdOmega, zydGdOmega, zzdGdOmega )
  • (xCenterInit, yCenterInit, zCenterInit): initial center of gravity \( \mathbf{x}_{COG}\)
  • Mass: mass of RIGIDBODY \( m\)
  • (xxInertia, xyInertia, xzInertia, yxInertia, yyInertia, yzInertia, zxInertia, zyInertia, zzInertia): initial tensor of inertia \( \mathbf{I}\)
  • (xVelocityInit, yVelocityInit, zVelocityInit): initial velocity \( \mathbf{v}_{COG}\)
  • (xOmegaInit, yOmegaInit, zOmegaInit): inital rotational state \( \mathbf{\omega}_{COG}\)
  • (xForce, yForce, zForce): outer forces \( F_{outer}\)
  • (xMomentum, yMomentum, zMomentum): outer momentum \( M_{outer}\)
  • ( xxdFduInit, xydFduInit, xzdFduInit, yxdFduInit, yydFduInit, yzdFduInit, zxdFduInit, zydFduInit, zzdFduInit ): initial guess of dF/du (tensor)
  • ( xxdGdOmega, xydGdOmega, xzdGdOmega, yxdGdOmega, yydGdOmega, yzdGdOmega, zxdGdOmega, zydGdOmega, zzdGdOmega ): initial guess of dG/dOmega (tensor)
List of members:
RIGIDBODY_interaction control forces acting on a RIGIDBODY due to collision or joints
RIGIDBODY_ExternalForces define external forces of a RIGIDBODY based on a point source