4.8. Shell to Solid

This option enables the transfer of stresses, strains, history variables, and fiber orientations for certain material models between different meshes with varying numbers of integration points and element types. The following options are available:

4.8.1. Main Mapping Command

ENVYO = SHELL-SOLID

4.8.2. Input and Output Meshes

SourceFile = STRING Define 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-DYNA The result file format. LS-DYNA is the only supported format

4.8.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.8.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. As a result, 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.8.5. Additional Options

NumFibers = INT Define the number of fibers, stored in *MAT 249 format, that are considered for the mapping process.
SourceMaterialModel = INT The number of the material model used for the generation of the *.dynain file. The only available material model is *MAT 249.
POSTV = INT

Defines the data written to the *.dynain file. POSTV = 63 and POSTV = 8 are supported. As an alternative, you can either define POSTV = 0 or completely ignore this flag. History variables are then expected to be written as default. If the source mesh is generated by LS-DYNA version R9, POSTV = -9 can be defined. Further options will be added on request.

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 are performed.
FiberBundle#i: Counter for fiber bundles.
MatID = INT Material ID of the fiber bundle.
Lay = INT, IP = INT, Fib = INT

Repeat this field 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.

The Lay=INT, IP=INT, Fib=INT definition should be handled differently for the *MAT 249 target material model. Since this material model can represent up to 3 distinct fiber directions, the direction averaging per target through-thickness integration point should also support up to 3 fiber directions.

The integer value for Fib is considered as a digit-wise value only if target material model is *MAT 249.

This digit-wise integer represented by,

As can be seen above, the digit position represents the store-position on the target mesh and the value represents which source fiber should be used to do the averaging. An example is given in Note 2 under Notes.

4.8.6. Mapping Options

ALGORITHM = ClosestPoint The only available option is ClosestPoint. Values are mapped to the nearest node, integration point, or element center.

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.

MapStress = YES

NO

Specify whether or not stresses should be transferred.

MapStrain = YES

NO

Specify whether or not strains should be transferred.

MapOrientation = YES

NO

Specify whether or not orientations should be transferred.

ETYP = INT

Define the element type:

1 - reduced integrated solid elements

2 - fully integrated solid elements

Thck_Avg_Opt = Ele Avg

Nodal Avg

Define the thickness-averaging option.

When using *ELEMENT SHELL THICKNESS, nodes may contain different thickness information, depending on the element to which they belong. This is especially critical for the components with ribs.

With the default Ele Avg option, the application calculates through-thickness integration points using the nodal thicknesses stored on the element nodes by interpolating the resulting thicknesses at the in-plane integration points via shape functions. This allows correct calculation of the local through-thickness integration points.

By choosing Nodal Avg option, the application initially collects all thicknesses stored on one node from its attached elements and averages these thicknesses. Interpolation to the in-plane integration points is then performed using the shape functions.

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.