4. List of Parameters

Table 4.1 List of parameters

Parameters

Example

Data Type

Array Dim.

Default Value

Description

BCIndex

BCIndex=(/1,2,3,4,5,6/)

Int

6

MANDATORY

The parameter assigns a bondary condition to each surface of the cartesian box in order of the
surfaces. The number of a vector’s component represents the nth boundary condition in order of its position
in the file. Hence, each position refers to the six box sides (/z-,y-,x+,y+,x-,z+/). In this example six different
boundary conditions were assigned to the box surfaces. In case of a boundary condition defined on several
faces, the components belonging to these faces will be equal in the BCIndex vector. In case of multiple
cartesian boxes there are surfaces which coincide with other ones. To such surfaces no boundary condition
can be assigned. Therefore, the number of the corresponding vector’s component is set to 0. For example, if all
components of the parameter BCIndex are set to (/0,0,0,0,0,0/) the box will be surrounded completely
by six other boxes so that no boundary condition can be assigned to a single surface.

BoundaryName

BoundaryName=BC_zminus

Str

1

MANDATORY

Name of the boundary condition

BoundaryOrder

BoundaryOrder=5

Int

1

2

Order of spline-reconstruction for curved surfaces

BoundaryType

BoundaryType=(/4,0,0,-1/)

Int

4

MANDATORY

The parameter consists of four components to set: (/ Type, curveIndex, State, alpha /). For a single
cartesian box only the component Type has to be set to an arbitrary number > 1.
The other components have to be set to 0;
For a periodic boundary condition the component Type has always to set to “1”. The fourth component alpha
assigns a displacement vector vv and its direction (-/+) to the periodic boundary. An alpha of “-1” means that
the first (“1”) defined displacement vector is assigned to this surface in the opposite direction (“-1”).
For curved-structured meshes the component curveIndex has to be set to “1”.

checkElemJacobians

checkElemJacobians=T

Logical

1

(MANDATORY)

T (True): The Jacobian matrices are checked and scaled for each element (if useCurveds=T)
F (False): The Jacobian matrices are not checked and scaled for each element

conformConnect

conformConnect=T

Logical

1

T

T (True): Fast connect for conforming meshes (coarse geometry-adapted search mesh)
F (False): Finer search mesh for non-conforming meshes

Corner

Corner=(/0.,0.,0. ,,1.,0.,0. ,,1.,1.,0. ,,0.,1.,0. ,,0.,0.,1. ,,1.,0.,1. ,,1.,1.,1. ,,0.,1.,1. /)

Real

24

(MANDATORY)

Coordinates of the box’s corner nodes in the three-dimensional cartesian coordinate system (if Mode=1).
The nodes have to be in the order as illustrated in Fig. 4.1 with each node using
(x,y,z) coordinates. Furthermore the corner nodes define the six surfaces of the cartesian box, see Table 4.2.

curvingMethod

curvingMethod=1

Int

1

0

0: No curving method activated.
1: Curving with normal vectors at surface points.
3: Curving with subdivided surface mesh.

Debugvisu

Debugvisu=T

Logical

1

F

T (True): Files will be generated, which enable you to visualize the mesh and the boundary mesh for
debugging. These files can be found in the directory of the executed parameter.ini file.
F (False): Files for visualization will not generated during executing of the parameter.ini file.

DebugvisuLevel

DebugvisuLevel=1

Int

1

0

0: Visualization of linear mesh and BC (default).
1: Visualization of linear mesh and BC and an additional curved surface visualization (_SplineSurf.*) if useCurveds=T.
2: Visualization of linear mesh and BC and an additional curved volume visualization (_SplineVol.*) if useCurveds=T.

doExactSurfProjection

doExactSurfProjection=F

Logical

1

F

T (True): Project high order nodes onto analytical description of the surface.
F (False): No projection.

dozcorrection

dozcorrection=F

Logical

1

F

T (True): All elements are aligned exactly along z-direction to suppress grid generator tolerances
F (False): Correction is disabled

DXmaxToDXmin

DXmaxToDXmin=(/6.,100.,1./)

Real

3

(/0.,0.,0./)

The parameter specifies the frame ratio of the maximum element size to the minimum element size for the
stretched element arrangement for curved-structured meshes. The value 1 is used typically for a deactivated stretching.

DZ

DZ=2

Real

1

(MANDATORY)

Dimension in z-direction (if Mode=11): [-DZ,DZ]

elemtype

elemtype=108

Int

1

MANDATORY

Type of cells/elements used for discretization:
104: Tetrahedron
105: Pyramid
106: Prism with triangular base
108: Hexahedron

ExactNormals

ExactNormals=(/1,1/)

Int/Real

2

(/0,0/)

