-
Notifications
You must be signed in to change notification settings - Fork 53
Feature Curved meshes
t8code
has the functionality to read in a mesh file along with the geometry file used to generate the mesh. With this parallel read in, we can generate curved adaptive meshes, as we call them. The curved adaptive meshes then are refined along the original geometry. This is shown in the following figure.
To use this feature, we have to fulfill some requirements:
-
t8code
has to be linked toOpenCASCADE
. This is done via the configure option--with-occ
. - The used mesh has to be written in the
Gmsh
's.msh
4.X format. Moreover, the parametric export option fromGmsh
has to be enabled. - The geometry file has to be written in
OpenCASCADE
's.brep
format. - The mesh has to be hex-only.
Generally, we can use every Software, which supports the .brep
file format: FreeCAD
, Gmsh
, TiGL
(all based on OpenCASCADE
) to name a few. But we can also use OpenCASCADE
itself.
Note: If you are using Gmsh
for the generation of geometries, make sure to export the geometry into a .brep
file and import it again before meshing. Gmsh
has an internal geometry indexing system based on the order of geometry generation. In the resulting .brep
file, the geometries have different indices than in Gmsh
itself. This can result in different .msh
files in which the mesh nodes are attributed to the wrong geometries. By reloading the .brep
file into Gmsh
, Gmsh
adapts the indexing of the .brep
file.
Henceforth, we are going to generate a geometry and mesh with Gmsh
. For this, we use the scripting language .geo
from Gmsh
. If we take a look at the t8_features_curved_meshes_generate_cmesh.geo
file in the tutorials directory, we can see how the geometry and mesh are created.
After the two-dimensional definition of the NACA geometry, it is extruded and meshed hex-only. Note, that the .brep
file is reloaded before the meshing, as discussed before.
Installation Guide
Configure Options
Setup t8code on JUWELS and other Slurm based systems
Setup t8code for VTK
General
Step 0 Hello World
Step 1 Creating a coarse mesh
Step 2 Creating a uniform forest
Step 3 Adapting a forest
Step 4 Partition,-Balance,-Ghost
Step 5 Store element data
Step 6 Computing stencils
Step 7 Interpolation
Features
Documentation
Tree Indexing
Element Indexing
Running on JUWELS using Slurm
Overview of the most used API functions
Known issues
Workflow - FreeCAD to t8code
Reproducing Scaling Resluts
Coding Guidelines
Tips
Debugging with gdb
Debugging with valgrind
Test driven development
Testing with GoogleTest
Writing C interface code