Dynamic Mesh
Moving Cell Zone
Moving Cell Zone일 때의 dynamicMeshDict 파일은 다음과 같다.
dynamicFvMesh dynamicMotionSolverListFvMesh;motionSolverLibs ( fvMotionSolvers );solvers{ anyName { motionSolver solidBody; solidBodyCoeffs { solidBodyMotionFunction multiMotion; multiMotionCoeffs { motion_name { solidBodyMotionFunction anyMotionFunction]; ... } } } cellZone "(anyCellZoneName)"; }}
Moving Boundary
Moving Boundary일 때의 dynamicMeshDict 파일은 다음과 같다.
dynamicFvMesh dynamicMotionSolverFvMesh;motionSolverLibs ( fvMotionSolvers );motionSolver displacementLaplacian;displacementLaplacianCoeffs{ diffusivity inverseDistance ( anyBoundaryName );}
Rigid Body Dynamics
Rigid Body Dynamics일 때의 dynamicMeshDict 파일은 다음과 같다.
dynamicFvMesh dynamicMotionSolverFvMesh;motionSolverLibs ( rigidBodyMeshMotion );motionSolver rigidBodyMotion;rigidBodyMotionCoeffs{ solver { type Newmark; //CrankNicolson;//symplectic; } accelerationRelaxation 0.1; accelerationDamping 1.0; bodies { anyName { type rigidBody; parent root; mass 15.0; centreOfMass (0 0 0.25); inertia (0.3625 0 0 0.0425 0 0.1625); transform (1 0 0 0 1 0 0 0 1) (0.5 0.45 0.1); patches ( floatingObject ); innerDistance 0.05; outerDistance 0.35; joint { } } }} restraints{}
Motion Functions of dynamicMeshDict
Rotating motion
dynamicMeshDict의 motion 정의는 다음과 같다.
multiMotionCoeffs{ anyMotionName { solidBodyMotionFunction rotatingMotion; rotatingMotionCoeffs { origin (0 0 0); axis (0 0 1); omega 2; } }}
Rotating Oscillation motion
dynamicMeshDict의 motion 정의는 다음과 같다.
multiMotionCoeffs{ anyMotionName { solidBodyMotionFunction oscillatingRotatingMotion; oscillatingRotatingMotionCoeffs { origin (0 0 0); amplitude (0 0 1); omega 2; } }}
Linear Translation motion
dynamicMeshDict의 motion 정의는 다음과 같다.
multiMotionCoeffs{ anyMotionName { solidBodyMotionFunction linearMotion; linearMotionCoeffs { velocity (0 0 1); } }}
Linear Oscillation motion
dynamicMeshDict의 motion 정의는 다음과 같다.
multiMotionCoeffs{ anyMotionName { solidBodyMotionFunction oscillatingLinearMotion; oscillatingLinearMotionCoeffs { amplitude (0 0 1); omega 2; } }}
Manual Position
dynamicMeshDict의 motion 정의는 다음과 같다.
multiMotionCoeffs{ anyMotionName { solidBodyMotionFunction tabulated6DoFMotion; tabulated6DoFMotionCoeffs { CofG (0 0 1); timeDataFileName "<constant>/fileName"; } }}
Prescribed Motion
Moving Boundary일 때 prescribed motion은 0 폴더의 pointDisplacement 파일에 다음과 같이 정의된다.
anyBoundaryName{ type solidBodyMotionDisplacement; value uniform (0 0 0); solidBodyMotionFunction multiMotion; multiMotionCoeffs { .... }}