You can take advantage of the intrinsic strengths of both Lagrangian
finite element and SPH methods when modeling a
body. You can define the model with Lagrangian finite elements and convert them
to SPH particles either at the beginning of an
analysis or after the deformation becomes significant. It is sometimes easier
to create the mesh with Lagrangian finite elements, and Lagrangian finite
elements are often more accurate for small deformations.
SPH methods are well suited for large
deformation.
You start by defining a part as usual. You mesh the part with
C3D8R,
C3D6, or
C3D4 reduced-integration elements or a
combination of these elements. You then specify that these “parent” elements are to convert to
internally generated SPH particles when a user-specified
criterion is met. Gravity loads, contact interactions, initial conditions, mass scaling, and
output requests associated with the parent elements or nodes of the parent elements will be
transferred appropriately to the generated particles on conversion in an intuitive way as
explained below. A special formulation is used to ensure the smoothest possible transition
between the two modeling methods. The technique can use any of the materials available in Abaqus/Explicit (including user materials).
Activating the Conversion to SPH Particles Functionality
Two conversion techniques are available for converting Lagrangian finite
elements to SPH particles: particles can be
generated per parent element, or particles can be generated based on a uniform
background grid.
The conversion technique of generating particles per parent element is intended to be used when
the deformations in the original finite element mesh are significant and elements might
distort. Traditionally, in such cases deletion of the soon-to-be distorted Lagrangian
elements would be the only choice to allow the analysis to continue. Converting to
SPH particles offers an improvement over the element
deletion method because the generated particles are able to provide resistance to
deformation beyond finite element distortion levels. Consequently, element deletion cannot
be used together with element conversion.
The conversion technique of generating particles based on a uniform
background grid is intended to generate a uniform distribution of
SPH particles at the beginning of the
analysis. This is useful in applications where the
SPH functionality is the preferred modeling
method (such as when modeling fluids) and a uniform distribution of particles
is desired because it usually leads to improved accuracy of results.
The element conversion to particles functionality is not active by default.
Generating Particles per Parent Element
You can control the number of particles generated per parent element and
choose between one of four criteria to specify when the conversion is to be
triggered.
Specifying the Number of Particles to Be Generated
By default, one particle is generated per parent element. You can control the number of particles
generated per element by specifying the number of particles to be generated per parent
element isoparametric direction. The total number of particles generated per element
depends on the element type that is being converted. For example, if you specify 3
particles to be generated per isoparametric direction, on conversion 27 particles would be
generated from a C3D8R element, 18 from a
C3D6 element, and 10 from a
C3D4 element, as illustrated in Figure 1. A maximum value of seven particles per direction can be specified. The particles are
evenly spaced inside the parent element such that they fill the volume as uniformly as
possible. For example, if cubic parent elements are stacked in the user-defined mesh, the
particles would be evenly spaced throughout the part.
You can specify the time when the conversion of all the elements in the
affected element set is to take place regardless of the deformation levels.
This option is intended for applications where the
SPH functionality is the preferred modeling
method, such as fluid sloshing in a tank or a synthetic bird strike on an
aircraft. If the conversion time is specified as zero, the conversion takes
place at the beginning of the analysis. For example, fluid sloshing is a good
candidate for using a time-based criterion if sloshing is expected to start at
the beginning of the analysis. You can specify a later time at which the
conversion takes place if extreme deformations do not occur until later in the
analysis. A bird strike analysis is a potential candidate as the bird might
travel for some time without any deformation prior to hitting the intended
target.
You can specify the absolute value of the maximum principal strain when the conversion of a given
element is to take place. As elements deform, if the absolute value of the maximum
principal strain is greater than the specified threshold, the parent elements convert
progressively to SPH particles. This option is intended
for applications where the finite element method is the preferred modeling method but
severe deformations could occur in certain regions. Examples include blast applications
and crushing.
You can specify the absolute value of the maximum principal stress value at
which the conversion of a given element takes place. As elements deform, if the
absolute value of the maximum principal stress is greater than the specified
threshold, the parent elements will convert progressively to
SPH particles. This option is intended for the
same candidate applications as those discussed for the strain-based criterion.
The user subroutine–based criterion provides the flexibility of a user subroutine implementation
that allows you to implement your own conversion criterion. Element conversion can be
controlled during an Abaqus/Explicit analysis through any of the user subroutines that can actively modify state variables
associated with a material point, such as VUSDFLD and VUMAT. You specify the state
variable number controlling the element conversion flag. For example, specifying a state
variable number of two indicates that the second state variable is the conversion flag in
the user subroutine. The conversion state variable should be set to a value of one or
zero. A value of one indicates that the element is active, while a value of zero indicates
that Abaqus/Explicit should convert the element to particles. Since user subroutines have access via
arguments (or in the case of the VUSDFLD subroutine via utility
routines) to material point state data, the functionality provides a comprehensive means
to define the conversion state variable.
Conversion to Particles Formulation
When using the conversion technique of generating particles per parent
element, particles are generated internally at the beginning of the
preprocessing phase of the analysis, and they are placed in an inactive or
dormant state. The particles are attached to the parent elements in a similar
fashion as the nodes of embedded elements are attached (see
Embedded Elements),
and they follow the motion of the parent element nodes in an average sense. The
inertial properties of the particles in this inactive state (while the parent
finite elements are active) are disregarded automatically to avoid doubling the
momentum at a given location. Similar to SPH
particles defined directly as PC3D elements, particles generated from parent element sets associated
with different section definitions will not interact with each other.
On conversion a number of internally generated particles per parent element are activated, as
illustrated for various element types in Figure 1. The computational cost of the analysis can increase significantly after conversion
takes place if a large number of particles are generated per element since a larger number
of active elements needs to be processed. In addition, the computational cost increases
because the stable time increment associated with the internally generated particles
decreases as the particle density increases.
On conversion the state information (such as stress or equivalent plastic strain) associated with
the element being converted is transferred to the generated particles to ensure the
smoothest possible transition. The activated particles interact via the
SPH formalism with both the previously activated
particles and the neighboring inactive particles that are still embedded in active parent
elements.
Generating Particles Based on a Uniform Background Grid
This conversion technique allows you to generate a uniform distribution of
particles based on a uniform background grid. Using an initially uniform
distribution of particles is usually recommended since it can help improve the
accuracy of the results.
The origin of the background grid is placed at the center of mass of the
element set to be converted. The finite elements in the set are converted to
SPH particles at the beginning of the
analysis. The particles are generated only at grid line intersections that are
inside the volume of a parent element. All generated particles have the same
volume and mass. Any parent element that does not contain a grid intersection
has no generated particles associated with it.
The thickness of the particles is primarily used for resolving initial
overclosures between the particles and the surfaces in the general contact
domain. By default,
Abaqus/Explicit
determines the particle thickness such that no initial overclosures exist, as
illustrated in
Figure 2(b).
You can specify a uniform thickness, although the particle thickness can expand
beyond the original surface of the finite element mesh, as illustrated in
Figure 2(a),
which could lead to initial overclosures. The thickness of the particles does
not affect the particle’s volume and mass.
Because the particles are generated internally, you do not have the ability to define element
sets, node sets, or surfaces associated with these particles. Consequently, a number of sets
and surfaces are created internally for convenience. You can visualize these internal sets
and surfaces via the usual techniques. Table 1,
Table 2, and Table 3
describe the internally generated sets and surfaces.
Table 1. Internally generated element sets.
Internally generated element set
Description
ALL_GENERATED_ELEMENTS_SPH
All generated SPH particles in
the entire model
ALL_PARENT_ELEMENTS_SPH
All parent elements in the entire model
UserDefinedElsetName_SECT_SPH
All generated particles associated with the
UserDefinedElsetName element set used in the section
definition
UserDefined_AElsetName_SPH
All generated particles associated with the element set
UserDefined_AElsetName
Table 2. Internally generated node sets.
Internally generated node set
Description
ALL_PARENT_ELEMENT_NODES_E_SPH
All nodes of all parent elements in the entire model
ALL_GENERATED_NODES_SPH
All nodes of all generated particles in the entire model
UserDefinedElsetName_SECT_E_SPH
All nodes of generated particles associated with the
UserDefinedElsetName element set used in the section
definition
UserDefined_ANsetName_SPH
Nodes of generated particles from parent elements touching nodes
of the UserDefined_ANsetName node set
Table 3. Internally generated surfaces.
Internally generated surfaces
Description
UserDefinedElsetName_PARENT_EE_SPH
Element-based surface containing all facets of all elements
associated with the UserDefinedElsetName element set
used in the section definition
UserDefinedElsetName_SECT_NE_SPH
Node-based surface with all nodes of all generated particles
associated with the UserDefinedElsetName element set
used in the section definition
UserDefinedSurfaceName_NS_SPH
Node-based surface containing all nodes of generated particles
associated with the elements used in the definition of the
UserDefinedSurfaceName element-based surface
These sets and surfaces are used by features that are automatically generated internally, such as
loads, initial conditions, mass scaling, contact definitions, and output requests. These
internally generated features extend the features that you defined for the associated parent
sets and surfaces of the internally generated particles. In all cases, the internally
generated features preserve the attributes that you defined on the parent sets and surfaces.
You cannot define features such as loads, boundary conditions, and initial conditions on the
internally generated sets and surfaces directly.
Initial Conditions
Initial conditions (see Initial Conditions) cannot be
specified directly for the generated particles. However, a subset of the possible initial
conditions (stresses, velocity, and rotating velocity) is applied to the generated particles
automatically. You specify these initial conditions on the original element or node set you
have defined in the model, and they are applied appropriately to the associated generated
particles. The initial conditions are applied via the internally created sets described
above; hence, you must use an element or node set rather than element or node numbers when
applying initial conditions.
Initial stresses specified on parent elements are applied to the generated particles. This
feature is leveraged in cases where parent elements convert to particles at the very
beginning of the analysis (time zero). All other initial conditions associated with elements
are taken into account for the generated particles if the parent elements convert to
particles after the first increment in the analysis. The state transfer mechanism described
above appropriately transfers the information to particles and, hence, initial conditions
are accounted for correctly in the particles.
Boundary Conditions
Boundary conditions (see
Boundary Conditions)
cannot be applied directly to the generated particles. Boundary conditions
applied to nodes of the parent elements are not transferred to the generated
particles. However, you can use contact interactions to enforce boundary
conditions as explained in
Interactions.
Temperature and field variables specified on node sets that include parent
element nodes are extended to the generated particles.
Abaqus/Explicit
generates corresponding temperature and field variables definitions internally
via the internal node sets described in
Automatically Generated Sets and Surfaces.
If all of the nodes of a particular parent element have the same value at a
given time, the generated particles would have that same value as well. If
different values are specified, no interpolation occurs. Instead, the value of
the last definition is used.
Loads
The loading types available for an explicit dynamic analysis are explained
in
About Loads.
Concentrated nodal loads cannot be applied to generated particles. Gravity
loads specified on the parent elements are the only distributed loads that are
transferred upon conversion to the generated particles.
Material Options
Any of the material models in
Abaqus/Explicit
can be used with the conversion technique.
Elements
When using the conversion technique and C3D8R, C3D6, and/or C3D4 reduced-integration parent elements to define the part, PC3D elements are generated internally at the beginning of the
analysis; the parent elements are active, and the PC3D elements are inactive. Upon conversion the active status
switches. At no time are a parent element and the associated generated
particles both active.
Particle mass (and volume) is computed automatically from the mass (volume)
of the parent element. All particles associated with a specific parent element
will have the same mass (volume). The SPH
smoothing length and domain required for the
SPH formalism are computed in the same fashion
as in the case when you define PC3D elements directly (see
Smoothed Particle Hydrodynamics).
If mass scaling is defined on element sets containing parent elements,
Abaqus/Explicit
internally generates mass scaling definitions associated with the corresponding
internal element sets described in
Automatically Generated Sets and Surfaces.
Constraints
Constraints such as couplings or ties cannot be applied directly to the generated particles.
However, constraints can be defined on nodes and surfaces associated with the parent element
nodes and faces. If such constraints are used to attach parent elements to other Lagrangian
bodies or they are used to drive the motion of a part, care must be exercised when the
parent element faces involved in such constraints convert to particles. The constraint may
be nullified on parent element conversion and, consequently, the connection to other parts
(in the case of tie constraints) or to the driving feature (in the case of coupling
constraints) would no longer be realized. Hence, in certain cases you may need to place
these constraints far enough from the parent elements that can convert for the constraints
to be active throughout the analysis.
Element sets that are marked for possible conversion to particles but that
are also part of the rigid body definition will never convert because the rigid
body constraint is always enforced on the parent elements.
Interactions
Bodies modeled with elements that may convert to particles can interact with other finite
element–meshed or analytical bodies via contact. On conversion the internally generated
particles may also interact via contact with these bodies but only via the general contact
functionality.
By default, if general contact interactions are included in your model,
contact inclusions and exclusions involving internal node-based surfaces
associated with the internal particles are generated. User-specified contact
inclusions and exclusions referencing element-based surfaces that include
convertible elements will also be reflected in internally generated requests.
Table 4
and
Table 5
show all correspondences. The naming convention used for the internally
generated surfaces is explained in
Automatically Generated Sets and Surfaces
above.
UserElemBased1,
UserElemBased2_NS_SPH and
UserElemBased2,
UserElemBased1_NS_SPH
As shown in the second row of
Table 5,
contact between the generated particles and the faces of the associated parent
elements is always excluded from the general contact domain. The activated
internal particles will interact with the neighboring yet inactive particles
still attached to parent elements with exposed faces via the
SPH formalism.
The contact interaction for the generated particles is the same as any
contact interaction between a node-based surface (associated with the internal
particles) and an element-based or analytical surface. All interaction types
and formulations available for contact involving a node-based surface are
allowed, including cohesive behavior. Different contact properties can be
assigned via the usual options. The contact control and property assignment
options used for pairs of surfaces that involve parent elements that can
convert to particles will be reflected in internally generated assignments for
the internal particle-based surfaces.
Table 6
shows the internally generated assignments associated with user-defined
requests.
Table 6. Internally generated contact control and property assignments.
User-defined contact inclusion
Internally generated contact inclusions
blank, blank
blank,
AllUserElsets_SECT_NE_SPH
blank,
UserElemBased
blank,
UserElemBased_NS_SPH
UserElemBased,
UserElemBased,
UserElemBased_NS_SPH
UserElemBased1,
UserElemBased2
UserElemBased1,
UserElemBased2_NS_SPH and
UserElemBased2,
UserElemBased1_NS_SPH
The generated particles may have different contact thicknesses since they
are computed automatically at the beginning of the analysis. If one or two
particles per isoparametric direction are requested to be generated upon
conversion, all generated particles will have a contact thickness such that
they are barely touching the closest face of the parent element. If three or
more particles per direction are requested, some of the particles will not be
touching the faces of the parent element. For these particles, the contact
thickness will be the minimum thickness of all of the particles that are
touching the parent element faces on that parent element.
You can specify the contact thickness of the generated particles by using
the surface property assignment option for an element-based surface that
includes the faces of the parent elements. This modeling choice affects contact
interactions on parent elements before they convert.
Output
Output requests associated with parent elements, nodes of parent elements,
or contact involving faces of parent elements trigger the creation of output
requests associated with the corresponding internally generated particles. For
example, if you request element output for an element set that contains parent
elements,
Abaqus/Explicit
automatically creates an additional element output request using the
corresponding internal element set containing generated particles, as described
in
Automatically Generated Sets and Surfaces.
A field output request for the STATUS output variable is created automatically for all parent
elements and generated particles. The value of the STATUS output variable is toggled automatically between a value of
zero and one upon conversion for both parent and generated particles.
History output requests are also replicated for the generated particles.
Limitations
Analyses involving finite element conversion to
SPH particles are subject to the following
limitations:
Only reduced-integration continuum elements C3D8R, C3D6, and C3D4 are available for conversion.
Surface loads specified on the faces of parent elements that convert during the analysis are
not applied after conversion to particles. However, distributed loads, such as pressure,
can be applied to other finite element surfaces that do not convert (for example, on a
piston surface) that can apply a pressure onto the particle elements (for example, the
fluid pushed by the piston) via contact interactions.
Bodies modeled with elements that may convert to particles that were not
defined using the same section definition will not interact with each other
between the converted portions of the bodies. For example, body A and body B
allow elements to convert to particles, but these elements are associated with
different section definitions. After conversion, the particles will not
interact.
Within a given body (part) defined via one solid section definition,
gravity loads and mass scaling cannot be specified selectively on a subset of
elements referenced by this definition. Instead, the two features must be
applied to all the elements in the element set associated with the solid
section definition.
Progressive conversion of finite elements into
SPH particles during an analysis (based on
strain, stress, or user-defined criterion) should be used only in applications
that are inertia dominated and for which at any point during the analysis the
strain energy is a small percentage of the total energy in the system.
Specifically, progressive conversion should be used only in applications
involving severe deformations, such as hypervelocity impact, blast, and
crushing.
Two types of internally generated particles cannot be used in the same
analysis; therefore, you cannot use element conversion (which internally
generates SPH particles) with the
SPH particle generator and
SPH particle outlet described in
Smoothed Particle Hydrodynamics.
Input File Template
The following example illustrates a smoothed particle
hydrodynamic analysis of a bottle filled with fluid being dropped on the floor
using the conversion technique. The plastic bottle and the floor are modeled
with conventional shell elements. The fluid is modeled with C3D4 elements that will convert to two particles per isoparametric
direction (four particles per element) at the beginning of the analysis based
on a time-based criterion. Material property definitions are defined as usual
for both the fluid and the bottle. Contact interaction is defined using the
default options. Output is requested for stresses (pressure) and density in the
fluid.
HEADING
…
ELEMENT, TYPE=C3D4, ELSET=Fluid_Inside_The_Bottle
…
SOLID SECTION, ELSET=Fluid_Inside_The_Bottle, MATERIAL=Water,
CONTROLS=Time_Based_Conversion
SECTION CONTROLS, ELEMENT CONVERSION=YES,
CONVERSION CRITERION=TIME, NAME=Time_Based_Conversion
First data lineSecond data lineThird data line
2, 0.0
MATERIAL, NAME=Water
Material definition for water, such as an EOS materialELEMENT, TYPE=S4R, ELSET=Plastic_Bottle
Element definitions for the shells
**
INITIAL CONDITIONS, TYPE=VELOCITYData lines to define velocity initial conditions
**
STEPDYNAMIC, EXPLICITDLOADData lines to define gravity load
**
CONTACTOUTPUT, FIELDELEMENT OUTPUT, ELSET=Fluid_Inside_The_Bottle
S, DENSITY
END STEP