This option enables the transfer of fiber orientations represented by beam elements onto a mesh consisting of stacked shells.
This section covers the following topics:
SourceFile = STRING | Define the name and, if needed, the path of the source file (usually a *.dynain file). |
TargetFile = STRING | Define the name and, if needed, the path of the target file. The target file must be an LS-DYNA application mesh. |
MappingResult = STRING | Define the result file name. The mapping result is written into this newly generated file. |
OrientationFile = HISV | To enable the transfer of orientations, define this flag. It informs the program that the orientation data is stored within the history variables (HISV). Alternatively, orientations can be derived from the element nodes. This method may yield accurate results if the mesh is well-aligned initially. |
TransformedMeshFile = STRING | Specify the file name where the transformed mesh is written. This option is intended solely for postprocessing of the transformation. For additional details, refer to the Transformation Options section below. |
The following are available source and result file formats:
SourceFileFormat = LS−DYNA ESI−PC Nastran HDF5 ESI−HDF5 GCODE ABAQUS STEP CSV | The source file format. The preferred format is LS-DYNA. |
TargetFileFormat = LS−DYNA | The target file format. The only format available is LS-DYNA. |
ResultFileFormat = LS−DYNA | The result file format. The only format available is LS-DYNA. |
NumTargetPids = INT |
Define the number of parts in the target mesh which are considered within the mapping. This option must be followed by TargetPid#i definitions. |
TargetPid#i = INT | Define as many part IDs as given in NumTargetPids. These parts are considered for the mapping. |
NumSourcePIDs = INT |
Define the number of parts in the source mesh which are considered within the mapping. This option must be followed by SourcePID#i definitions. |
SourcePID#i = INT | Define as many part IDs as given in NumSourcePIDs. These parts are considered for the mapping. |
Note: The options above specifically narrow down the scope of the mapping procedure to defined-part IDs. Other parts are ignored on both the source and target meshes.
TRANSFORMATION = YES NO | Turn the transformation option on or off. |
WriteTransformedMesh = YES NO | Flag to enable output of the transformed mesh used for mapping. This enables verifying the success of the transformation. If set to YES, a TransformedMeshFile must be specified (see Input and Output Meshes). |
There are three available methods for performing mesh transformation:
TRAFO_OPTION is required:
Iterative Closest Point (ICP)
Four-Points-Congruent Sets (4PCS)
TRAFO_OPTION is not required:
User-defined translation and rotation
The 4PCS method must be used with caution, as it is fully automatic and may not accurately transform stress tensors and fiber orientations between different coordinate systems. The ICP algorithm is the recommended approach.
The user-defined translation and rotation options are listed underneath TRAFO_OPTION.
Note: Transformation options are used to transform the source mesh.
TRAFO_OPTION = 4PCS ICP | Flag that enables specification of the desired transformation option. |
NodalPair#i = INT INT | Define nodal pairs to initialize mesh alignment for the ICP algorithm. You may specify up to ten nodal pairs, with a required minimum of three. In each pair, the first integer represents a node ID in the source mesh, and the second corresponds to a node ID in the target mesh. Input values must be space-separated, with each nodal pair provided on a separate line. |
MAX_NUM_ITER = INT | Maximum number of iterations to be performed by the 4PCS algorithm. |
GLOBAL_ERR = DOUBLE | Global error messure to accept transformation as best fit 4PCS algorithm. |
MATCHING_POINT_DIST = DOUBLE |
Maximum distance between points so that they are accepted as matching (4PCS). |
PERCENTAGE_OF_MATCHING_POINTS = DOUBLE | Percentage of matching points to accept the transformation (4PCS). |
Additionally, a custom sequence of user-defined transformations can be applied. These transformations are executed in the order in which they are specified and multiple transformations may be defined.
RotateSRC = DOUBLE;X DOUBLE;Y DOUBLE;Z DOUBLE; DOUBLE DOUBLE DOUBLE | The source mesh is rotated by a specified angle (first value, in degrees) around a defined axis. Predefined axes include X, Y, and Z. Alternatively, a custom axis can be specified by providing three space-separated floating-point values following a semicolon (; x y z). |
MoveSRC = DOUBLE DOUBLE DOUBLE | The source mesh moves along the user-defined vector (x y z). |
ScaleSRC = DOUBLE | The source mesh scales around the origin using the defined scale factor. |
In addition to the transformation options, there are options to convert the unit system:
ChangeUnitSystem = YES NO | Activates or deactives unit system conversion. |
SourceUnitSystem = kg − m − s ton − mm − s kg − mm − ms g − mm − ms lb − in − s | If the unit system conversion is activated, provide information about the source unit system. |
TargetUnitSystem = kg − m − s ton − mm − s kg − mm − ms g − mm − ms lb − in − s | If the unit system conversion is activated, provide information about the target unit system. |
ALGORITHM = ClosestPoint ConsiderOndulation |
The ClosestPoint option is the most used feature. It accounts for most of the mapping purposes being targeted with the Envyo application. Beginning from the target mesh, the next element or integration point is identified, and its data is transferred onto the target mesh. The ConsiderOndulation option does not account for the ordering of the input parts. First, it maps the ones that are closest to the target part, then the second closest, and so forth. No resinuous areas can be assigned with this option. If the MapThickness option is turned on, the offset between the source layers is also considered which typically leads to varying thicknesses throughout the part. |
Search_Radius = SrcEleLen TarEleLen DOUBLE | Specifies the search radius for the mapping algorithm. By default, SrcEleLen is used, which sets the radius to the average element size of the source mesh. Alternatively, you can use TarEleLen to apply the average element size of the target mesh, or provide a positive DOUBLE value to define a custom radius. |
Scale_SearchRadius = DOUBLE | Coefficient to scale search radius. The default value is 1.0. |
MapThickness = YES NO | Define if thicknesses are transferred or not. This option requires *ELEMENT SHELL THICKNESS cards in the dynain file, and overwrites the value of TargetThickness. |
TargetThickness = DOUBLE | Define the thickness in the target shell mesh. |
SORT = BUCKET | Using bucket sort is strongly recommended, as it provides a substantial performance improvement for the search algorithm. |
REPEAT = YES | Enable this option to ensure that all elements and integration points receive mapped data. When there is a significant difference in element sizes between the source and target meshes, the default bucket refinement may be insufficient to cover all points—sometimes by design. In such cases, this flag must be set to guarantee complete data coverage. |