(/ BC curveIndex, number of analytical formula/). Build in formulas (see src/mesh/curved.f90):
1: Sphere with origin (0,0,0)
2: Cylinder around z-axis

ExactSurfFunc

ExactSurfFunc=(/1,1/)

Int

2

(/0,0/)

(/curv index, surface function index/). Surface function:
1: Sphere with origin (0,0,0) and radius 0.5
2: Cylinder around z-axis and radius 0.5
3: NACA 0012 profile in xy plane with length 1 and origin in leading edge

fac

fac=(/1.5,2.2,10/)

Real

3

(/0,0,0/)

Stretching factor of the elements in the direction of the turned local cylindrical coordinate axis. The value 0
is only allowed if the stretching function for this axis is deactivated (stretchType vector component for this
axis is 0). A value of the intervall (0,1) means a decrease. The value 1 does not affect the element sizes and
means a deactivation of the stretching function for this axis. A value >1 means an increase of the element
size in the direction of the coordinate axis. Furthermore the stretching behaviour can be mirrored by adding
a negative sign to the values. If the stretchType vector component for an axis is 3, the factor will be multiplied
by -1 if the half distance is reached. In addition, fac has not the significant influence on the element arrangement
anymore but the parameter DXmaxToDXmin.

factor

factor=(/-1.75,1,-1.5/)

Real

3

(/0,0,0/)

Stretching factor of the elements in the direction of the cartesian coordinate axes. The value 0 is only allowed
if the stretching function for this axis is deactivated (stretchType vector component for this axis is 0). A value
of the intervall (0,1) means a decrease. The value 1 does not affect the element sizes and means a deactivation
of the stretching function for this axis. A value >1 means an increase of the element size in the direction of
the coordinate axis. Furthermore the stretching behaviour can be mirrored by adding a negative sign to the
values. A combination with the parameter l0 ignores the element number of the defined box.

filename

filename=spheremesh.cgns

Str

1

(MANDATORY)

The name of the external mesh file (if Mode=2/3/4/5). Path is relative to the parameter file.

jacobianTolerance

jacobianTolerance=1.E-16

Real

1

If the Jacobian at a sampling point is lower than this value, a bilinear or curved element is considered broken.
Value should be adapted based on the mesh size and/or scaling.

l0

l0=(/0,1,5,0/)

Real

3

(/0,0,0/)

The length of the first element of a stretched element arrangement of a cartesian box. Each component of
the vector stands for an axis of the cartesian coordinate system. The value 0 means a deactivation of the
stretching function for this axis. A negative sign defines the length of the first element of the other side of
the box. A combination with the parameter factor ignores the element number of the defined box.

lowerZ_BC,upperZ_BC

lowerZ_BC=(/2,1,0,0/)

Int

4

(MANDATORY)

Defines boundary conditions for 2D meshes which are extruded to 3D in the extrusion direction (if MeshDim=2),
same structure as for BoundaryType, BC names will be lowerZ_BC,upperZ_BC

MeshIsAlreadyCurved

MeshIsAlreadyCurved=T

Logical

1

F

T (True): Enables the agglomeration
F (False): Disables the agglomeration

meshscale

meshscale=0.001

Real

1

1

Scales all input meshes by a factor

Meshtype

Meshtype=3

Int

1

(MANDATORY)

1: Cube (origin + dimensions, if Mode=11)
2: Bilinear (8 points CGNS notation)
3: Curved (add WhichMapping)

Mode

Mode=1

Int

1

MANDATORY

Mode of mesh generation:
1: Cartmesh (internal)
2: Gambit (NEU, external)
3: CFD General Notation System (CGNS, external)
4: STAR-CD (external)
5: Gmsh (MSH, external)
11: Curved-structured mesh

nAnalyze

nAnalyze=5

Int

1

BoundaryOrder+2

Number of points used for mesh analysis, e.g. defines the number of points to sample an elements’ Jacobian
if checkElemJacobians is active.

nCurvedBoundaryLayers

nAnalyze=3

Int

1

-1

If domain is curved, try to uncurve it and leave only the sides with BCs specified (i.e. curveIndex >0) curved
-1: deactivated,
0: only boundary is curved,
1: only first element is curved,
2-n: first n layers from the boundary are curved

nElems

nElems=(/2,3,4/)

Int

3

(MANDATORY)

Number of elements per box in the direction of the coordinate axes (if Mode=1): (/nElemX,nElemY,nElemZ/)

nElemsZ

nElemsZ=1

Int

1

(MANDATORY)

The number of elements in z-direction (if doZcorrection = T or MeshDim = 2)

nExactNormals

nExactNormals=1

Int

1

(MANDATORY)

Number of association between BC CurveIndex and analytical normal (if NormalsType=3)

