Thermomechanical Simulation of Additive Manufacturing Processes
A sequential thermal-stress analysis of an additive manufacturing process consists of a
transient heat transfer analysis of thermal loads introduced by the process on a printing
part followed by a static structural analysis that is driven by the temperature field from
the thermal analysis. The analysis can also include support structures (if required for the
build) and a substrate where the part and support are built to consider their influences on
thermal conduction, part distortions, and residual stresses.
For the heat transfer analysis, the following aspects of the process must be included in
the simulation:
- Progressive material deposition: every additive manufacturing process adds new material
with time.
- Progressive heating of the deposited material: for some additive manufacturing
processes, the newly deposited layer of material gets heated up to the melting point,
causing the material to fuse to an underlying layer or a substrate.
- Progressive cooling of the printing part: as a part is printed, its cooling surface is
continuously evolving with time.
For the stress analysis,
- Temperatures from the heat transfer analysis are used to drive the stress analysis.
- Similar techniques of progressive material deposition as the heat transfer analysis can
be used.
- Temperature-dependent material properties can be used for accurate stress results.
Progressive Element Activation in Thermomechanical Simulation
Progressive material deposition in additive manufacturing processes can be modeled using
progressive element activation in Abaqus/Standard (see Progressive Element Activation). The parts and support structures can be activated progressively. During
the analysis, any element that is defined as progressively activated is filled with material
(completely or partially) or remains empty (inactive). You can control the activation and
the volume fraction of the material for each element in each increment during an analysis
with user subroutine UEPACTIVATIONVOL.
The material deposition sequence is defined in an event series (for example, in the form of
time and spatial coordinates of a recoater sequence of events; see About Event Series for more details) and processed using user subroutine UEPACTIVATIONVOL to define how much
material is added to an element in a given time increment. To simplify this process, you can
access toolpath-mesh intersection utilities from within UEPACTIVATIONVOL to compute the change
of the volume fraction of the material in each element and time increment taking into
account the intersection of the finite element mesh with the specified event series data for
material deposition (see Toolpath-Mesh Intersection Module). Optionally, you can update the material orientation to
align it with the trajectory.
In addition, Abaqus/Standard provides a number of streamlined solutions for some of the most common additive
manufacturing processes that do not require you to write user subroutines. These techniques are described in Special-Purpose Techniques for Additive Manufacturing.
Initial Temperature
During the additive manufacturing process of a part, newly deposited material comes in at
a given initial temperature. You can define this initial temperature value by assigning
initial conditions to the nodes of the mesh of the part to be printed (see Defining Initial Temperatures). Abaqus applies the initial temperature to the material inside these elements where they are
first activated.
A stress analysis of a part-level thermomechanical simulation that uses a relatively
coarse time increment and mesh is an exception to the previous statement. In this case you
should assign an initial temperature representing a relaxation temperature above which
thermal straining induces negligible thermal stress. This initial temperature is usually
different from the initial temperature of the new material deposited in the manufacturing
processes. For more information, see Controlling the Scale of the Simulation and the Solution Fidelity.
Displacement Output in Stress Analyses
When using progressive element activation in Abaqus/Standard, you can control the behavior of inactive elements to follow or not follow the
deformation of active elements in the model (see Controlling the Behavior of Inactive Elements). The two behaviors are expected to produce similar results in the limit
of small deformation, with the exception of displacements and rotations
(U,
UT, and
UR).
An inactive element that follows the deformation, also referred to as a "quiet" element,
is always present in the model and participates in the solution, but it produces a
negligible contribution to the overall response. In this case a node attached to inactive
elements can experience nonzero displacements before any of its attached elements are
activated. The nodal output variables U,
UT, and
UR represent displacements and rotations
measured from the beginning of an analysis, containing contributions of displacements
during both inactive and active periods of a node. Abaqus also provides nodal output variables
UACT,
UTACT, and
URACT corresponding to the displacements
and rotations measured from the time when an element attached to the node is first
activated.
An inactive element not following the deformation does not contribute to the stiffness of
the model and does not participate in the solution. Any nodes attached to inactive
elements remain in their initial position. In this case the nodal output variables
UACT,
UTACT, and
URACT are the same as the output
variables U,
UT, and
UR, respectively.
Regardless of the behavior chosen for inactive elements, the configuration of an element
upon activation is usually different from the original configuration because nodes shared
by active and inactive elements undergo displacements (see Initial Configuration). When an element is activated, the configuration at the time of
activation is the reference for subsequent element calculations. Therefore, the output
variable E represents strains measured
from the time an element is activated.
Time Incrementation
The time increment used in analyses that include progressive element activation can
influence the final results. Assume that two analyses are performed to simulate the
material extrusion process of a bead of material that is modeled as a row of elements,
with two different time increments: a small time increment activating one element per
increment and a large time increment activating two elements per increment. The initial
configuration of every second element is different in the two stress analyses, leading to
different results of residual stresses and distortions. You can choose an appropriate time
increment in thermomechanical analyses by performing a time-stepping convergence study.
Progressive Cooling via Convection and Radiation
With the deposition of new material during the additive manufacturing process, previously
exposed material surfaces are covered, and new free surfaces are created with time. You can
define surface convection and radiation on continuously evolving free surfaces (see Specifying Element-Based Film Conditions on Evolving Faces of an Element in Abaqus/Standard and Specifying Element-Based Radiation Conditions on Evolving Faces of an Element in Abaqus/Standard). Abaqus/Standard continually tracks the evolving free surfaces that reflect the current shape of a
printing part at any given time in the build and applies film and radiation loadings only to
those surfaces.
Progressive Heating by a Moving Heat Source
Many types of additive manufacturing processes involve the application of a moving heat
source (laser, electron beam, welding torch, etc.) to fuse the raw material. You can define
one or multiple nonuniform distributed heat sources in user subroutine UMDFLUX (see Defining Moving or Stationary Nonuniform Heat Flux in User Subroutine UMDFLUX).
The scanning path of a moving heat source is defined in an event series (for example, in
the form of time, spatial coordinates and power of the heat source; see About Event Series for more
details) and processed using user subroutine UMDFLUX to define each heating event
that occurs on a given element in a given time increment. To simplify this process, you can
access toolpath-mesh intersection utilities from within UMDFLUX to compute heat fluxes
received by each element in each increment (see Toolpath-Mesh Intersection Module).
In addition, Abaqus/Standard provides a number of streamlined solutions to specify heat events that correspond to some
of the most common heat sources in additive manufacturing processes that do not require you
to write user subroutines. These techniques are described
in Special-Purpose Techniques for Additive Manufacturing.
Controlling the Scale of the Simulation and the Solution Fidelity
Additive manufacturing process simulation is a multiscale problem in both time and space.
You can control the scale of the simulation and the solution fidelity by choosing an
appropriate time incrementation and mesh size. In general, you can consider two types of
simulation at different ends of the fidelity spectrum: process-level simulations (high
fidelity) versus part-level simulations (lower fidelity).
A detailed process-level simulation is performed by using a small time increment and a fine
mesh with at least one element per printing layer thickness and a few elements across an
action zone where active melting or fusion occurs. The simulation captures the rapidly
evolving temperature and high-temperature gradients typically found within and near action
zones and, thus, provides accurate predictions for both residual stresses and distortions.
You can specify temperature-dependent thermal and mechanical material properties. You can
model thermal energy release and absorption during melting and solidification in heat
transfer analyses using latent heat definitions (see Latent Heat). For processes that use metallic materials, you can also
model annealing effects or melting at a certain temperature in stress analyses (see Annealing or Melting). In addition, precise simulations of temperature histories
facilitate the modeling of material phase transformations and microstructure evolutions
during printing, which can be achieved with user subroutines (such as UMAT, UMATHT or USDFLD). For example, you can specify
material properties for different phases of materials (such as powder, liquid, or different
solid-phases) as functions of field variables or solution-dependent variables representing
the material phase and evaluated inside USDFLD as a function of the
temperature history (see Specifying Field Variable Dependence and Specifying Material Data as Functions of Solution-Dependent Variables). A process-level simulation can model detailed physics of
additive manufacturing processes and provide accurate results, but it typically has a high
computational cost and can be affected by convergence difficulties due to the use of
temperature-dependent nonlinear material properties under rapidly changing temperature
conditions.
A part-level simulation is performed by appropriately averaging (lumping) the time sequence
of events and using coarser meshes. For example, the model could have an element size that
is a few times larger than the physical printing layer thickness and use only one or several
time increments for printing one element layer. The heat transfer analysis can usually
capture far-field temperature evolutions (away from action zones) as long as the thermal
energy balance of progressive heating and cooling is modeled correctly. However, the
simulation may not capture local rapid temperature evolutions properly because the specified
sequence of concentrated, fast-moving heat sources is lumped over both time and space. In
other words, the temperature results do not usually contain an accurate history of melting
and solidification. In this case, to model the annealing or melting effects in the stress
analysis correctly, you must assign an initial temperature representing a relaxation
temperature above which thermal straining induces negligible thermal stress in the printing
part. Upon element activation, the relaxation temperature is the temperature from which the
initial thermal contraction occurs. This relaxation temperature can be calibrated from
experiments or detailed process-level simulations. The part-level simulation is
computationally efficient for the prediction of distortions and stresses in printing parts
with reasonable accuracy.
Resolving Convergence Difficulties
Thermomechanical simulations of additive manufacturing processes are usually nonlinear due
to temperature-dependent material behavior, progressive element activation, or other
factors. Common convergence issues and recommendations on how to resolve them are discussed
below.
In the heat transfer analysis, convergence difficulties are usually caused by the
nonlinearity of material properties.
-
If temperature-dependent conductivity is specified for the material, the system of
equations is unsymmetric. In this case using the unsymmetric matrix storage and solution
scheme (see Matrix Storage and Solution Scheme in Abaqus/Standard) may help to improve convergence.
-
When latent heat effects are considered, they can introduce severe nonlinearity in the
analysis and have a negative impact on convergence. Abaqus provides options to reduce the nonlinearity by specifying a smooth transition or
extending the solidus-liquidus temperature interval (see Defining a Smooth Latent Heat Transition).
In the stress analysis, convergence difficulties can be encountered during the activation
of elements.
-
Elements may distort excessively before they are activated and cause convergence
difficulties. In such situations you should specify that inactive elements follow the
deformation to prevent excessive element distortion (see Controlling the Behavior of Inactive Elements).
-
The initial thermal strain experienced by an element upon activation (due to the
difference between the current temperature and the specified initial temperature) can
lead to convergence difficulties that cannot be resolved by reducing the time increment.
To overcome this issue, Abaqus provides an option to ramp the thermal strains over a period of time instead of
applying them instantaneously upon activation (see Applying Initial Thermal Strains). Ramping thermal strains can influence the accuracy of
the analysis results. For example, if the thermal strains of elements in a layer are not
fully ramped when the next layer of elements is activated, the strain-free configuration
of the newly activated elements is different from the case when thermal strains are
fully ramped. You should use a ramping time constant smaller than the required time for
processing one layer.
-
If the material definition includes plasticity, the analysis may iterate excessively
due to the extrapolation scheme used to speed up the solution. You can prevent this
issue by turning off extrapolation (see Incrementation in Abaqus/Standard).
Input File Template
The following template shows the input for the heat transfer analysis
heat.inp :
HEADING
…
** Choose the uncoupled heat transfer element type
ELEMENT, TYPE=DC3D8
** Define material deposition motion and/or heat source scan path
EVENT SERIES TYPE
EVENT SERIES
** Define additional information for material deposition and/or moving heat sources
PARAMETER TABLE TYPE
PROPERTY TABLE TYPE
TABLE COLLECTION
PARAMETER TABLE
PROPERTY TABLE
** Define elements that can be activated during an analysis
ELEMENT PROGRESSIVE ACTIVATION
…
PHYSICAL CONSTANTS, ABSOLUTE ZERO=, STEFAN BOLTZMANN=
INITIAL CONDITIONS, TYPE=TEMPERATURE
…
STEP, UNSYMM=YES
HEAT TRANSFER
…
** Turn on progressive element activation in the step
ACTIVATE ELEMENTS
table collection for material deposition (if defined)
** Apply thermal loads and boundary conditions
BOUNDARY
Data line to define nonzero boundary conditions on temperature degree of freedom
FILM
element number or element set name, FFS or FFSNU, , h
RADIATE
element number or element set name, RFS, ,
DFLUX
element set name, MBFNU, blank entry, table collection for a heat source (if defined)
…
** Write all nodal temperatures to the output database file, heat.odb
OUTPUT, FIELD
NODE OUTPUT
NT
END STEP
The following template shows the input for the subsequent static structural
analysis:
HEADING
…
** Choose the continuum element type compatible with the heat transfer element type used
ELEMENT, TYPE=C3D8
…
** Define material deposition motion
EVENT SERIES TYPE
EVENT SERIES
** Define additional information for material deposition
PARAMETER TABLE TYPE
PROPERTY TABLE TYPE
TABLE COLLECTION
PARAMETER TABLE
PROPERTY TABLE
** Define elements that can be activated during an analysis
ELEMENT PROGRESSIVE ACTIVATION
…
INITIAL CONDITIONS, TYPE=TEMPERATURE
BOUNDARY
Data lines to specify zero-valued boundary conditions on displacement degree of freedom
…
STEP, EXTRAPOLATION=NO
STATIC
…
** Read in all nodal temperatures from the output database file, heat.odb
TEMPERATURE, FILE=heat.odb
** Turn on progressive element activation in the step
ACTIVATE ELEMENTS
table collection for material deposition (if defined)
** Apply structural loads and boundary conditions
…
END STEP
|