IncompatibleMeshMapperByProjection Class Reference
Last update: 16.07.2025Imports data from an incompatible mesh. More...
Public Types | |
| typedef boost::shared_ptr< CoorTransformationBase > | CoorTransformationBasePtr |
| a pointer to a rigid transformation algorithm object | |
| enum | Type { eCOMPATIBLE =0, eINCOMPATIBLE, eINCOMPATIBLE_CPP, eINCOMPATIBLE_RAY, eGRID, eP2VOLUME, eMORPHED_MESH } |
| an enum type defining the type of the derived class More... | |
Public Member Functions | |
| virtual string | generateScriptOfSettingsDefinition (string variable_ident) |
| IncompatibleMeshMapperByProjection (Structure database) | |
| constructor More... | |
| virtual Type | mapperType () |
| virtual string | mapperTypeIdent () |
Public Attributes | |
| bool | deviations_along_boundary_normal |
| if true, then the algorithm will enforce colinearity of the normal vectors of the reference mesh boundary and the coordinate deviations. Default: true | |
| bool | number_sided_projection |
| destructor More... | |
| bool | overwrite_existing |
| If true, then existing data objects will be replaced. More... | |
| string | transferred_data_ident_prefix |
| The prefix for re-transferred data. More... | |
| bool | use_half_space_test_for_associating_faces |
| if true, the algorithm tries to associate the correct boundary segments by assuming that the normal vectors of linked segments point into the same half space. Default: true | |
Detailed Description
Imports data from an incompatible mesh.
- The meshes can be incompatible (and deformed)
- Deformations may be of medium size, i.e. they must be detectable by a direct closest point projection onto the boundary (segments, edges or nodes - whatever feature is closest)
- Eroded elements can not be detected
- Non-matching boundary portions (due to cut-offs, holes, etc.) can not be detected
- Zones with erroneous detection or with larger distance than the maximum search distance are marked as eroded elements
- Coordinate deviations are the true deviation vectors. They are not necesarily parallel to the nodal normal vectors of the boundary. Hence, you can not use the normal deviations for simulation of deformed geometries.
- If nodal normal deviations are imported, interior nodes and boundary nodes with incorrect normal will be marked as eroded in the deviation objects.
- If number-sided node-to-segment projection is used, one can treat differently fine meshes better.
- Element data objects are imported by converting them to node objects, project theme and convert them back to element objects. This will introduce some degree of data smoothing.
- The choice of the maximum search distance may affect the performance significantly.
- The ability of simulating geometry deviations can be restored by enforcing the colinearity of the normal vectors of the reference mesh boundary and the deviation vectors
Member Enumeration Documentation
◆ Type
|
inherited |
an enum type defining the type of the derived class
Constructor & Destructor Documentation
◆ IncompatibleMeshMapperByProjection()
| IncompatibleMeshMapperByProjection | ( | Structure | database | ) |
constructor
- Parameters
-
database The database structure we refer to. Used to compute default values.
Member Data Documentation
◆ number_sided_projection
| bool number_sided_projection |
destructor
if true, then one uses number-sided node-to-segment detection, else only one-sided node-to-segment (reference-to-design) detection is used. Default: false
◆ overwrite_existing
| bool overwrite_existing |
If true, then existing data objects will be replaced.
This option is used by transferData
◆ transferred_data_ident_prefix
| string transferred_data_ident_prefix |
The prefix for re-transferred data.
transferData is able to transfer the data to the new database, and to transfer the same data back This strategy allows to check the error that is obtained when transferring data between two meshes, since one can compare it with the original data on the same mesh. If the prefix is an empty string, then no data will be created. Else one choses the new quantity ident as "prefix[original_quantity_ident]"