Defines parameters used by the Netgen meshing algorithm. More...
Public Types | |
enum | Granularity { VeryCoarse , Coarse , Moderate , Fine , VeryFine , Custom } |
Defines the policy of mesh element construction. More... | |
Public Member Functions | |
Parameters () | |
Constructor. | |
void | SetGranularity (Granularity theVal) |
Sets mesh granularity policy. | |
Public Attributes | |
double | myGlobAbsMaxSize |
Absolute value of the global maximum size of element edge. | |
double | myGlobRelMaxSize |
Relative value of the global maximum size of element edge. | |
double | myLocRelMaxSize |
Relative value of the local maximum size of element edge. | |
double | myGlobAbsMinSize |
Absolute value of the global minimum size of element edge. | |
double | myGlobRelMinSize |
Relative value of the global minimum size of element edge. | |
Granularity | myGranularity |
Pre-defined or custom granularity of the element construction. | |
double | myGrading |
Element size growth. | |
unsigned int | mySegPerEdge |
Segments per original Edge. | |
double | myCrv |
Segments per original Edge's curvature. | |
unsigned int | myOptSteps |
Number of steps in surface mesh optimization. | |
bool | myIsVolumeMesh |
Specifies if 3D volume mesh should be generated after generating 2D surface mesh. | |
unsigned int | myVolumeOptSteps |
Number of steps in volume mesh optimization. | |
Defines parameters used by the Netgen meshing algorithm.
Contains the following parameters:
Parameters can be set using direct access to data members. Some parameters can be set to pre-defined values with SetGranularity() called with value different from Custom.
The the following parameters set in CAD Exchanger GUI can be programmatically set as demonstrated below:
Defines the policy of mesh element construction.
Provides pre-defined value for Parameters::myGrading, Parameters::mySegPerEdge, Parameters::myCrv. See Parameters::SetGranularity().
|
inline |
Constructor.
Constructs parameters with myGlobAbsMaxSize as -1., myGlobRelMaxSize as -1., myLocRelMaxSize as 10% (1./10.) of the corresponding bounding box diagonal, myGlobAbsMinSize as -1., myGlobRelMinSize as 1% (1./100.), myOptSteps as 3. myGranularity as Moderate, myIsVolumeMesh as false, myVolumeOptSteps as 2.
|
inline |
Sets mesh granularity policy.
Sets the values as follows:
VeryCoarse | Coarse | Moderate | Fine | VeryFine | |
myGrading | 0.7 | 0.5 | 0.3 | 0.2 | 0.1 |
mySegPerEdge | 1 | 1 | 1 | 2 | 3 |
myCrv | 1.0 | 1.5 | 2.0 | 3.0 | 5.0 |
If theVal is Custom then does nothing.
cadex::MeshAlgo_NetgenFactory::Parameters::myCrv |
Segments per original Edge's curvature.
Coefficient to be multiplied by the local curvature of the original Edge. For instance, 1.5 would mean that if the original Edge's curve has a local curvature value of 1.6 then at least 3 segments will be created (1.6 * 1.5 rounded to 3).
Must be positive. Automatically set to a pre-defined value when calling SetGranularity() with a value different from Custom.
cadex::MeshAlgo_NetgenFactory::Parameters::myGlobAbsMaxSize |
Absolute value of the global maximum size of element edge.
Value specified in the length units of CAD Exchanger, i.e. millimeters (see Measurement Units).
Ignored, if negative.
cadex::MeshAlgo_NetgenFactory::Parameters::myGlobAbsMinSize |
Absolute value of the global minimum size of element edge.
Value specified in the length units of CAD Exchanger, i.e. millimeters (see Measurement Units).
Ignored, if negative.
cadex::MeshAlgo_NetgenFactory::Parameters::myGlobRelMaxSize |
Relative value of the global maximum size of element edge.
Coefficient which is multiplied by the value by the diagonal of the bounding box of the parent shape (Shell or Solid). If there is no parent Shell or Solid (i.e. there is free Face only) then is equivalent to myLocAbsMaxSize and is applied to the Face.
Must be within a (0., 1.] range. Ignored, if negative.
cadex::MeshAlgo_NetgenFactory::Parameters::myGlobRelMinSize |
Relative value of the global minimum size of element edge.
Coefficient which is multiplied by the value by the diagonal of the bounding box of the smallest Face in parent Shell or Solid. If there is no parent Shell or Solid (i.e. there is free Face only) then is applied to the Face.
Must be within a (0., 1.] range. Ignored, if negative.
cadex::MeshAlgo_NetgenFactory::Parameters::myGrading |
Element size growth.
Relative maximum change of the element size comparing to its neighbors. For instance, 0.5 would mean that the element size should be not greater than 1.5 times the neighbor element size.
Must be positive. Automatically set to a pre-defined value when calling SetGranularity() with a value different from Custom.
cadex::MeshAlgo_NetgenFactory::Parameters::myGranularity |
Pre-defined or custom granularity of the element construction.
Affects the maximum mesh edge element size depending on original (geometrical) Edge and neighbor elements.
cadex::MeshAlgo_NetgenFactory::Parameters::myIsVolumeMesh |
Specifies if 3D volume mesh should be generated after generating 2D surface mesh.
Default is false.
cadex::MeshAlgo_NetgenFactory::Parameters::myLocRelMaxSize |
Relative value of the local maximum size of element edge.
Coefficient which is multiplied by the value by the diagonal of the bounding box of the parent Face.
Must be within a (0., 1.] range. Ignored, if negative.
cadex::MeshAlgo_NetgenFactory::Parameters::myOptSteps |
Number of steps in surface mesh optimization.
Must be non-negative. Default is 3. If set to 0 then no optimization is performed.
cadex::MeshAlgo_NetgenFactory::Parameters::mySegPerEdge |
Segments per original Edge.
Minimum number of mesh segments to be created for each original Edge. For instance, 2 would mean that at least 2 segments will be created for each Edge.
Must be positive. Automatically set to a pre-defined value when calling SetGranularity() with a value different from Custom.
cadex::MeshAlgo_NetgenFactory::Parameters::myVolumeOptSteps |
Number of steps in volume mesh optimization.
Must be non-negative. Default is 2. If set to 0 then no optimization is performed. Only used if myIsVolumeMesh is true.