AMIInterpolation and cyclicAMI have been superseded by patchToPatch and
nonConformalCoupled, respectively.
The motivation behind this change is explained in the following article:
https://cfd.direct/openfoam/free-software/non-conformal-coupling/
Information about how to convert a case which uses cyclicAMI to
nonConformalCoupled can be found here:
https://cfd.direct/openfoam/free-software/using-non-conformal-coupling/
83 lines
3.5 KiB
Plaintext
83 lines
3.5 KiB
Plaintext
Overview
|
|
========
|
|
+ Template case for rotating geometry flow with single inlet and outlet
|
|
+ Can be used for MRF or NCC simulations.
|
|
+ Setup to run the incompressibleFluid solver module for MRF or NCC
|
|
+ The case is designed to be meshed with snappyHexMesh
|
|
+ snappyHexMesh is setup to use 3 trisurface files
|
|
+ fixed.obj: CAD of the stationary (external) geometry
|
|
+ rotating.obj: CAD of the rotating geometry
|
|
+ rotatingZone.obj: CAD of surface bounding the rotating region
|
|
+ Copy the *.obj files to the constant/geometry directory
|
|
+ The fixed.obj should contain an inlet and outlet region to create the relevant
|
|
patches in the mesh
|
|
|
|
Background Mesh
|
|
===============
|
|
+ The blockMeshDict file contains a configuration for a cylindrical background
|
|
mesh aligned along the z-axis
|
|
+ The mesh includes a core box-shaped block and inner and outer cylinders
|
|
+ The backgroundMesh subdictionary includes key geometric parameters of the mesh
|
|
+ The inner cylinder relates to the rotatingZone.obj
|
|
+ The outer cyliner relates to the external boundary, e.g. fixed.obj
|
|
+ Set the radii of inner and outer cylinders to ~2% larger than respective OBJ
|
|
files
|
|
+ The background mesh can define the external boundary by uncommenting
|
|
entries, e.g. inlet, in the boundary section of blockMeshDict
|
|
+ Set background mesh density with boxCells, inCells, outCells and zCells
|
|
+ Run blockMesh
|
|
+ NOTE: An alternative blockMeshDict-box file exists if the user wants a regular
|
|
box-shaped background mesh, similar to set up in the inflowOutflow template
|
|
|
|
Features
|
|
========
|
|
+ Run surfaceFeatures to extract features for explicit feature capturing
|
|
|
|
Castellated Mesh
|
|
================
|
|
+ In the snappyHexMeshDict file, replace <inletPatch> with the name of the inlet
|
|
region in the fixed.obj file, if it defines the external boundary
|
|
+ Replace <outletPatch> with the name of the outlet region
|
|
+ run snappyHexMesh to obtain a castellatedMesh
|
|
+ Review the mesh; modify refinement levels and regenerate the mesh as required
|
|
(levels are set in refinementSurfaces and refinementRegions)
|
|
|
|
Snapped Mesh
|
|
============
|
|
+ In snappyHexMeshDict, set castellatedMesh off; snap on;
|
|
+ Run the snapping phase of snappyHexMesh
|
|
+ Review the mesh
|
|
|
|
Layers
|
|
======
|
|
+ To add layers to the mesh along wall boundary patches...
|
|
+ Switch on addLayers; switch snap off;
|
|
+ Run snappyHexMesh
|
|
+ The number of layers can be changed by modifying nSurfaceLayers
|
|
|
|
Initialisation
|
|
==============
|
|
+ In the field files in the 0 directory, set inlet values
|
|
+ For example, in 0/U, set the inlet velocity Uinlet
|
|
+ Set the viscosity in constant/transportProperties
|
|
+ Rotating properties are set in constant/rotatingZoneProperties
|
|
+ For MRF, this file is included from constant/MRFProperties
|
|
+ For NCC, this file is included from constant/dynamicMeshDict
|
|
+ Ensure settings are appropriate in controlDict, fvSchemes, fvSolution, for
|
|
relevant simulation; for NCC, in particular, ensure that deltaT, ddtSchemes
|
|
and relaxationFactors are set for transient simulation
|
|
|
|
NCC Simulation
|
|
==============
|
|
+ After the mesh is generated, the couple must be created at the boundary
|
|
of the rotatingZone
|
|
+ createBaffles must first be run to generate two non-coupled patches from
|
|
the faces in the faceZone bounding the rotatingZone, e.g. by
|
|
createBaffles -overwrite
|
|
+ splitBaffles must then be run to duplicate the vertices shared by the
|
|
non-coupled patches to enable them to move independently, e.g. by
|
|
splitBaffles -overwrite
|
|
+ createNonConformalCouples must then be run to generate the couple patches
|
|
required by NCC, e.g. by
|
|
createNonConformalCouples -overwrite
|