Skip to main content

optiSLang 3D Postprocessing Script API 2025 R1

IncompatibleMeshMapperByProjection Class Reference

Last update: 16.07.2025

Imports data from an incompatible mesh. More...

Public Types

typedef boost::shared_ptr< CoorTransformationBaseCoorTransformationBasePtr
 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

enum Type
inherited

an enum type defining the type of the derived class

Enumerator
eCOMPATIBLE 

compatible mesh mapper

eINCOMPATIBLE 

incompatible mesh mapper

eINCOMPATIBLE_CPP 

incompatible mesh mapper (closest point projection)

eINCOMPATIBLE_RAY 

incompatible mesh mapper (along user-specified direction)

eGRID 

grid mesh mapper

eP2VOLUME 

point-to-volume mesh mapper

eMORPHED_MESH 

mesh mapper used morphing

Constructor & Destructor Documentation

◆ IncompatibleMeshMapperByProjection()

constructor

Parameters
databaseThe database structure we refer to. Used to compute default values.

Member Data Documentation

◆ number_sided_projection

bool number_sided_projection
Initial value:
{}
number maximum_search_distance

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]"

Connect with Ansys