%MOVE_TranslationRotation%
movement by given translation and rotation
A geometry is translated with a defined movement. On top of that, a rigid rotation around the current center of rotation is applied.
MOVE(
$MOVE_index$) = (
%MOVE_TranslationRotation%, xCenterInit, yCenterInit, zCenterInit,
$MOVE_Center$, xOmega, yOmega, zOmega,
OPTIONAL:%MOVE_VirtualRotation% ,
OPTIONAL:%MOVE_InvokeDataCaching% )
MOVE(
$MOVE_Center$) = ( %MOVE_...%, AnythingCanBeHere, ... )
-
- The vector (xCenterInit, yCenterInit, zCenterInit) represents the initial center of rotation of the geometry with MOVE-flag $MOVE_index$.
- This center of rotation is then translated by the movement described in an additional, compulsory MOVE-statement $MOVE_Center$.
- A rigid rotation about the current center of rotation with rotation vector (xOmega, yOmega, zOmega) is executed.
Example: A rolling wheel can be modeled by
MOVE(
$MOVE_index$) = (
%MOVE_TranslationRotation%, 0, 0, 1,
$MOVE_Center$, 0, 6.2831852, 0 )
MOVE(
$MOVE_Center$) = (
%MOVE_velocity%, 6.2831852, 0, 0 )
A wheel with radius 1m, the center of which is originally at (0, 0, 1), moves forward in x-direction with a speed of 6.2831852m/s.
The rotation is put accordingly to (0, 6.2831852, 0) such that it turns out to be a rolling movement with 1 rotation per second.
Virtual Rotation
In some cases, for instance for deformed tyres, the user does not actually want to rotate the tyre, but only wants to apply the rotation boundary condition to the flow. If the tyre would rotate, the deformation would rotate as well, such that it would have to be recomputed in every time step.
MOVE(
$MOVE_index$) = (
%MOVE_TranslationRotation%, 0, 0, 1,
$MOVE_Center$, 0, 6.2831852, 0,
%MOVE_VirtualRotation% )
MOVE(
$MOVE_Center$) = (
%MOVE_velocity%, 6.2831852, 0, 0 )
%MOVE_VirtualRotation% lets the tyre translate with
$MOVE_Center$ but not rotate. For the velocity boundary conditions, however, the rotational speed is provided. That especially refers to the following
BC_v-conditions:
Note: If
EULERIMPL or
EULER is used, make sure that for the corresponding boundary elements
IDENT%IDENT_wall% is set to avoid real movements of the point cloud.
Data Caching
For large data sets (geometry) whose movement depends on time only and not on space, the performance can be improved by data caching.
%MOVE_InvokeDataCaching%: Data caching is recommended for performance reasons if the movement is not dependent on space variables and only dependent on time.
Note: -
- MESHFREE does not check for space dependence because it would mean to check every node point of the geometry in every time step. This check could be costly depending on the geometry model.
- Ensure that you follow the correct order: %MOVE_InvokeDataCaching% must be the last optional argument.