Block-Structured Meshes

From HOPR
Jump to: navigation, search

Parameter File

This is the parameter file, which is also found in

tutorials/3-01-agglomeration_NACA/parameter.ini

Restrictions on the block-structured mesh readin

  • If meshes are used to create curved elements, a unique factor should be present in the i,j,k element count of all blocks!!
  • Boundary Conditions:
    • Attention: One block face can only be associated to one boundary condition. Block faces with mixed BCs or BC and internal faces a likely to produce wrong mesh topology!!
      Split blocks in this case, else you will get problems in the mesh connect step!
    • Each boundary conditions must be specified in the inifile by its name and an associated Boundary Type:
BoundaryName = wall_1
BoundaryType = (/4,0,0,0/)
BoundaryName = wall_2
BoundaryType = (/4,0,0,0/)
You can combine multiple BCs by using only a common part of the boundary name string (here for example BoundaryName=wall)

Initial Meshes

The use of block-structured meshes enables the generation of fully three-dimensional curved elements by agglomeration of a specific block of elements, leading to a very simple and robust curving technique. In order to illustrate block-structuring and agglomeration, enabled by the new parameter MeshIsAlreadyCurved, two initally fine meshes of a NACA-profile are provided as CGNS files, mesh 1 without boundary layer refinement and mesh 2 with boundary layer refinement:

Mesh 1:
NACA0012_icem_32elems.cgns
Mesh 2:
NACA0012_icem_viscous_32elems.cgns
Picture 1: Overall view of initial mesh 1
Picture 2: Close-up image of mesh 1 of the leading edge of the NACA-profile
Picture 3: Overall view of initial mesh 2
Picture 4: Close-up image of mesh 2 of the leading edge of the NACA-profile

All of the following pictures were created with mesh 1.


Agglomeration Curving Technique

When using agglomeration, the important parameters are

MeshIsAlreadyCurved=T
useCurved=T
BoundaryOrder=5

and they lead to a coarsening in all three dimensions of the structured mesh, using the internal points as interpolation points for the curved mapping. The number of elements in each direction of the structured block must be a multiple number of BoundaryOrder-1!!! This situation is explained on an exemplary mesh in picture 5. For BoundaryOrder = 2 the initial linear mesh is found and no agglomeration is done.

Picture 5: Block-structuring with the parameter BoundaryOrder=2/3/5, (BoundaryOrder-1)^3 elements are grouped together.


In addtion, the parameter nskip to coarsen the initial mesh.

Description of Parameters

Below all new parameters that are associated with agglomeration are explained. A description of all parameters can be found in List of Parameters.

Parameters Setting Description
MeshIsAlreadyCurved T T (True): Enables the agglomeration
F (False): Disables the agglomeration
nskip 2 Coarsen block-structured meshes:
1: no skip
2: use every second point
...
nskipZ 2 Only if the mesh is extruded in z-direction, a different nskip can be given in z-direction.
Picture 6: Front view of the leading edge with the initial mesh configuration. All elements and edges are linear
Picture 7: Front view of the leading edge of the mesh with the following setting:
BoundaryOrder = 5
One block consists of 4x4x4 = 64 elements. The blocks' edges (blue lines) are the boundary of the curved elements. The initial structured mesh is shown in grey. All nodes/connections of the white lines are interpolation points
Picture 8: Generated curved high order mesh by agglomeration.

Coarsening

For coarsening two new parameters are provided: nskip applies to all structured directions equally, and nskipZ can be used for z-extruded meshes.

nskip Variations:

Picture 9: Initial mesh 1
nskip =1
Picture 10: Mesh by following parameter setting:
nskip = 2
Picture 11: Mesh by following parameter setting:
nskip = 4
Picture 12: Coarsen mesh by following parameter setting:
nskip = 8

The mesh on the left side shows the initial mesh with an initial element, shown in grey. The parameter nskip=1 uses every point of the initial mesh. The mesh in the middle shows the mesh if nskip is set to 2. That means that one node in each direction of the respective coordinate system is skipped and that the size of the new element reaches to the next node. The skipped nodes will not be used for the mesh anymore, also not for curving.
The parameter nskipZ is has the same function as nskip but only for the z-direction. As a consequence of a setting of this parameter the skip level in z-direction by the parameter nskip will be repealed.

In section Output Visualization a few different parameter settings are illustrated for the NACA-profile. Take into account that the block-structuring will only work if the value for the parameter(s) nskip (and nskipZ) is a common divisor of the number of all mesh elements for each axis!!!

nskip-nskipZ Combinations:

Picture 13: View of mesh 1 by following parameter setting:
nskip  = 2
 !nskipZ = ..
Picture 14: View of mesh 1 by following parameter setting:
nskip  = 2
nskipZ = 1
Picture 15: View of mesh 1 by following parameter setting:
nskip  = 2
nskipZ = 2
Picture 16: Oblique view of mesh 1 by following parameter setting:
nskip  = 2
nskipZ = 4

Correction for z-extruded Meshes

This function does not only apply to block-structured meshes, but to all meshes which are extruded along the z-direction! There are five more new parameters by which one can change special properties of z-extruded meshes like for example length, starting point.

Parameters Setting Description
doZcorrection F T (True): Can only be applied to z-extruded meshes: All elements are aligned exactly along z-direction to suppress grid generator errors
F (False): Correction is disabled
nElemsZ 1 The number of elements in z-direction (after agglomeration!)
zstart 0. Set minimum z-coordinate
zLength 1.0 Set length of domain in z-direction
zperiodic T T (True): The Boundary conditions (here z_plus and z_minus) are set to periodic ones.
F (False): Default. No change of the boundary condition.

The boundary periodicity can be set here to be applied after the mesh connectivity process. The boundary condition type of the z-faces should then be set to >1,(because of tolerance issues, problems during connectivity process are found if the boundary conditions are set to periodic) and then periodicity is then applied afterwards in the z-correction process.

Output Visualization

The pictures here were visualizations of the mesh NACA0012_icem_32elems.cgns. Therefore, the files NACA0012_VISCOUS_Debugmesh.vtu (pictures 1-4,9-16) and NACA0012_VISCOUS_SplineVol.vtu (picture 6-8) were used. The volume visualization can become quickly a large file. The number of elements can be reduced by the parameter

Visu_sJ_limit= 0.1                  ! for DebugvisuLevel=2, only write elements with a scaled Jacobian < given limit

that skips elements with a scaled Jacobian > limit.

If there is a need for assistance of visualizing the HOPR output visit Visualization.

Back to Home