nFineHexa

nFineHexa=2

Int

1

1

Split all hexahedra in each direction by this factor, no refinement if nFineHexa=1

NormalsType

NormalsType=2

Int

1

1

Source of the normal:
1: Reconstructed (no additional parameters, CurveIndex of BC must be >0).
2: NormalVectFile (point normal vector file) needed
3: Analytical normals

NormalVectFile

NormalVectFile=filename

Str

1

(MANDATORY)

Special file format associating surface points and normal vectors (if NormalsType=2)

nSkip

nSkip=2

Int

1

(MANDATORY)

Coarsen block-structured meshes (if MeshIsAlreadyCurved = T):
1: no skip
2: use every second point
N: use every Nth point

nSkipZ

nSkipZ=2

Int

1

1

If mesh is z-extruded a different skip can be given in z-direction.

NVisu

NVisu=5

Int

1

0

Number of visualization points per element edge if useCurveds=T.

nZones

nZones=1

Int

1

MANDATORY

Number of zones / cartesian boxes if Mode=1: The Parameter has to set to 1 if Mode=11

outputFormat

outputFormat=1

Int

1

0

0: Paraview vtk (ASCII)
1: Tecplot (ASCII)
2: CGNS (binary)

ProjectName

ProjectName=cartbox

Str

1

MANDATORY

Part of the file name of the output files (_mesh.h5 will be added automatically), found in the
directory of the executed parameter.ini file.

R_0

R_0=0.5

Real

1

(MANDATORY)

Inner radius of curved structured mesh (if Mode=11). The value 0 is not allowed.

R_INF

R_INF=20

Real

1

(MANDATORY)

Outer radius of curved structured mesh (if Mode=11)

SpaceQuandt

SpaceQuandt=1.0

Real

1

0.1

Characteristic length of the mesh

SplitElemFile

SplitElemFile=filename

Str

1

(MANDATORY)

Name of suvdivided surface mesh (if curvingMethod=3)

SplitToHex

SplitToHex=T

Logical

1

F

If enabled, tetrahedra and prisms are subdivided to yield pure hexahedral meshes.
Hexahedra are also subdivided to guarantee a conforming connection.
NOTE: Pyramids cannot be split, this function cannot be used with pyramids present in the mesh.

stretchType

stretchType=(/3,1,0/)

Int

3

(/0,0,0/)

This parameter manages the (de)activation of the stretching functions for the three axis.
0: Stretching in direction of the axis is deactivated
1: Stretching in direction of the axis is activated
3: Stretching in direction of the axis is activated and from the second half of the mesh distance on the stretching
factor is multiplied by -1.

useCurveds

useCurveds=T

Logical

1

F

T (True): If curved boundaries are defined
F (False): If no curved boundaries are defined

vv

vv=(/0,0,1./)

Real

3

(/0,0,0/)

The displacement vector has to be specified in the three-dimensional cartesian coordinate system and has to be
normal to a surface the vector was assigned to. In addition the displacement vector has to show to the inside
of the cartesian box. In case of two parallel surface-planes, both with periodic boundary conditions, just one
displacement vector has to be defined. Therefore the different directions of the vectors can be compensated
by switching the sign of alpha, the fourth component of the BoundaryType vector.
The displacement vector has to be as long as the distance between the surfaces the vector was assigned to.
The index of a displacement vector is defined by the position of its definition like the parameter BCIndex.
Several definitions of boundary conditions between two definitions of displacement vectors will not affect
the index of the displacement vectors.

WhichMapping

WhichMapping=4

Int

1

MANDATORY

Type of mapping using 6 boundary faces to build the curved structured mesh (if Meshtype=3):
3: Half cylinder
4: Full cylinder

zLength

zLength=1.0

Real

1

1

Change (3D) or define (2D) length of domain in z-direction (if doZcorrection = T or MeshDim = 2).

zperiodic

zperiodic=T

Logical

1

F

T (True): The boundary conditions z_plus und z_minus are set to periodic (if doZcorrection = T).
F (False): The boundary conditions z_plus und z_minus remain non-periodic.

zstart

zstart=0.

Real

1

0

Change minimum z-coordinate (if doZcorrection = T)

../_images/CartmeshZone_3d.jpg

Fig. 4.1 The cartesian box.

Table 4.2 Surface corner nodes mapping.

Surface

Corner Nodes

Position in the Cart. coordinate system

1

1-2-3-4

z < 0 plane (z-)

2

1-2-5-6

y < 0 plane (y-)

3

2-3-6-7

x > 0 plane (x+)

4

3-4-7-8

y > 0 plane (y+)

5

1-4-5-8

x < 0 plane (x-)

6

5-6-7-8

z > 0 (z+)