4.9. Shell to Thick Shell

This option enables the transfer of stresses and strains from shell mesh simulations to thick shell meshes.

4.9.1. Main Mapping Command

ENVYO = SHELL-TSHELL

4.9.2. Input and Output Meshes

SourceFile = STRINGDefine the name and, if needed, the path of the source file, (usually a *.dynain file).
TargetFile = STRINGDefine 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

Define this flag to enable transfer of orientations. This notifies the application that orientation data is stored within history variables (HISV). Alternatively, the orientation can be derived from the element nodes (Nodes). This method may yield accurate results if the mesh was well-aligned initially.

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-DYNAThe result file format. LS-DYNA is the only supported format

4.9.3. Target Part IDs and Source Part IDs

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.


4.9.4. Transformation Options

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 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 required transformation option.
NodalPair#i = INT INT

Define nodal pairs to initialize mesh alignment for the ICP algorithm. You can 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 = DOUBLEThe 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 deactivate 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.

4.9.5. Mapping Options

ALGORITHM = ClosestPoint

ElementSizeSearchRadius

ConsiderOndulation

RVE Detection

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 ElementSizeSearchRadius option considers a specific search radius, which helps to decide whether fiber orientations are accepted for mapping. If not, a ResinMatID is assigned, which you can define using the respective input command.

The ConsiderOndulation option considers the through-thickness position of the identified fiber orientation. This information is therefore not considered as provided by user input, but by the position in the source mesh related to the target mesh.

With RVE Detection, you can define specific criteria which allow the Envyo application to decide if a specific combination of fibers has been identified and therefore assigns a specific, user-defined material ID to the dedicated integration point.

For further information on these methods, see [2].

MapStress = YES

NO

Specify whether or not stresses should be transferred.

MapStrain = YES

NO

Specify whether or not strains should be transferred.
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.

TShell_Option =Composite

Beta

Composite Long

The active fiber orientation-specific output for thick shell elements.

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.

The following additional mapping options are available for SHELL-TSHELL mapping:

NumFibers = INT Define the number of fibers to be transferred.
Fiber#ID = INT Fiber ID to be transferred. This can be a specific number, as it can be defined, for example, with *MAT 249.

ThroughThicknessAveraging = YES

NO

Set to YES (recommended), if orientation averaging is to be performed through the thickness of the source parts, or if a specific stacking sequence is needed to define the fiber orientation.

You should use this option in cases where orientations are being transformed and should therefore appear in a specific order, rather than using arbitrary orientations throughout the thickness.

If the target material model is defined as *MAT 249, fiber averaging differs slightly. Refer to the respective explanations below.

When set to YES, the NumberOfFiberBundles option (below) must be defined.

NumberOfFiberBundles = INT Define how many averaging options must be performed.
FiberBundle#i: Counter for fiber bundles.
MatID = INT Material ID of the fiber bundle.
Lay = INT, IP = INT, Fib = INT

Repeat this sequence of options as many times as necessary for each of the averaging possibilities:

Lay refers to the Layer (using the same numbering as in SourcePID#i) of stacked elements in the source mesh.

IP is the respective IP in that layer.

Fib is the respective fiber.

All values listed here are averaged until the next different input parameter is defined.

ResinMatID = INT This option can be set for the ElementSizeSearchRadius, ConsiderOndulation, and RVE DETECT algorithms. It assigns a specific material ID to integration points where no neighbouring element could be found with which assign a fiber orientation. If no value is given, a default is used to assign a material ID for specific resinous areas.

4.9.6. RVE-related Mapping Options

For the RVE DETECT algorithm, specific properties for representative volume elements must be defined:

Num_RVEs = INT

The number of representative volume elements to be searched for through the thickness.

RVE# = INT INT;INT

Using this option, you can specify up to three part-IDs to define a specific RVE, allowing triaxially-braided representative volume elements to be defined. If only biaxial braids or woven materials are available, omit the final integer value. The final integer is interpreted as the reinforcing yarn, whereas the first two integers are considered as rotating yarns for braided composites. The reinforcing yarn should be separated from the rotating yarns by a semi-colon.

RVE_TYPE = BRAID

Only braided or woven materials can be detected by the algorithm.

UD = INT

Define the material ID which should be assigned in cases where only one fiber ID is found within the search radius.

BIAX_i = INT

Define the material ID which should be assigned in cases where two fiber directions are found. The index i in BIAX_i points to a specific angle between the two fiber IDs. If several biaxial RVEs are defined, the material ID which points to the closest angle between the two fibers found in the RVE is assigned. The orientation projected onto the target mesh is derived as the average between the two rotating yarns.

TRIAX_i = INT

Define the material ID which should be assigned in cases where three fiber directions are found. The index i in TRIAX_i points towards a specific angle between the two rotating yarn fiber IDs. If several biaxial RVEs are defined, the material ID which points to the closest angle between the two rotating yarn fibers found in the RVE is assigned. The direction used for projecting onto the element is derived from the reinforcing yarn direction.

FIBER_PRECENTAGE = DOUBLE

The minimum percentage of fibers which should be considered for the mapping. The Envyo application counts the overall number of fibers found within a specific search radius and checks if the ratio of each fiber is higher than the value specified here.