External Meshes with Curved Boundaries
Contents
Parameter File
This is the parameter file, which is also found in
tutorials/2-02-external_meshes_sphere/parameter.ini
Mesh Curving Techniques
In the development of the next generation of numerical methods for CFD, high order methods are promising a substantial increase in efficiency and accuracy. While the particular high order methods can be very distinct, they have in common that they must rely on a high-order approximation of curved geometries to maintain their high-order of accuracy. The generation of curved meshes is thus a topic whose importance cannot be overstated, if one truly wants to apply high order methods to problems with industrial relevance. Especially aerospace applications heavily rely on complex geometries and pose high requirements to the quality of geometry representation.
HOPR provides several strategies to produce high order meshes, relying on linear meshes, which are the standard of today's state-of-the-art meshing software and can be generated by commercial mesh generation tools. The two main strategies can be selected with the parameter curvingMethod. Therefore, the parameter useCurveds has to set to T.
Parameters | Setting | Description |
---|---|---|
curvingMethod | 1 | 0: No curving method activated. 1: Curving with normal vectors at surface points. 3: Curving with subdivided surface mesh. |
Curving Using Normal Vectors
Using normal vectors at the surface points, one can reconstruct the curved boundary face. Normal vectors can either be reconstructed from the existing coarse mesh, given in a point-normal file or prescribed analytically. The way of providing the normal vectors can be selected with the parameter NormalsType. For each setting a different number of new but self-explanatory parameters are mandatory. These parameters are listed below.
It has to be taken into account that for generating the curved boundary splines the parameter boundaryOrder has always to set to 4 for a normal vector approach. Otherwise HOPR will maybe not work correctly.
Description of Parameters
Below all parameters which are mandatory for this curving technique are explained. A description of all parameters can be found in List of Parameters.
Parameters | Setting | Description |
---|---|---|
NormalsType | 1 | Source of the normal: 1: Reconstructed from coarse surface mesh (no additional parameters, CurveIndex of BC must be >0). 2: NormalVectFile(point normal vector file) needed 3: Analytical normals from surface point positions |
NormalVectFile | filename | special file format associating surface points and normal vectors. Mandatory if NormalsType=2 |
nExactNormals | 1 | Number of association between BC CurveIndex and analytical normal. Mandatory if NormalsType=3 |
ExactNormals | (/1,1/) | (/ 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 Mandatory if NormalsType=3 |
boundaryOrder | 4 | Not used here, fixed to cubic polynomial |
Output Visualization
The pictures below show the visualizations of the boundary sphere (BoundaryType=(/4,1,0,0/)) of the meshes spheremesh01.cgns (picture 4-6), spheremesh02.cgns (picture 8-10) and spheremesh04.cgns (picture 12-14) for the three different normal vector approaches. Therefore, the SPHERE_CURVED_SplineSurf.vtu file was used. Furthermore, for the second normal vector approach (NormalsType=2) the point normal vector file normals_out_000001.dat was used (called filename in the captions).
For the purpose of comparison the surfaces of the original meshes the boundary sphere were assigned to are also shown (picture 3, 7, 11) and were visualized with the SPHERE_CURVED_Debugmesh_BC.vtu file.
If there is a need for assistance of visualizing the HOPR output visit Visualization.
spheremesh01
spheremesh02
spheremesh04
Curving Using Subdivided Surface Mesh
Here, we need an additional surface mesh file, which contains a surface mesh (in CGNS format) generated by a mesh generator from the initial coarse surface mesh by subdivision. The additional surface points are lying on the CAD geometry and are then used as interpolation points for the polynomial description of the element face.
Description of Parameters
Below all parameters which are mandatory for this curving technique are explained. A description of all parameters can be found in List of Parameters.
Parameters | Setting | Description |
---|---|---|
SplitElemFile | filename | Name of suvdivided surface mesh. Mandatory if curvingMethod=3 |
boundaryOrder | 5 |
Order of spline-reconstruction for curved surfaces, corresponding to the number of subdivisions |
Output Visualization
The pictures below show the visualization of the SPHERE_Debugmesh_BC.vtu file by using the mesh file spheremesh01.cgns (picture 3-6), spheremesh02.cgns (picture 7-10) and spheremesh01.cgns (picture 11-14). In addition, for each file three examples with a different subdivision of the surface mesh are given.
If there is a need for assistance of visualizing the HOPR output visit Visualization.
spheremesh01
spheremesh02
spheremesh04
Use of pre-curved meshes
In some situations the input mesh is already curved, e.g. when HOPRs own meshes are used for input or if the mesh generator already provides curved meshes (e.g. Gmsh). HOPR will read these meshes and directly use their high-order information. Existing high-order meshes from other sources can thus be directly translated into the HOPR format. Furthemore HOPR's various mesh post-processing capabilities can be applied to these meshes and the mesh curving can optionally also be redone by using the normal vector and the subdivision approach described above.
Description of Parameters
Below the mandatory parameters for reading a Gmsh mesh file are described. Note that in case of Gmsh meshes HOPR only supports linear pyramids and prisms, while tetrahedra and hexahedra are supported up to order 4. A description of all parameters can be found in List of Parameters.
Parameters | Setting | Description |
---|---|---|
Filename | cylinder.msh | Name of mesh file. |
boundaryOrder | 4 |
Order of the geometry approximation in the mesh, i.e. the number of interpolation points per direction. |
Output Visualization
The pictures below show the visualization of the CYLINDER_SplineVol.dat file by using the mesh file cylinder.msh.