Previous: Internal motion Up: Internal motion Next: Dynamic mesh refinement
This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.
Test case: wingMotion
- This dynamic mesh method deals with internal mesh organization
- Copy tutorial test case wingMotion:
# run
# cp -r $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/wingMotion ./ - Test case is already set up
- Test case is two-dimensional
- Simple incompressible flow around the airfoil. The profile moves due to the fluid flow forces
Figure: wingMotion geometry
- The case is split into three directories:
wingMotion2D_pimpleFoam
wingMotion2D_simpleFoam
wingMotion_snappyHexMesh - Dynamic motion properties are set in dictionary:
wingMotion2D_pimpleFoam/constant/dynamicMeshDict :
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libsixDoFRigidBodyMotion.so");
solver sixDoFRigidBodyMotion;
- Parameter dynamicFvMesh specifies what kind of dynamic motions is used, for this test case it is dynamicMotionSolverFvMesh
- Parameter motionSolverLibs referes to the library to be used
- Parameter solver sets the solver for mesh reordering, for this test case it is sixDoFRigidBodyMotion
- Section sixDoFRigidBodyMotionCoeffs sets displacement properties of wing
sixDoFRigidBodyMotionCoeffs
{
patches (wing);
innerDistance 0.3;
outerDistance 1;
mass 22.9;
centreOfMass (0.4974612746 -0.01671895744 0.125);
momentOfInertia (1.958864357 3.920839234 2.057121362);
orientation
(
0.9953705935 0.09611129781 0
-0.09611129781 0.9953705935 0
0 0 1
);
angularMomentum (0 0 -2);
g (0 -9.81 0);
rho rhoInf;
rhoInf 1;
report on;
solver
{
type symplectic;
}
constraints
{
yLine
{
sixDoFRigidBodyMotionConstraint line;
centreOfRotation (0.25 0.007 0.125);
direction (0 1 0);
}
zAxis
{
sixDoFRigidBodyMotionConstraint axis;
axis (0 0 1);
}
}
restraints
{
verticalSpring
{
sixDoFRigidBodyMotionRestraint linearSpring;
anchor (0.25 0.007 0.125);
refAttachmentPt (0.25 0.007 0.125);
stiffness 4000;
damping 2;
restLength 0;
}
axialSpring
{
sixDoFRigidBodyMotionRestraint linearAxialAngularSpring;
axis (0 0 1);
stiffness 700;
damping 0.5;
referenceOrientation $orientation;
}
}
}
- The test case is precomputed by steady-state solver simpleFoam, results are used as initial conditions for following pimpleFoam computation
- Run the test case:9.1
# ./Allrun
# cd wingMotion2D_pimpleFoam
# paraFoam
Figure: Different times of dynamic motion
Previous: Internal motion Up: Internal motion Next: Dynamic mesh refinement