This option enables the transfer of stresses and strains from stacked shell mesh simulations to stacked thick shell meshes.
This section covers:
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. This should be an LS-DYNA mesh. |
MappingResult = STRING |
Define the result filename. The mapping result is written to this newly-generated file. |
OrientationFile = HISV Nodes |
Specifies whether orientation is stored using history variables (HISV) or should be derived from the node numbering (Nodes). |
TransformedMeshFile = STRING |
Specify the output filename for the transformed mesh. This option is intended solely for postprocessing of the transformation. For additional details, refer to the Transformation Options section below. |
Available source and result file formats are listed below:
SourceFileFormat = LS-DYNA ESI-PC Nastran HDF5 ESI-HDF5 GCODE ABAQUS STEP CSV |
The source file format. LS-DYNA is the preferred format. |
TargetFileFormat = LS-DYNA | The target file format. LS-DYNA is the only supported format |
ResultFileFormat = LS-DYNA | The result file format. LS-DYNA is the only supported format |
NumTargetPIDs = INT | Define the number of parts in the target mesh that are considered within the mapping. This option should be followed by TargetPID#i definitions. |
TargetPID#i = INT | Define as many part IDs as specified in NumTargetPIDs. These parts are considered for the mapping. |
NumSourcePIDs = INT | Define the number of parts in the source mesh that are considered within the mapping. This option should be followed by SourcePID#i definitions. |
SourcePID#i = INT | Define as many part IDs as specified 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 |
Enable/disable transformation option. |
WriteTransformedMesh = YES NO | Flag to enable output of the transformed mesh used for mapping. This enables success verification for the transformation. If set to YES, a TransformedMeshFile must be specified (see above). |
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 should 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 beneath 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 minimum of three required. 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 should 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 measurement to accept transformation as best fit for the 4PCS algorithm. |
MATCHING_POINT_DIST = DOUBLE |
Maximum distance between points such that they are accepted as matching (4PCS). |
PERCENTAGE_OF_MATCHING_POINTS = DOUBLE | Percentage of matching points for transformation acceptance (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 are 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 is moved along the user-defined vector (x y z). |
ScaleSRC = DOUBLE | The source mesh is scaled around the origin using the defined scale factor. |
In addition to the transformation options, you can convert the unit systems:
ChangeUnitSystem = YES/NO | Activate or deactive 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 OnTheFly | See descriptions below. |
ClosestPoint is the most commonly-used option and accounts for most of the mapping scenarios targeted by the Envyo application. Beginning with the target mesh, the next element or integration point is identified and its data transferred to the target mesh.
The OnTheFly option handles thickness differences of a draping simulation to represent the properties of each layer. For more information, contact Ansys customer support.
Search_Radius = SrcEleLen TarEleLen DOUBLE | Defines 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 the search radius. The default value is 1.0. |
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. |
NPLANE = INT |
1 - reduced integrated thick shell elements 4 - fully integrated thick shell elements |
IntegrationRule = Gauss Lobatto | Define the through-thickness integration rule for the mapping result. This option directly affects the positions of the through-thickness integration points on the target mesh. |
NTHICK = INT | Define the number of through-thickness integration points. |
MapStress = YES/NO | Specify whether or not stresses should be transferred. |
MapStrain = YES/NO | Specify whether or not strains should be transferred. |
TShell_Option = Beta Composite | The active fiber orientation-specific output for thick shell elements. |
NumberOfTARStacks = DOUBLE | Define the number of target mesh stacks. |
SourceMaterialModel = INT | Define the source material model. *MAT 249 UDFIBER is the only material model supported. NumFibers and FiberID#1 options (below) should be also defined with the source material model definition. |
NumFibers = 1 | Supporting field for *MAT 249 UDFIBER definition (above). |
FiberID#1 = INT |
Define the fiber ID. This option supports the *MAT 249 UDFIBER definition (above). |
ThicknessTolerance = DOUBLE | Define the thickness tolerance. |
ThicknessParameter = DOUBLE | Define the thickness parameter. |
MaxAdditionalIPs = INT | Define the maximum number of additional integration points. This value limits the total number of integrations points that the Envyo application can generate. |
ResinMatID = INT | Define the resin material ID |
FiberMatID = INT | Define the fiber material ID |