tut3d_00

TUTORIAL 0: Checking the geometry

Goals of this Unit

  • Getting to know the requirements for geometry.
  • Determination of the orientation of surfaces and lines as well as the definition of filling processes.
  • Parameter SimCut in common_variables.dat.
  • How to check the boundary normals.
The setting for this tutorial is found in tut3d_00.zip.

Geometry files for MESHFREE

Usually, one of the first things to do in setting up a MESHFREE simulation is to check the geometry. In MESHFREE, the major available geometry formats are:
  • stl
  • obj
  • msh
  • fdneut
MESHFREE requires
  • the geometry to be "watertight",
  • the geometry to have consistently oriented normals,
  • each part of the geometry to be uniquely labeled.

Exercises

In our example, we have the geometry file cube.msh containing a cube with the six faces labeled "top", "bottom", "in", "out", "back", and "front".
$MeshFormat 2.2 0 8 $EndMeshFormat $PhysicalNames 6 2 1 "top" 2 2 "bottom" 2 3 "in" 2 4 "out" 2 5 "back" 2 6 "front" $EndPhysicalNames ...
It is included into the simulation model in USER_common_variables.dat by:
include{cube.msh}, scale{1, 1, 1}, offset{-0.5,-0.5,0}
The geometry can be modified by GeometryManipulations such as scale{ or offset{ . What about the pointcloud and the generation of the point cloud? If we are not sure about the orientation of the boundary elements, we can use the option
SimCut = 4
in common_variables.dat, the initial point cloud generation stops after 4 cycles of the point filling procedure. The program is then stopped for checking the result of the initial filling. This might for example yield the configuration in Figure 1. If the orientation of some boundary partition is wrong (picture left), we see that the point cloud is generated on the wrong side. Here should be a picture
Figure 1: Wrong (left) and correct (right) point cloud generation with SimCut option turned on
Exercise 1: Play around with the SimCut parameter. Execute the setting as it is and view the result in ParaView. Does the geometry fulfill the MESHFREE requirements? We would expect the cube to be filled completely, but somehow points get filled outside the domain. Exercise 2: In MESHFREE, the interior points are filled in filling cycles starting from the boundary. In order to know in which direction to start, the orientation of the boundary normals is crucial. By convention, the boundary normals point into the flow domain. Usually, we do not save them for memory reasons, but you can specify that they are written to the boundary elements result file by modifying the SAVE_format in USER_common_variables.dat to
SAVE_format(1) = 'ENSIGHT6 BINARY NN-T'
Rerun MESHFREE and check the BE_tut3d_0.case file in ParaView. What do you observe? Here should be a picture
Figure 2: Boundary elements with normal information
The "front" face normal is oriented outwards, and all other face normals are oriented inwards. Exercise 3: How can you modify the example such that the filling of MESHFREE points will be correct? Check out the keyword REV_ORIENT in the documentation. Verify your guess by commenting the parameter SimCut: the simulation should then start normally. Note: In order to reproduce Figure 2, load the state file tut00_figure2.pvsm in ParaView and choose 'Search files under specified directory'. Then, select the correct data directory (MESHFREE results folder).