[version 12][version 11][version 10][version 9][version 8][version 7][version 6]
6.2 Geometric constraints
Section 5.3 describes the mesh boundary, which is split into patches and written in the mesh boundary file. Each patch includes a type entry which can be specified as a generic patch, a wall or a geometric constraint, e.g. empty, symmetry, cyclic etc.
For each geometric constraint type for a patch in the mesh, there is an equivalent boundary condition type that must be applied to the same patch in the boundaryField of a field file. The type names in the mesh and boundaryField are the same, e.g. the symmetry boundary condition must be applied to a symmetry patch.
To simplify the configuration of field files, OpenFOAM includes a file named setConstraintTypes in the $FOAM_ETC/caseDicts of the installation. The setConstraintTypes file contains the following entries.
9cyclic 10{ 11 type cyclic; 12} 13 14cyclicSlip 15{ 16 type cyclicSlip; 17} 18 19nonConformalCyclic 20{ 21 type nonConformalCyclic; 22 value $internalField; 23} 24 25nonConformalError 26{ 27 type nonConformalError; 28} 29 30empty 31{ 32 type empty; 33} 34 35processor 36{ 37 type processor; 38 value $internalField; 39} 40 41processorCyclic 42{ 43 type processorCyclic; 44 value $internalField; 45} 46 47nonConformalProcessorCyclic 48{ 49 type nonConformalProcessorCyclic; 50 value $internalField; 51} 52 53symmetryPlane 54{ 55 type symmetryPlane; 56} 57 58symmetry 59{ 60 type symmetry; 61} 62 63wedge 64{ 65 type wedge; 66} 67 68internal 69{ 70 type internal; 71} 72 73 74// ************************************************************************* //
The file exploits the fact that a patch which is a geometric constraint is automatically included in a group of the constraint name, e.g. a symmetry patch is in a group named symmetry. The entries therefore set a boundary type for each constraint group (to the name of the group). All constraint conditions are covered by an entry for each condition.
The user can then include this file inside the boundaryField of their field files. Since the file is in the $FOAM_ETC directory it can be included using the special #includeEtc directive, e.g. in the boundaryField entry below.
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
wall
{
type zeroGradient;
}
#includeEtc "caseDicts/setConstraintTypes"
}