Dynamic mesh control
Dynamic mesh control Deformation Rotational motion
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
Dynamic mesh related problems
Motion of object in fluid
Body motion with boundaries (wall, ground, free surface) requires dynamic mesh (alternative solution is overset mesh) Note: If all the outer boundaries are open, deformation is not needed
Rotating machine (open test)
Moving Reference of Frame (MRF)
Rotating machine with casing
Sliding mesh technique
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
pimpleDyMFoam solver
movingCone case
Mesh: solution of Laplacian solver
Needs velocity boundary condition of mesh
wingMotion case
snappyHexMesh : meshing simpleFoam : prepare steady flow field pimpleDyMFoam : flow simulation with motion
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
OpenFOAM cases of dynamic mesh
MRF example
incompressible/MRFSimpleFoam/mixerVessel2D Static mesh in rotating coordinates
Dynamic mesh example
incompressible/pimpleDyMFoam
movingCone : Defomation of mesh mixerVesselAMI2D : wingMotion
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
Arbitrary Mesh Interface (AMI)
AMI is for un-matched/non-conformal cyclic patch pairs sliding interfaces, e.g. for rotating machinery mapped patches, e.g. for coupling simulations between separate mesh regions, such as surface film and bulk flow.
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
Rotating turbine example
Prepare Fluent case files of rotating part and stationery part separately
[Link] and [Link]
Convert the Fluent case files to OpenFOAM case directory
fluentMeshToFoam writeZone writeSets [Link] fluentMeshToFoam writeZone writeSets [Link] Point is providing two cases
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
Merge two meshes
$ mergeMesh inner outer
It creates merged mesh in run/inner/1e-5 (something like that) Directory name is the "first time step" determined by controlDict
Create rotating simulation case
Prepare mycase/system and mycase/constant Copy inner/1e-5/polymesh to the new case
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
Create cellZone data in the new case
splitMeshRegions -makeCellZones overwrite
Edit constant/polymesh/boundary and set AMI patches
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology
inner-AMI { type cyclicAMI; nFaces 16; startFace 304; matchTolerance 0.0001; neighbourPatch outer-AMI; transform noOrdering; }
outer-AMI { type cyclicAMI; nFaces 16; startFace 320; matchTolerance 0.0001; neighbourPatch inner-AMI; transform noOrdering; } Then edit boundary condition and run the simulation
H. AKIMOTO, Division of Ocean Systems Engineering (OSE), Korea Advanced Institute of Science and Technology