You are on page 1of 484

WARP3D-Release 17.

4
3-D Dynamic Nonlinear Fracture Analyses of Solids
Using Parallel Computers
CIVIL ENGINEERING STUDIES
STRUCTURAL RESEARCH SERIES NO. 607
8y

8rlan Pealy, Arne Cullerud, kyle koppenhoefer,
Arun 8oy, Sushovan 8oyChowdhury,
Mau WalLers, 8arron 8lchon, krlsune Cochran,
Adam Carlyle, !ames SoboLka, Mark Messner
and 8oberL uodds
!"#$%&'#() +, -..#"+#' /( !&0/"/123/45/#6"
A 8eporL on 8esearch ro[ecLs Sponsored by Lhe
u.S. nuCLLA8 8LCuLA1C8? CCMMlSSlCn
ClllCL Cl nuCLLA8 8LCuLA1C8? 8LSLA8CP
ulvlSlCn Cl LnClnLL8lnC
WASPlnC1Cn, u.C.

nASA-AMLS 8LSLA8CP CLn1L8
MCllL11 llLLu, CALllC8nlA

nASA-MA8SPALL SACLlLlCP1 CLn1L8
Pun1SvlLLL, ALA8AMA

CAk 8luCL nA1lCnAL LA8C8A1C8?
CAk 8luCL, 1LnnLSSLL

uLA81MLn1 Cl ClvlL & Lnvl8CnMLn1AL LnClnLL8lnC
unlvL8Sl1? Cl lLLlnClS A1 u88AnA-CPAMAlCn

!une 2013
!"#!$%&'$()$*+,*
"..&/ ++0($1*21
hup://code.google.com/p/warp3d/
Executive Summary
WARP3D
An Open-Source Research Code for
3-D Nonlinear Finite Element Analysis of Solids
for Fracture and Fatigue Processes
WARP3D is under continuing development as a research code for the solution of large-scale, 3-D solid
models subjected to static and dynamic loads. The code includes specic features oriented toward the
investigation of fatigue and ductile fracture in metals.
Mechanics: Elements, Constitutive Models, Algorithms
a library of isoparametric hex, tet and interface-cohesive elements
user dened multi-point constraints; absolute constraints in global and non-global coordinates
tied-contact capability to connect topologically dissimilar but geometrically congruent meshes using
automatically constructed multi-point constraints
a robust nite strain formulation for solid elements and interface-cohesive elements using rotation
neutralized rates based on polar decomposition of F
a general J-integral computation facility with inertia, crack face loading, thermal loading, function-
ally graded and anisotropic materials
a general interaction integral procedure to compute Mode I, II and III stress intensity factors and T-
stress for cracks in homogeneous and non-homogeneous materials (i.e., functionally graded materials,
FGMs)
3-D element extinction and node release facilities to model discrete crack growth
linear and nonlinear modeling of functionally graded materials material properties dened at nodes
of the model rather than conventional element-by-element
nonlinear material models including viscoplastic and temperature eects; the Gurson-Tvergaard plas-
ticity model for void growth (with rate and temperature eects), nite-strain plasticity including the
eects of solute hydrogen on the micro-scale ow properties, an advanced model for cyclic plas-
ticity of metals including nonlinear kinematic-isotropic hardening, more generalized complex cyclic
behavior (Cottrell-Stokes) and temperature dependent cyclic properties
ability to integrate existing Abaqus compatible UMAT routines for user-dened material behavior
(with only cosmetic changes needed)
A crystal plasticity material model for rate and temperature dependent simulation of microscale
plastic ow in metals. Includes options for simple gradient-based geometric hardening, which incor-
porates the eect of necessary dislocations on the hardening properties of the material.
linear and nonlinear cohesive constitutive models for use with interface elements to model sponta-
neous crack formation and extension in 3D. The Paulino-Park-Roesler option provides a comprehen-
sive treatment of mixed-mode fracture
element body forces, face tractions, face pressures, temperatures, piston-theory unsteady face pres-
sures, geometry dependent face pressures, user-dened nodal-loads routine
automatic, adaptive solution strategies to enhance convergence of global Newton iterations, local
constitutive updates and to control growth rates of material damage
Executive Summary i Updated: 5-10-2013
adaptive load control to facilitate extensive crack growth analyses using interface-cohesive elements,
crack-tip opening angles (CTOA), and computational cell approaches using a Gurson constitutive
model or stress-modied critical strain criteria.
contact between the deformable nite element model and a library of rigid surfaces (planes, cylinders,
spheres) which maybe assigned velocity vectors
Parallel Execution
parallel execution using either shared memory and OpenMP [Linux, Windows, OS X] or a hybrid
mode with explicit message passing (MPI) and OpenMP for very large models on distributed memory
systems [Linux only]
Pardiso (threaded) sparse direct and iterative solver from Intel MKL system [Linux, Windows, OS
X]
hypre (iterative) solver from Lawrence Livermore National Laboratory for MPI-based solution of
very large models. Supported on Linux platforms. Stiness assembly process is performed using a
distributed approach across the MPI ranks. The hypre solver includes an option for the BoomerAMG
pre-conditioner (parallel implementation of algebraic multigrid).
Pre- & Post- Processing
Translator from Patran neutral le to WARP3D input
WARP3D outputs patran formatted and binary neutral les for displacements, velocities, accelera-
tions, strains, stresses
a generalized packet output facility in binary format to support rapid development of customized
post-processing operations
Under development: support for model and results in EXODUS II system
Supported Platforms
Pre-compiled executables included in distribution. All source code and driver scripts included for re-
building to incorporate local modications. Extensive test problem suites included.
Linux: 64-bit. Threads-only version (OpenMP) and hybrid version (MPI + OpenMP)
OS X: Threads-only version (OpenMP). 10.8.x
Windows 64-bit. Threads-only version (OpenMP).
License
University of Illinois/NCSA, Open Source License. Copyright (c) 2012 University of Illinois at Urbana-
Champaign. (see last page for details)
WARP3D executes in a parallel mode on computers with multiple processors and with multiple
cores per processor. The parallel implementation makes use of industry standards: (1) OpenMP for
shared memory (threads), (2) Message Passing Interface (MPI) to support a multiple level hierarchy of
parallel execution on distributed hardware (clusters) with local parallel execution using shared memory
via OpenMP.
The nonlinear, dynamic equilibrium equations are solved using an incremental-iterative, implicit
formulation with full Newton iterations to eliminate residual nodal forces. Time history integration of
the nonlinear equations of motion is accomplished with Newmarks -method. Analyses with WARP3D
thus exhibit the numerical stability for large time (load) steps provided by the implicit formulation.
All computational aspects of the code (element stinesses, element strains, stress updating, element
internal forces, contact, fracture parameter computation) are implemented in an element-by-element,
Executive Summary ii Updated: 5-10-2013
blocked data structure and algorithmic architecture. Such blocking greatly improves parallel eciency
of these element level computations, with a thread assigned to perform all computations for a block of
elements completely independent of other threads assigned to other blocks. The larger-size, inner-most
loops made possible by the element blocking structure also create many opportunities for compilers
to optimize local cache memory and register use and to employ pipelining (vector) hardware features
within each thread. For the very largest models, domain decomposition of the mesh provides yet another
level of parallel execution, with each domain partitioned into element blocks. WARP3D thus provides
three levels of parallel execution from very coarse grain to very ne grain.
WARP3D executes in batch and interactive modes. Traditional batch mode execution is most useful
for large analyses on supercomputers that enforce job queuing policies. On Linux, Mac and Windows
workstations, the code is often executed in background (&) mode for long jobs and then interactively
during an analysis restart to obtain selected output. Options exist to write information les describing
the solution status at completion of each Newton iteration during long analyses executed in batch mode.
WARP3D takes input data from a variety of sources under control of the user. A Patran-to-WARP3D
translator program (patwarp) is included to convert a Patran neutral le for the model into a WARP3D
input le. Input commands to dene the model, loading history, solution parameters, compute and out-
put requests have a format-free, English-like structure. Input les may include extensive user comments
and thus are generally self-documenting. Output consists of traditional printed displacements, strains,
stresses, etc.; nodal and element results les in standard Patran format (binary or ascii) written directly
by WARP3D; and a binary packets le of selected results to facilitate post-processing. A convenient
restart capability provides the facility to segment a long job over multiple runs and to create analysis
recovery les in the event of hardware failures or should the solution not converge.
Executive Summary iii Updated: 5-10-2013
Details of University of Illinois/NCSA Open-Source License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation les (the Software), to deal with the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following conditions:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following
disclaimers.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimers in the documentation and/or other materials provided with the distribution.
Neither the names of the WARP3D Team, University of Illinois at Urbana-Champaign, nor the names of its
contributors may be used to endorse or promote products derived from this Software without specic prior
written permission.
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IM-
PLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE CONTRIBU-
TORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
Copyrights and Licenses for Third Party Software Distributed with WARP3D
The WARP3D software contains code written by third parties. Such software will have its own individual license
le in the directory in which it appears. This le will describe the copyrights, license, and restrictions which
apply to that code.
The disclaimer of warranty in the University of Illinois Open Source License applies to all code in the
WARP3D Distribution, and nothing in any of the other licenses gives permission to use the names of the
WARP3D Team or the University of Illinois to endorse or promote products derived from this Software.
The following pieces of software have additional or alternate copyrights, licenses, and/or restrictions:
Program WARP3D Directory
------- ----------------
hypre linux_packages/source/hypre-2.7.0b
metis linux_packages/source/metis-4.0
Intel MKL libraries linux_packages/lib
Executive Summary iv Updated: 5-10-2013
Revision History
Version 17.4 (June 2013)
New crystal plasticity material model for rate and temperature dependent simulation of microscale
plastic ow in metals. Includes options for simple gradient-based geometric hardening, which incor-
porates the eect of necessary dislocations on the hardening properties of the material.
Expanded solution capabilities during MPI-based execution: (1) the stiness assembly process is now
performed using a distributed approach across the MPI ranks, (2) the hypre solver now includes an
option for the BoomerAMG pre-conditioner (parallel implementation of algebraic multigrid).
The interface-cohesive elements now support hardcopy and binary packet le results for tractions
and displacement jumps. Derived values applicable to each type of cohesive material option, e.g.,
linear, ppr, etc. are also provided in the output. Manual Section 3.3 has been re-written to better
describe the formulation and various options for the interface elements.
Nodal temperatures may now be requested in printed output, Patran compatible result les and in
binary packet les.
A new option for the linear stiness on iteration 1 of a load step has been added that often simplies
input. The new option invokes the linear stiness only for the next load step.
The extrapolate displacements option often improves convergence characteristics of the global Newton
solution. However, when the compute processors detect the next step is non-proportional with the
prior step, the displacement extrapolation is suspended just for the new step. The linear stiness
for iteration 1 is also invoked. Both measures tend to improve convergence of the global Newton
iterations for strong load direction changes between steps.
The batch message system that writes messages to a le during execution has been streamlined to
compress the messages. The batch message le summarizes the solution status during each global
Newton iteration. The le enables simple monitoring of long executions executed in batch (back-
ground) job management systems often used on shared computer systems.
The cpu time limit option has been changed to the wall time limit option to reect that most all
modern analyses run in parallel. Wall clock time, not CPU time, becomes the relevant measure of
solution resources consumed. The batch message les now provide wall clock time rather than CPU
time.
Older solvers removed: element-by-element (EBE) conjugate gradient, NASA, VSS sparse direct
solvers. The hypre iterative solver for MPI-based execution replaces the EBE solver. The MKL-
Pardiso solver has direct and iterative capabilities for threads-only execution.
With removal of older solvers, user input requirements for solution parameters are much simpler.
Requirements for vectorized blocking of elements in certain situations has been removed with sim-
plication of options for equation solving.
The startup process (Bash shell script) for MPI-based (+ threads) executions has improved reliability
and speed in starting MPI processes.
patwarp updated-simplied to remove vectorized blocking options and to remove options for EBE
solver.
Signicant cleanup, streamlining, error-xes and re-writing of code throughout.
Manual Sections updated: Revision History, Executive Summary, Acknowledgements, Table of Contents,
1.7 (Equation Solvers), 2.6 (Element Blocking), 2.10 (Solution Parameters), 3.3 (interface-cohesive ele-
ments), 3.12 (the new crystal plasticity model), Chapter 7 (Parallel Execution), Appendix C (patwarp),
Appendix F (binary packet types), Appendix J (Supported Platforms), Appendix I (umats) Appendix
J (details of crystal plasticity model).
Revision History v Updated: 5-13-2013
Version 17.3.2 (September 2012)
The blocking command has been extended to provide automatic assignment of elements to blocks for
the most common analyses performed with WARP3D. The automatic blocking feature is applicable
for: (1) threads-only parallel execution on Windows, Linux, Mac OS X, (2) use of the Pardiso sparse
equation solver (either direct or iterative). For other, much less common situations (EBE solver
and/or MPI+threads execution), the blocking information must be provided in the input as in prior
versions of the code.
The recently added UMAT feature provides a very convenient means to incorporate new material
constitutive behaviors. WARP3D expects the UMAT routine and all supporting routines to be writ-
ten using thread-safe principles parallel processing of element blocks will invariably invoke multiple
instances of the UMAT concurrently. Many older UMATs use COMMON blocks (not thread-safe),
are often exceedingly complex and cannot be easily re-written to make them thread-safe. An option
in the nonlinear analysis parameters command is now available to request serial (1 thread) execution
of element blocks using the UMAT during only the stress update for non thread-safe UMATs. See
Appendix J.
Manual Sections updated: Table of Contents, 2.6, 2.10.3, 2.10.6, 2.10.7, 2.10.8, 2.12, Appendix F, Ap-
pendix J.
Version 17.3.1 (September 2012)
Nodal forces and temperatures for loading patterns may now be set by a user-dened nodal loads
subroutine. This option replaces the often lengthy text-based denition of forces and temperatures
in the model denition. The user nodal routine is invoked by the solution processor at the begin-
ning of each load step which enables the routine to provide a potentially complex history of nodal
force/temperature increments over the analysis.
For material models that require access to the deformation gradient, [F], an [

F] formulation is now
used for the linear (8-node) brick element. The computations to set [

F] employ a mean-dilatation
approach.
The displacement extrapolation algorithm now detects when non-proportional, incremental loading
exists for a step. The extrapolation procedure is suspended temporarily just for that step. This
simplies managing solution options when load reversals occur in cyclic loading protocols.
Manual Sections updated: Table of Contents, 2.8, 2.10.8, 3.1, Appendix J.
Version 17.3 (July 2012)
WARP3D can now integrate existing Abaqus compatible UMAT routines to support user-dened
material behavior. The UMAT routines are invoked from within (thread) parallel processing of ele-
ment blocks. The UMAT thus has full benet of parallel processing already designed into WARP3D.
See Section 3.11 and Appendix J.
Major changes have been made to internal data structures and algorithms that impose non-zero dis-
placement and temperature increments over a load step. Testing reveals a generally reduced number
of equilibrium iterations for convergence. No changes in the manual.
Updated descriptions of element blocking requirements. See Section 2.6 specically if you make use
of computational material models cyclic, mises hydrogen, and umat.
Version 17.2 (January 2012)
A new feature called user named lists of integers is now available as described in the new Section 2.16.
The list command generates named lists of nodes or elements using a variety of geometric procedures,
e.g., dene a list containing the nodes that lie on the surface of a cylinder. The named lists can
Revision History vi Updated: 5-13-2013
be referenced in all other commands that require input of an < integerlist > such as constraints
denition, output requests, loading denitions, domain integral denitions, etc.
An option to simplify the use of input les constructed partly from Abaqus models is available.
The denition of face loadings on hex elements and the denition of surfaces for tied-meshing now
have an abaqus option to convert Abaqus face numbers during input to WARP3D face numbers. See
Sections 2.7.6 and 3.1.5.The ordering of element nodes is the same in Abaqus and WARP3D.
Lines beginning with ! or # in column one are now treated as comment lines in the input. Lines
beginning with c or C in column 1 followed by a blank continue to be treated as comment lines as
well. Blank lines in the input are ignored.
The denition and interpretation of strain output for nonlinear geometry analyses have been updated.
Output values now correspond to the approximate logarithmic strain on the current conguration.
See manual section 3.1.6.
More sections of the manual are now in LaTeX format and include revisions and corrections. Recently
converted sections include 1.3, 1.7, 2.1-7, 2.10, 2.13-16, 3.1-3, 3.8, 3.10, 5.1, 5.4, Chapter 7 and the
Appendices. Eventually the entire manual will be in LaTeX. Source les for the manual will be
included in the distribution.
Version 17.1 (December 2011)
A new feature called tables is implemented with the table command (new Section 2.14). This is a
general capability now and for future to dene large 2D tables of oating point data values for use
in various aspects of model denition. For now, tables are used to dene parameters for piston
loading on surfaces of solid elements.
Piston theory loadings dene unsteady aerodynamic pressures applied on the surfaces of solid el-
ements. Piston theory provides a simplied (quasi-1D) model to estimate local pressures (center
of element surface) for the current velocity of the surface and orientation relative to airow direc-
tion. The piston pressures are time varying and strongly dependent upon instantaneous motion of
the element surface. The availability of piston loadings can eliminate costly and inconvenient cou-
pling/iterations between structural analysis and separate loading programs in large-scale simulation
work. See updated descriptions of hex and tet elements in Sections 3.1 and 3.2 (and required use of
the table command in Section 2.14).
The model solution time is now output with messages issued about completion of the solution for
loads steps. Model solution time is the integral of the user-specied time increment,

dt, specied
in nonlinear solution parameters.
Various messages issued during solution displayed the cpu time consumed by the code to that point
in execution. With nearly all analyses running now in parallel, these messages have been changed to
display elapsed wall-clock time since the start of execution.
Version 17.0 (August 2011)
A new approach to execution on hybrid (MPI+threads) computers is now available with inclusion of
the hypre equation solver from Lawrence Livermore National Labs. Hypre solves the linear equations
for each global Newton iteration using variants of preconditioned conjugate gradients. The solver is
designed specically to maintain very high scaling eciency as the number of MPI ranks increases
into the hundreds and perhaps thousands. Our implementation runs WARP3D on MPI rank 0
with threaded parallel execution and invokes hypre for each equation solve. Hypre spawns/releases
additional MPI ranks for just the equation solving phase. This approach maintains the simplicity
of WARP3D input les for threads-only execution (no domain decomposition) with the opportunity
for very high parallel eciency across tens-to-hundreds (perhaps a thousand) of processors during
equation solving phases.
The generalized plasticity option of the cyclic plasticity model has been extended to include temperature-
Revision History vii Updated: 5-13-2013
dependent material properties (E, ,
0
, ...). This model oers behavioral and computational advan-
tages over the more traditional Armstrong-Frederick model (also available as an option of the cyclic
material model).
Updated manual sections: 1.7 (Equation Solvers), 2.2 (Material Denitions), 2.6 (Element Blocking),
2.10 (Solution Parameters), 3.10 (Cyclic Plasticity Model), Chapter 7 is entirely re-written to intro-
duce the hypre solver option and the needed details to start execution of WARP3D, Appendix I now
contains material describing the element-by-element conjugate gradient solver, Executive Summary,
Contents, etc. We are still in the transition phase to eventually convert the manual to LaTeX.
README les for each platform and the general le included in the distribution have been signi-
cantly updated.
A number of stubborn bugs that previously slowed threaded execution during stress update have
been eliminated (we had work around code to force serialization in a few locations). All work around
code is now removed.
We are building interfaces between WARP3D and the Exodus II database system used by a number
of pre- post-processor codes. Watch for new developments.
The compilation process on all three platforms (Windows, Linux, OS X) is updated to use the current
releases of the Intel compilers and the Math Kernel Library (which has the Pardiso solver).
Version 16.3.1 (November 2010)
The cohesive material model is expanded signicantly to incorporate the Paulino-Park-Roesler for-
mulation (ppr) that properly models mixed-mode fracture. The model supports independent spec-
ication of the fracture energies and peak tractions for normal and shear deformation modes. The
model couples normal and shear fracture processes through the use of a polynomial-based potential
function.
The interface-cohesive, crack growth processors and adaptive algorithms are updated to include the
ppr option.
The binary packets le now includes results from interface-cohesive elements with the ppr option
The WARP3D interface to the Intel (Pardiso) solver is re-written to also support the Krylov iterative
option in addition to the previously support, continually improving, sparse direct solver in Pardiso.
The iterative version uses occasional sparse Choleski factorization of assembled equations to dene
the pre-conditioner. When the iterative process develops convergence issues, Pardiso switches to the
direct solver automatically.
The conversion of binary packets les to ASCII les has been deleted as no longer needed to move
les across hardware platforms.
Updated manual sections: Appendix F (binary packets le), 5.1 Introduction to Crack Growth,
5.4 Crack Growth Using Interface-Cohesive Elements, 3.3 Interface-Cohesive Elements (re-written
for improved clarity), 3.8 Material Model Type: cohesive, 2.10 Solution Parameters, 2.12 Output
Requests, Table of Contents
The compilation process for WARP3D on all three supported platforms (Linux, Mac OS X and
Windows) has been moved to Intel Composer XE system.
Version 16.2.7 (July 2010)
The domain integral processor has a new feature that enables user-dened tangent vectors at crack
front nodes. This option provides a means to remedy domain dependent J-values, for example, when
the crack front in the discrete mesh intersects a symmetry plane with a kink angle, rather than
smoothly at a right angle. This can occur when quadratic elements on the crack front are created
with straight edges that dene a chordal approximation to an otherwise smooth curve. Coarse meshes
of linear elements also have this same issue. This feature will prove most useful for J evaluation at
Revision History viii Updated: 5-13-2013
symmetry planes and where the crack front intersects a free surface. For meshes with sucient
resolution and/or front elements with curved edges, the automatic tangent vectors computed by
WARP3D are adequate.
Version 16.2.4 (December 2009)
WARP3D for Mac OS X (Intel) systems is now available. The code runs in 64-bit mode although
Mac OS X can be running in 32-bit (default) or 64-bit mode. This initial version for OS X supports
parallel execution via threads and shared-memory. An MPI version for OS X is under consideration.
Manual section 7.10 provides details of running WARP3D on OS X (essentially identical to running
WARP3D in the threads-only version for Linux). The Intel (MKL) spares direct solver and the PCG
solvers and all other capabilities of WARP3D are included in the OS X version.
Version 16.2.2 (November 2009)
WARP3D for Mac OS X (Intel) systems is now available. The code runs in 64-bit mode although
Mac OS X can be running in 32-bit (default) or 64-bit mode. This initial version for OS X supports
parallel execution via threads and shared-memory. An MPI version for OS X is under consideration.
Manual section 7.10 provides details of running WARP3D on OS X (essentially identical to running
WARP3D in the threads-only version for Linux). The Intel (MKL) spares direct solver and the PCG
solvers and all other capabilities of WARP3D are included in the OS X version.
Version 16.2 (October 2009)
The cyclic plasticity model has been re-written to include new options and computational algorithms.
The model now oers two options for representing the cyclic plasticity behavior of metals: nonlinear -
hardening and generalized plasticity. The generalized plasticity option provides the capability to
yield on re-loading prior to the prior un-loading stress state and the option for non-zero asymptotic
hardening at large plastic strains. Section 3.10 has been fully re-written and expanded.
All processing of element blocks now occurs with thread-based parallel execution. This signicantly
reduces solution elapsed time on computers with multiple cores and/or processors. This parallel
execution capability is implement in both Windows and Linux versions.
Chapter 7 of the manual has been re-written, updated and expanded to describe the additional
thread-based parallel execution of element blocks. More details are now provided to run WARP3D
on both Linux and Windows.
Windows 64-bit versions (in addition to 32-bit versions) now supported on Intel and AMD (x86)
processors. The Windows versions now support thread-based parallel execution in the (default) Intel
MKL solver and for processing of element blocks in WARP3D. We are not considering MPI versions
for Windows at this time.
The Intel MKL solver on Windows, Linux and SGI versions now supports out-of-core solutions. The
out-of-core solver is often necessary for large models computed on 32-bit Windows systems. Section
2.10 is revised to describe use of the out-of-core solver.
Support for 32-bit Linux systems is discontinued. Going forward, the systems with highest priority
are 64-bit Linux, and 32- and 64-bit Windows.
Revision History ix Updated: 5-13-2013
Acknowledgements
The work described in this guide has been supported by grants principally from the U.S. Nuclear
Regulatory Commission, the National Aeronautic and Space Administration (Ames and Marshall), the
Naval Surface Warfare Center (Carderock, Maryland), the Oak Ridge national Laboratory (ORNL), the
Computational Science & Engineering program at the University of Illinois and the University of Illinois
through the M.T. Georey Yeh Endowed Chair Fund.
The earliest research on numerical algorithms and software architecture of WARP3D were supported
by Grant SCCA 90-82144 from the Illinois Department of Commerce and Grant DE-FG02-85ER25001
from the Department of Energy made to the Center for Supercomputer Research and Development at
the University of Illinois.
Support for graduate students has been provided by generous fellowships from the Oce of Naval
Research, the Computational Science and Engineering program at the University of Illinois, the NASA
Graduate Fellowship Program, and the U.S. Department of Energy Computational Science and Engi-
neering Fellowship Program.
The tied-contact modeling capability was developed in collaboration with Quest Integrity Group
(oce in Boulder, Colorado). Our ongoing collaborations with Dr. Greg Thorwald and Dr. Ted Anderson
at QIG continue to provide very fruitful.
Key recent research and development eorts on improved 3-D fracture models, MPI parallel im-
plementation and support for functionally graded materials and fatigue analyses have been supported
by: NASA Grants 2-1031, 2-1126, 2-1424 (through the Engineering for Complex Systems Program) and
8-1751; and the Oak Ridge National Laboratory (ORNL) through grant 4000095143. We are particu-
larly pleased to recognize the technical contributions of Dr. Rob Tregoning (USNRC), Roy Hampton
(NASA-Ames), Dr. Tina Panontin (Chief Engineer, NASA-Ames), Doug Wells and Dr. Phillip Allen
(NASA-MSFC), and Drs. Richard Bass, Sean Yin and Sam Sham (ORNL).
NASA-MSFC, the Oak Ridge National Laboratory and the U.S. Nuclear Regulatory Commission
provided partial nancial support for the sabbatical of Professor Dodds during 2009-2010. That support
enabled signicant new fracture modeling and computational capabilities to be included in WARP3D.
The hypre solver now integrated in WARP3D for the MPI-based solution of extremely large models is
developed by the CASC group at Lawrence Livermore National Laboratory (https:computation.llnl.gov/casc).
Development of the crystal plasticity material model was supported in part by the National Defense
Science and Engineering Graduate (NDSEG) Fellowship Program.
Acknowledgements x Updated: 5-132013
Contents
Section No. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page
Executive Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1-1
1.1 What is WARP3D? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1-1
1.2 Illustrative Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2-1
1.3 Manual Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3-1
1.4 Nonlinear Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4-1
1.5 Dynamic Analysis: Newmark Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5-1
1.6 Solution of Nonlinear Equations: Newton Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6-1
1.7 Linear Equation Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1
1.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1
1.7.2 Pardiso Sparse Direct Solver: Threads Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1
1.7.3 Pardiso Sparse Iterative Solver: Threads Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1
1.7.4 Hypre Iterative Solver: MPI Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1
1.7.5 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1
1.7.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-2
1.8 Element Formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-1
1.8.1 Interpolation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-1
1.8.2 Cartesian Derivatives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-2
1.8.3 B Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-3
1.8.4 Internal Force Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-3
1.8.5 Strain Increment for Stress Updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-4
1.8.6 Tangent Stiness Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-4
1.8.7 Mass Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-6
1.9 Finite Strain Plasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-1
1.9.1 Kinematics, Strain-Stress Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-1
1.9.2 Selection of Strain and Stress Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-4
1.9.3 Elastic-Plastic Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-5
1.9.4 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-6
Chapter 2 Model Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1-1
2.1 Model Name and Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1-2
2.2 Material Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-1
2.2.1 Material Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-1
(Updated: 5-13-2013) xi Table of Contents
2.2.2 Stress-Strain Curve Command: Temperature Independent . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-3
2.2.3 Stress-Strain Curve Command: Temperature Dependent . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-5
2.2.4 Stress-Strain Curve Command: Strain-Rate Dependent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-7
2.2.5 Nodal Values of Material Properties for FGMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-9
2.2.6 Anisotropic Thermal Expansion Coecients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-10
2.3 Element Types and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3-1
2.4 Nodal Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4-1
2.5 Element Incidences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5-1
2.6 Element Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-1
2.6.1 Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-1
2.6.2 Simplied, Automatic Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-1
2.6.3 Command and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-2
2.6.4 Blocking with Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-4
2.7 Nodal Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-1
2.7.1 Absolute Constraints in Global Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-2
2.7.2 Non-Global Absolute Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-2
2.7.3 Multi-Point Constraints (MPCs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-4
2.7.4 Constraints in Nonlinear Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-4
2.7.5 Display of Current Constraint Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-5
2.7.6 Tie-Mesh Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-5
2.8 Loads (Including Imposed Temperatures & Non-zero Displacements) . . . . . . . . . . . . . . . . . . . . . . . 2.8-1
2.8.1 Loading Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-1
2.8.2 Nodal Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-2
2.8.3 Element Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-3
2.8.4 Step Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-3
2.8.5 Displacement Control Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-4
2.9 Initial Conditions for Model (displacements, velocities, temperatures) . . . . . . . . . . . . . . . . . . . . . . 2.9-1
2.10 Solution Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-1
2.10.1 Threads for WARP3D Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-1
2.10.2 Linear Equation Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-2
2.10.3 Dynamic Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-6
2.10.4 Newton Iteration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-6
2.10.5 Adaptive Step Size Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-9
2.10.6 Batch Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-10
2.10.7 Wall Clock Time Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-11
2.10.8 Displacement Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-11
2.10.9 Material Model Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-12
2.10.10 Solution Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-13
2.10.11 Residual Loads Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-13
2.10.12

B Element Stabilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-13
2.10.13 Consistent Q Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-13
2.10.14 Resetting the Global Load Reduction Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-14
2.10.15 Output of Sparse Format Equilibrium Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-14
2.10.16 Output of MPCs for Tied Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-15
2.11 Compute Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11-1
2.12 Output Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-1
2.12.1 Printed Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-1
2.12.2 Binary Packets File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-3
2.12.3 Patran Compatible Result Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-5
2.12.4 Patran Compatible Neutral File for Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-7
2.12.5 Energy File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.12-8
2.12.6 Convert Binary Packets to ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-8
(Updated: 5-13-2013) xii Table of Contents
2.13 Analysis Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.13-1
2.14 Table Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15-1
2.14.1 General Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14-1
2.14.2 Table Type: piston . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14-2
2.15 Utility (*) Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15-1
2.16 User Named List Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-1
2.16.1 General Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14-1
2.16.2 Nodes Located on a Coordinate Plane, Lin, or Point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-1
2.16.3 Nodes Located on a General Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-2
2.16.4 Nodes Located on a Cylindrical Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-2
2.16.5 Nodes Located on a Spherical Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-3
2.16.6 Display Entries in Existing List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-4
Chapter 3 Elements and Material Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-1
3.1 Element Type: l3disop, ts9isop, ts12isop, ts15isop, q3disop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-1
3.1.1 Node and Gauss Point Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-2
3.1.2 Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-4
3.1.3 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-4
3.1.4 Mass Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-5
3.1.5 Element Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-6
3.1.6 Strains-Stresses for Large Displacement Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-9
3.1.7 The B Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-10
3.1.8 Collapsed Elements for Fracture Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-13
3.1.9 Temperature Gradients on Linear Displacement Elements . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-13
3.1.10 Material Property Gradients on Linear Displacement Elements . . . . . . . . . . . . . . . . . . 3.1-13
3.1.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-13
3.1.12 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-13
3.2 Element Type: tet4, tet10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-1
3.2.1 Node and Gauss Point Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-1
3.2.2 Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-3
3.2.3 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-3
3.2.4 Mass Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-4
3.2.5 Element Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-5
3.2.6 Strains-Stresses for Large Displacement Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-8
3.2.7 Temperature Gradients in tet4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-8
3.2.8 Material Property Gradients in tet4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-8
3.2.9 Limitations on Current Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-9
3.2.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-9
3.2.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-9
3.3 Interface Elements: inter 8, trint6, trint12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-1
3.3.1 Element Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-1
3.3.2 Geometrically Linear Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-5
3.3.3 Geometrically Nonlinear Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-6
3.3.4 Treatment of Interface Compression for Nonlinear Elements . . . . . . . . . . . . . . . . . . . . . . . . 3.3-7
3.3.5 Node and Integration Point Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-8
3.3.6 Ensuring Proper Element Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-8
3.3.7 Special Procedures for Mode I Crack Growth (Geometric Nonlinear) . . . . . . . . . . . . . . . 3.3-9
3.3.8 Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-12
3.3.9 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-12
(Updated: 5-13-2013) xiii Table of Contents
3.3.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-13
3.3.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-14
3.4 Material Model Type: deformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-1
3.4.1 Formulation and Computational procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-1
3.4.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-3
3.4.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-4
3.4.4 Computational Eciency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-4
3.4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-4
3.5 Material Model Type: bilinear (mises, rate independent) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-1
3.5.1 Stress-Strain Curve and Hardening Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-1
3.5.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-3
3.5.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-3
3.5.4 Computational Eciency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-4
3.5.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-5
3.5.6 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-6
3.6 Material Model Type: mises (general hardening, rate dependent) . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-1
3.6.1 Stress-Strain Curves and Hardening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-1
3.6.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-2
3.6.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-3
3.6.4 Computational Eciency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-4
3.6.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-5
3.6.6 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-8
3.7 Material Model Type: gurson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-1
3.7.1 Stress-Strain Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-1
3.7.2 Power-Law Viscoplasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-2
3.7.3 Recommended Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-3
3.7.4 Nucleation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-3
3.7.5 Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-5
3.7.6 Adaptive Step Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-5
3.7.7 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-5
3.7.8 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-5
3.7.9 Computational Eciency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-6
3.7.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-6
3.7.11 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-8
3.8 Material Model Type: cohesive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-1
3.8.1 Potential Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-2
3.8.2 Linear-Elastic Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-3
3.8.3 PPR Option (Paulino-Park-Roesler) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-4
3.8.4 Exponential Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-9
3.8.5 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-12
3.8.6 Special Procedures: Models with Symmetry Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-13
3.8.7 Adaptive Load Step Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-14
3.8.8 Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-15
3.8.9 Computational Eciency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-15
3.8.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-15
3.9 Material Model Type: mises hydrogen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-1
3.9.1 Hydrogen Concentration in Metals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-1
3.9.2 Hydrogen Eect on the Stress-Strain Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-3
3.9.3 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-3
3.9.4 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-4
3.9.5 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-5
3.9.6 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-5
(Updated: 5-13-2013) xiv Table of Contents
3.10 Material Model Type: cyclic (plasticity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-1
3.10.1 Stress-Strain Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-2
3.10.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-3
3.10.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-6
3.10.4 Element Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-8
3.10.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-8
3.10.6 Plasticity Algorithms - Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-10
3.10.7 nonlinear hardening option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-11
3.10.8 generalized plasticity option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-14
3.10.9 Subincrementation for both cyclic options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-17
3.10.10 Details on 1-D specialization of 3-D plasticity formulation . . . . . . . . . . . . . . . . . . . . . 3.10-20
3.10.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-29
3.11 Material Model Type: umat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-1
3.11.1 Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-1
3.11.2 Temperature Eects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-2
3.11.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-2
3.11.4 Element Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-3
3.11.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-3
3.12 Material Model Type: cp (crystal plasticity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-1
3.12.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-1
3.12.2 Crystal Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-7
3.12.3 Material Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-7
3.12.4 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-9
3.12.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-11
3.12.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-13
Chapter 4 Domain Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1-1
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1-1
4.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2-1
4.2.1 Local Energy Release Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2-1
4.2.2 Domain Integral Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2-2
4.2.3 Domain Form of the J-Integral: Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2-4
4.3 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-1
4.3.1 Denition of the q-Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-1
4.3.2 Volume Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-2
4.3.3 Crack Face Traction Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-2
4.3.4 Crack Front Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-3
4.3.5 Computation of Aq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-4
4.3.6 Output From Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-4
4.4 Commands for Domain Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-1
4.4.1 Outline of Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-1
4.4.2 Input Error Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-1
4.4.3 Components of a Domain Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-1
4.4.4 Initiating a Domain Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-2
4.4.5 Crack Plane Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-2
4.4.6 Crack Front Tangent Vector (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-3
4.4.7 Symmetric Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-3
4.4.8 Crack Front Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-4
4.4.9 Specication of q-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-5
(Updated: 5-13-2013) xv Table of Contents
4.4.10 Printing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-10
4.4.11 Integration Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-11
4.4.12 Face Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-11
4.4.13 Domain Verication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-11
4.4.14 Debugging Domain Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-11
4.4.15 Binary Packet Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-11
4.4.16 Conversion of J-Values to K-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-12
4.4.17 Complete Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-12
4.5 J-Values for Functionally Graded Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-1
4.5.1 Derivative of Stress Work Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-1
4.5.2 Analytical Forms fo the Explicit Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-1
4.5.3 A General Expression for the Explicit Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-2
4.5.4 Numerical Evaluation of General Expression Explicit Derivative . . . . . . . . . . . . . . . . . . . . 4.5-3
4.5.5 Output from Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-4
4.5.6 Domain Denition Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-4
4.5.7 Automatic and User-Dened Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-4
4.6 The Interaction Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-1
4.6.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-1
4.6.2 Auxiliary Fields for Stress Intensity Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-3
4.6.3 Calculation of Stress Intensity Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-5
4.6.4 Auxiliary Fields for T-Stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-6
4.6.5 Calculation of T-Stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-6
4.6.6 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-7
4.6.7 Domain Denition Options for Interaction Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-11
4.6.8 Output from Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-12
4.6.9 Complete Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-132
Chapter 5 Crack Growth Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1-1
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1-1
5.2 Crack Growth by Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-1
5.2.1 Damage Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-1
5.2.2 General Input Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-2
5.2.3 Damage Criteria Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-3
5.2.4 Adaptive Load Control (gurson control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-4
5.2.5 Automatic Load Reduction (smcs control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-4
5.2.6 Extinction Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-5
5.2.7 Release Models for Element Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-6
5.2.8 Meshing Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-8
5.3 Crack Growth by Node Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-1
5.3.1 Geometry Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-2
5.3.2 Input Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-4
5.3.3 Release Models for Reaction Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-9
5.3.4 Node Release Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-12
5.3.5 Analysis Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-13
5.4 Crack Growth Using Interface-Cohesive Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-1
5.4.1 General Input Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-1
5.4.2 Adaptive Load Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-2
5.4.3 Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-4
5.4.4 Extinction Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-5
(Updated: 5-13-2013) xvi Table of Contents
5.4.5 Release Model for Interface Element Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-5
5.4.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-5
Chapter 6 Contact Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1-1
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1-1
6.2 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-1
6.2.1 Overview of Penalty Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-1
6.2.2 Contact Detection/Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-2
6.2.3 Penetration of Multiple Contact Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-5
6.2.4 Parallel Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-5
6.3 Commands for Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-1
6.3.1 Outline of Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-1
6.3.2 Initiating Contact Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-1
6.3.3 Description of Contact Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-1
6.3.4 Utility Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-5
6.3.5 Notes on Multiple Contacting Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-5
6.3.6 Complete Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-5
6.4 Tips for Analyses Using Rigid Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4-1
6.5 Example Analyses Using Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5-1
6.5.1 Rolling of a Metal Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5-1
6.5.2 Crushing of a Pipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5-1
6.5.3 Crack Closure in a Pin-Loaded C(T) Specimen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5-3
Chapter 7 Parallel Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-1
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-1
7.1.1 Threads and Shared Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-1
7.1.2 Hybrid System (MPI+Threads) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-2
7.1.3 Summary & Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-3
7.2 Threads-Only Execution (Windows, Linux, OS X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2-1
7.2.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2-1
7.2.2 Linux and OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2-2
7.3 Solutions with Domain Decomposition: Linux Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-1
7.3.1 Commands to Start Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-3
7.3.2 Extensions to Blocking Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-3
7.3.3 Extensions of patwarp to Support Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-3
7.3.4 Manager-Worker Parallel Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-4
7.3.5 Generation of Patran Result Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-5
7.3.6 Generation of Restart Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-6
7.3.6 Summary of Parallel Tasks with Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-6
Appendix A: Patran Results File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1
Appendix B: References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1
(Updated: 5-13-2013) xvii Table of Contents
Appendix C: Patran-to-WARP3D Translator (patwarp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.1
Appendix D: Tips on Modeling Fracture Specimens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.1
Appendix E: Combine Patran Files After Parallel Execution . . . . . . . . . . . . . . . . . . . . . . . . E.1
Appendix F: Binary Packets File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F.1
Appendix G: Treatment of Cohesive/Interface Elements in Patran Result Files . . G.1
Appendix H: Supported Computer Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H.1
Appendix I: Abaqus Compatible UMAT & Other USER Routines . . . . . . . . . . . . . . . . . . . I.1
Appendix J: Crystal Plasticity Model: Derivation & Formulation . . . . . . . . . . . . . . . . . . . . J.1
(Updated: 5-13-2013) xviii Table of Contents
1.11 Chapter 1 Introduction
Chapter 1
Introduction
1.1 What is WARP3D?
This manual describes the commands and the theoretical background material necessary
to use the WARP3D finite element code. WARP3D is under continuing development as a
research code for the solution of very largescale, 3D solid models subjected to static and
dynamic loads. Specific features in the code oriented toward the investigation of ductile
fracture in metals include:
S a robust finite strain formulation
S a general Jintegral computation facility (with inertia, face loading, thermal loading, an
isotropic materials)
S very general 3D element extinction, node release, and interfacecohesive element facili
ties to model crack growth
S nonlinear material models including viscoplastic effects, and the GursonTvergaard dila
tant plasticity model for void growth
S contact between the deformable finite element model and a library of rigid surfaces
(planes, cylinders, spheres)
S parallel execution using explicit message passing for shared and distributed memory
computers
S fast iterative and (sparse) direct equation solvers that execute in parallel
WARP3D executes in both a conventional serial mode on uniprocessor computers
(workstations, PCs) and in a parallel mode on computers with multiple processors. The par
allel implementation makes use of the industry standard Message Passing Interface (MPI)
to maintain both high efficiency and portability. The parallel version executes on shared
memory computers, distributed memory computers and networks of workstations.
The nonlinear, dynamic equilibrium equations are solved using an incrementalitera
tive, implicit formulation with full Newton iterations to eliminate residual nodal forces.
Time history integration of the nonlinear equations of motion is accomplished with New
mark's b method. WARP3D provides a linearpreconditioned conjugate gradient (LPCG)
solver implemented in an elementbyelement format to replace the role of conventional (di
rect) linear equation solvers. This software architecture often dramatically reduces both
the memory requirements and CPU time for very large, nonlinear solid models since forma
tion of the assembled (dynamic) stiffness matrix is avoided. Analyses thus exhibit the nu
merical stability for large time (load) steps provided by the implicit formulation coupled
with the low memory requirements characteristic of an explicit code. All other computa
tional aspects of the code (element stiffnesses, element strains, stress updating, element
internal forces) are implemented in the elementbyelement, blocked architecture. This
greatly improves utilization of cache memory architectures current RISC processor designs

Numbers in [ ] indicate references listed in Appendix B.


Users Guide WARP3D What is WARP3D?
1.12 Chapter 1 Introduction
(see Carey and Jiang [12], Flanagan and Taylor [28], Hughes, Ferencz, and Hallquist [46],
Healy, Pecknold and Dodds [36] for detailed discussions of blocking strategies).
For models which prove difficult to analyze with the LPCG solver due to poor condition
ing, e.g., thin shell structures modeled with solid elements, WARP3D provides a family of
very efficient, sparse matrix solvers based on multiminimum degree reordering of the
equations and highly tuned code to perform decomposition. The sparse solvers dramatically
reduce both memory and CPU times required for solution of the linearized equations
compared to a traditional profile based solver; factors of 515 reduction in memory and CPU
time are routinely found. Moreover, the sparse solver becomes very competitive with the
LPCG solver on Unix workstations which have slow memory subsystems (relative to their
floating point speeds and to the memory systems on Cray computers, see McCalpin [64]).
The LPCG solver performs far fewer floating point operations to obtain a solution but must
repeatedly cycle over element matrices hundredstothousands of times which increases
the relative importance of memory access times. To reach the maximum possible perfor
mance, WARP3D invokes sparse solvers especially tuned for each hardware platform.
These solvers are usually provided in numerical libraries by the computer vendor. A ``gener
ic" sparse solver is available in all platforms to maintain portability.
For largescale parallel processing, WARP3D augments the blocked software architec
ture with conventional domain decomposition of the entire finite element model, with one
domain assigned to each processor available for execution. WARP3D employs the industry
standard MPI framework to achieve high levels of parallel performance and portability
across sharedmemory, distributedmemory and distributedshared memory computers.
The code runs in a pure MPI mode when the analyst selects the LPCG solver and in a mixed
MPIthreaded mode when the analyst selects one of the platform specific (parallel) sparse
direct solvers.
WARP3D executes in batch and interactive modes. Traditional batch mode execution
is most useful for large analyses on supercomputers which enforce job queuing policies. On
Unix workstations and PCs, the code is often executed in background (&) mode for long jobs
and then interactively during an analysis restart to obtain selected output. Options exist
to write information files describing the solution status at completion of each Newton itera
tion during long analyses executed in batch mode.
WARP3D takes input data from a variety of sources under control of the user. A Patran
toWARP3D translator program (patwarp) is also available to convert a Patran neutral file
for the model into a WARP3D input file. This programs decomposes the finite element mod
el into domains and blocks required for efficient parallel execution. Input commands to de
fine the model, loading history, solution parameters, compute and output requests have a
formatfree, Englishlike structure. Input files may include extensive user comments and
thus are generally selfdocumenting. Output consists of traditional printed displacements,
strains, stresses, etc. in addition to nodal results files in standard Patran format (binary
or ascii) written directly by WARP3D. A convenient restart capability provides the facility
to segment a long job over multiple runs and to create analysis recovery files in the event
of hardware failures or should the solution not converge.
This manual is organized as follows. The remainder of Chapter 1 provides an overview
of WARP3D through discussion of an example problem, and background material on the
formulation and solution of the governing equations. Chapter 2 describes the commands
to define the finite element model, loading history, nonlinear/dynamic solution parameters,
compute and output commands. Chapter 3 provides a detailed description of the currently
available finite elements and material models. Chapter 4 describes the procedures and
commands available to compute Jintegrals using domain integral techniques. Chapter 5
Users Guide WARP3D
1.13 Chapter 1 Introduction
discusses the procedures and commands to model crack growth. Chapter 6 describes the
recently implemented features to model contact between the deformable model and a li
brary of rigid surfaces. Chapter 7 describes background needed to use WARP3D in a highly
parallel computing environment. The appendices provide additional details such as the for
mat of nodal results files generated for use in Patran.
A Note About Physical Units
WARP3D does not provide facilities for units conversions. Users are required to specify con
sistent physical units for all quantities defining the finite element model and loading.
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--1 45.6-#$ 7 +8-$1)'9-(18
!"# $%%&'()*(+,- .)/0%-1
ThIs secfIon descrIbes fhe nonIInear anaIysIs of a pre-cracked Charpy-V-Nofch (CVN) specI-
mensubjecfed fo Impacf IoadIng fypIcaI of fhaf experIenced Ina sfandard, consfanf veIocIfy
fesf. IIgure 1.1 shovs fhe fInIfe eIemenf modeI, dImensIons, boundary condIfIons and Ioad-
Ing hIsfory. In fhIs exampIe, fhe 3-modeI has one-Iayer of eIemenfs Infhe fhIckness dIrec-
fIon vIfh pIane-sfraIn consfraInfs (!=0) Imposed on aII nodes. The modeI has 2008 nodes
and 916 eIemenfs (8-node brIcks vIfh ! modIfIcafIon). The modeI vas deveIoped and ana-
Iyzed fo supporf an InvesfIgafIon of crack fIp InerfIa and vIscopIasfIc effecfs on fhe near-fIp
sfress fIeIds vhIch drIve cIeavage fracfure In ferrIfIc maferIaIs.
The anaIysIs uses fhe smaII-sfraIn kInemafIc formuIafIon vIfhvIscopIasfIc maferIaI behav-
Ior. Iafe-dependenf properfIes characferIsfIc of A533B sfeeI af 100
o
C are specIfIed. The
unIaxIaI (fensIIe) InvIscId response foIIovs a pover-Iav hardenIng modeI ("=10) affer yIeId
af !
0
; fhe vIscopIasfIc response foIIovs a pover-Iav modeI vIfh an exponenf of 35 and a ref-
erence sfraIn rafe of 1!#. IspIacemenfs Imposed af fhe hammer Impacf poInf Increase from
zero as IndIcafed In fhe fIgure fo generafe a consfanf veIocIfy IoadIng of 120 $"!# affer an
eIapsed fIme of 5 "#. The anaIysIs covers 200 "# durafIon In 400 sfeps vIfh a consfanf fIme
Incremenf of 0.5 "#. The remaInder of fhIs secfIon descrIbes feafures of fhe WAIP3 Inpuf
fo defIne fhe modeI, IoadIng hIsfory, requesf compufafIons and oufpuf, and fo compufe %-In-
fegraIs shorfIy affer Impacf.
Inpuf for fhe modeI begIns vIfh a sfrucfure command and maferIaI defInIfIons.
!
! "#$%&'" !() $)$'*+,+ -,./ 0123
!
!
+.45!.54" !()
!
!
%$."4,$' $6778
&49&"4.,"+ %,+"+ " 7:::: )5 :;7 *'<=&. >: )=&9-"4 ?:@
4"A="&+ ?;: %=&9-"4 76;: 4/9 B;CDCB6"E:B
WAIP3 commands are formaf free and may begIn anyvhere vIfhIn fhe fIrsf 20 spaces
on fhe IIne. One or more bIanks separafe dafa Ifems. A 'c` In coIumn 1 denofes a commenf
IIne and Is Ignored by fhe Inpuf fransIafor. A comma (,) af fhe end of a IIne IndIcafes fhaf
fhe Inpuf for fhaf command confInues on fhe nexf IIne. CompIefeIy bIank IInes are Ignored
by fhe Inpuf fransIafors. In fhe above sequence, ve assIgn a convenIenf name for fhe prob-
Iem (&'") vhIch appears on aII prInfed oufpuf and forms fhe InIfIaI parf of some oufpuf fIIe
names. We defIne a maferIaI named ()**+ (any convenIenf Id) and fhe 'fype` of consfIfufIve
modeI as ,$#-#. !p fo 10 maferIaIs may be defIned as above for subsequenf assIgnmenf fo
eIemenfs. !ser assIgnabIe properfIes for fhe modeI are specIfIed as shovn, vIfh a keyvord
IabeI foIIoved by a dafa vaIue. Keyvords have easIIy Inferprefed names and may be gIven
In any order. ecImaI poInfs are opfIonaI and may be omIffed If nof needed fo specIfy fhe
fracfIonaI parf of a number. Some keyvords specIfy ''IogIcaI dafa vaIues; appearance of fhe
keyvord In fhe Inpuf sefs fhe correspondIng properfy vaIue .frue. Properfy ./0 denofes fhe
mass densIfy of fhe maferIaI.
IoIIovIng fhe sfrucfure Id and maferIaI defInIfIons, fhe sfrucfure sIzes and nodaI coor-
dInafes are specIfIed as IIIusfrafed beIov:
!
)5%8"4 9A )9<"+ C::C
)5%8"4 9A "'"%").+ D?>
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--2 45.6-#$ 7 +8-$1)'9-(18
!(1)
0.?8? 0.296
0
.
1
9
?
0
.
1
9
?
22.5
o
:,, )(3#8"(18" (8 (895#"
2002 nodes, 916 elements (8--node w/ B--bar)
2
3
4 "30, 000 5#$
# "0.3
!
0
"60 5#$ (InvIscId)
" "10 (InvIscId pover #Iav hardenIng)
,"35 (vIscopIasfIc pover)
!
.
.-6
"1 $"!$"!# (reference sfraIn rafe)
" "?.292?5 $10
#?
5$7 ##
2
!$"
Material Properties
L
o
a
d
P
o
i
n
t
D
i
s
p
l
a
c
e
m
e
n
t
(
i
n
.
)
Time ("s)
!
.
"120 $"!#
IIC. 1.18.-9&.(&5-: ;/(.7< #7-&$,-" =#-: $" $>>=#1.(1$'- 7.0+>-,?
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--3 45.6-#$ 7 +8-$1)'9-(18
!
F"!/9 9AA
!994<,)$."+
? ;?::D::::>GH:? E;?D>DDDDICGH:: ;:::::::::GH::
C ;?:I7::::>GH:? E;?D>DDDDICGH:: ;:::::::::GH::
;
;
The modeI sIzes are requIred fo properIy aIIocafe space for InfernaI dafa arrays. The order
of commands fo defIne fhe sIzes Is ImmaferIaI (a command of fhe form"=,+-. 06 "0:-# @AA@
->-,-"1# BCD appIIes as veII). Nodes and eIemenfs musf be numbered sequenfIaIIy and
musf nof have ''hoIes In fhe numberIng. The E-&/0 066 suppresses dafa echo of commands
as read from fhe currenf Inpuf fIIe. VarIous * commands may be specIfIed af any poInf In
fhe Inpuf sfream fo confroI fhe echo, svIfch fo anofher fIIe for Inpuf, efc. CoordInafes for
nodes are defIned In fhe gIobaI 3929F sysfem vIfh fhe orIgIn Iocafed af a convenIenf Ioca-
fIon. CoordInafes for nodes may be specIfIed any number of fImes; fhe Iasf specIfIed sef of
coordInafes are refaIned for anaIysIs. The coordInafes here vere fransIafed from a Pafran
neufraI fIIe for fhe modeI by fhe 7(1!(.7 program and fhus have fhe 4 formaf shovn.
The 'IncIdences` defIne fhe connecfIvIfy of each eIemenf node fo fhe correspondIng sfruc-
fure node.
!
,)!,<")!"+
? 6 ? J I > C 7 B
C I J ?: ?C B 7 D ??
7 ?C ?: ?J ?> ?? D ?7 ?6
J ?> ?J ?I C: ?6 ?7 ?B ?D
6 C: ?I CC CJ ?D ?B C? C7
> CJ CC C> CI C7 C? C6 CB
;
;
Chapfer 3 descrIbes fhe orderIng of nodes on fhe eIemenf and fhe reIafIonshIp of eIemenf
nodes fo fhe orderIng of Causs poInfs. Iemenfs may be enfered Inany order; fhe Iasf specI-
fIed sef of IncIdences for fhe eIemenf appIIes In fhe anaIysIs. The Inpuf fransIafors perform
exfensIve checks on fhe specIfIed IncIdences fo Insure fhere are no gross errors (e.g., nodes
vIfh no eIemenfs affached).
The fype of each eIemenf and fhe properfIes for each eIemenf are specIfIed nexf.
!
"'"%").+
?ED?> .*&" '7<,+9& ',)"$4 88$4 %$."4,$' $6778 94<"4 C#C#C
In fhIs exampIe, aII eIemenfs are fhe 8-node IsoparamefrIc (>*:$#07) vIfh a smaII-sfraIn kI-
nemafIc formuIafIon (>$"-(.). The BmodIfIcafIons fo prevenf IockIng under pIasfIc deforma-
fIon are requesfed (++(., a IogIcaI properfy). The prevIousIy defIned maferIaI ()**+ Is
assocIafed vIfh fhese eIemenfs and fhe sfandard 2$2$2 Causs InfegrafIon Is requesfed.
Ofher eIemenf properfIes avaIIabIe Invoke varIous oufpuf opfIons. AII eIemenfs have fhe
same maferIaI and properfIes In fhIs exampIe. When fhIs Is nof fhe case, any number of
sImIIar Inpuf IInes may be defIned fo specIfy fhe properfIes. The $"1-G-.>$#1 consfrucfIon
(1-916 above) Is convenIenf and may be used anyvhere a IIsf of Infegers Is needed In fhe
Inpuf sfream. A more generaI exampIe of an $"1-G-.>$#1 Is: 1-400 by 2, 800-600 by -2,
3000-6000 492 496 ...
ach eIemenf In fhe modeI musf be assIgned fo a ''bIock for compufafIon. BIockIng Is
requIred fo supporf opfImum cache memory ufIIIzafIon on modern IISC processors and
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--4 45.6-#$ 7 +8-$1)'9-(18
vecfor regIsfer operafIons on oIder CIAY compufers. AII eIemenfs In a bIock musf be fhe
same fype (e.g. >*:$#07), have fhe same maferIaI, fhe same fype of kInemafIc formuIafIon,
fhe same vaIues of some eIemenf properfIes (e.g., InfegrafIon order, !) and musf nof be con-
necfed fo a common node In fhe modeI. ThIs Iasf resfrIcfIon does nof appIy for anaIyses con-
ducfed on scaIar compufers (!nIx vorksfafIons, W95/W98/NT and currenf paraIIeI super-
compufers). The maxImum number of eIemenfs per bIock varIes vIfh fhe compufer
hardvare. On Crays, fhe bIock sIze Is normaIIy 128 fo accommodafe vecfor regIsfers of 128
vords In Iengfh. On vorksfafIons, fhe cache memory sIze dIcfafes an opfImum bIock sIze
(usuaIIy 64--256).
Ior paraIIeI execufIon, fhe bIockIng concepf Is exfended fo IncIude convenfIonaI domaIn
decomposIfIon. There are as many domaIns as processors avaIIabIe fo perform fhe anaIysIs.
Iemenfs are fIrsf assIgned fo a domaIn and fhen aII eIemenfs In a domaIn are assIgned
fo bIocks as for serIaI execufIon. Ior exampIe, If 8 processors are avaIIabIe fo perform fhe
anaIysIs, fhere are 8 domaIns numbered 0-?. The domaIn number for each bIock Is IIsfed
In fhe bIockIng Inpuf dafa.
In fhIs exampIe, fhe bIock sIze Is 32 ; fhe bIock number Is specIfIed foIIoved by fhe num-
ber of eIemenfs In fhe bIock and fhe fIrsf eIemenf In fhe bIock. Ior serIaI execufIon, aII
bIocks resIde In domaIn 0 and fhere Is no need fo specIfy fhe domaIn number. Iemenfs ap-
pearIng In a bIock musf be sequenfIaIIy numbered vIfh no hoIes. The 7(1!(.7 program
vhIch converfs a Pafran neufraI fIIe fo a WAIP3 Inpuf fIIe performs aufomafIc bIockIng
of fhe eIemenfs. Ared-bIack aIgorIfhm generafes bIocks vIfhnon-confIIcfIng node numbers
vhen requIred. 7(1!(.7 aIso performs fhe decomposIfIon of eIemenfs In a modeI Info fhe
user specIfIed number of domaIns. The Inpuf processors In WAIP3 perform exhausfIve
checks fo verIfy fhaf fhe ruIes for bIockIng assIgnmenfs are safIsfIed.
!
8'9!K,)L
? 7C ?
C 7C 77
7 7C >6
B 7C ?D7
;
;
CI 7C I>6
CD C: IDB
NodaI consfraInfs In fhIs anaIysIs enforce fhe pIane-sfraIn condIfIons, fhe symmefry
condIfIons (==0) on fhe crack pIane, fhe '=0 condIfIon af fhe fop, rIghf roIIer supporf and
fhe Imposed IoadIng fo sImuIafe a consfanf veIocIfy response. A porfIon of fhe consfraInf
Inpuf Is shovn beIov. The specIfIed consfraInfs are fhe $"&.-,-"1(> dIspIacemenfs Imposed
over fhe modeI durIng each Ioad (fIme) sfep. ConsfraInfs may be re-defIned as necessary
befveen Ioad sfeps. When modIfIed, (>> consfraInfs musf agaIn be specIfIed. Nodes 499 and
503 In fhIs modeI are fhe fvo nodes af fhe hammer Impacf poInf In fhe fhIckness dIrecfIon.
The consfraInfs shovn here are appIIed durIng Ioad sfeps 1 and 2. Then a nev sef of
consfraInfs Is defIned for appIIcafIon Insfeps 3, 4 vIfhfhe Imposed Incremenfs af nodes 499
and 503 doubIed In vaIue. SImIIarIy, durIng sfeps 5, 6 fhe ' Incremenf af nodes 499, 500
Is 3.0--05; durIng sfeps ?, 8 fhe ' Incremenf af nodes 499, 500 Is 4.0--05; and fInaIIy dur-
Ing sfeps 9--400 fhe ' Incremenf af nodes 499, 500 Is 6.0--05. The Ioad poInf veIocIfy (120
$"!#) remaIns consfanf over sfeps 9--400 and Is sImpIy fhe Imposed dIspIacemenf Incremenf
! !1 (In fhIs case 6.0--0!5.5--06). The sIovIncrease InIoad poInf veIocIfy mInImIzes spurI-
ous oscIIIafIons In fhe response.
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--5 45.6-#$ 7 +8-$1)'9-(18
!9)+.4$,).+
? - :;:
C - :;:
7 - :;:
J - :;:
6 - :;:
> - :;:
;
;
!
!
JDD ( ?;:"E6
6:7 ( ?;:"E6
Ioads may be appIIed fo fhe nodes and eIemenfs of a modeI. Iemenf Ioads, vhIch are
dependenf on fhe fype of fInIfe eIemenf, are converfed fo equIvaIenf nodaI Ioads by eIemenf
processIng roufInes. NodaI Ioads and eIemenf Ioads are grouped fogefher fo defIne >0(:$"G
7(11-."#? The IoadIng pafferns defIne fhe spafIaI varIafIon and reference ampIIfudes of
Ioads on a modeI. xampIes of IoadIng pafferns IncIude dead Ioad, an InfernaI pressure,
sImpIe bendIng of a componenf or specIfIed nodaI-eIemenf femperafures.
A "0">$"-(. IoadIng condIfIon Is decIared usIng prevIousIy defIned pafferns. The ferm
:<"(,$& may be used as a synonym for "0">$"-(. If desIred. A nonIInear/dynamIc IoadIng
consIsfs of a sequenfIaI number of Ioad sfeps. An IncremenfaI-IferafIve soIufIon Is obfaIned
for each Ioad sfep. Ior dynamIc anaIyses, a Ioad sfep Is fhe same as a fIme sfep. ach >0(:
#1-7 may consIsf of IoadIng pafferns combIned vIfh scaIar muIfIpIIers. The scaIed vaIues
of nodaI forces (nodaI Ioads and resuIfIng equIvaIenf nodaI Ioads) for fhe pafferns are ap-
pIIed as fhe nev $"&.-,-"1(> Ioad fo fhe modeI durIng fhe sfep. IoadIng commands for fhIs
exampIe are shovn beIov.
!
'9$<,)L )5''
)9<$' '9$<+
J:? A94!"=* :
!
'9$<,)L <,+&=!.4'
<*)$%,!
+."& ?EC )5'' ?;:
+."& 7EJ )5'' C;:
+."& 6E> )5'' 7;:
+."& BEI )5'' J;:
+."& DEJ:: )5'' >;:
!
In fhIs anaIysIs of fhe CVN specImen, no reaI ''IoadIngs are needed sInce fhe modeI Is
Ioaded by enforced dIspIacemenfs. NeverfheIess, a ''dummy IoadIng paffern musf be de-
fIned fo safIsfy fhe synfax requIremenfs for fhe dynamIc IoadIng. Here, fhe dummy IoadIng
Is assIgned fhe Id ''nuII. The dynamIc IoadIng Is assIgned fhe Id ''dIsp_cfrI. AII 400 sfeps
are defIned above aIfhough fhIs Is nof requIred; addIfIonaI sfeps may be defIned Iafer dur-
Ing fhe anaIysIs. The scaIar muIfIpIIers assIgned fo fhe paffern (1.0, 2.0, 3.0, 4.0, 6.0) above
refer fo fhe reIafIve change Infhe magnIfude of dIspIacemenf Incremenfs. Ior dIspIacemenf
confroI IoadIng, fhese muIfIpIIers come Info use durIng exfrapoIafIon of dIspIacemenfs from
sfep " fo "+1 for acceIerafIng convergence of fhe Nevfon IferafIons.
The user may specIfy vaIues for a number of nonIInear/dynamIc paramefers fhaf confroI
fhe soIufIon procedures In fhIs exampIe, ve specIfy
!"#$%" &'()# * !"#$%& +,,'"-$.-(/# 0$12,#3
'()**+ 45.6-#$ 7 +8-$1)'9-(18
!
"#$%&'! %$%(#)') *%+%&,-,+)
).(/-'.$ -,!0$'1/, "'+,!- )*%+),
&%2'&/& '-,+%-'.$) 3
!.$4,+5,$!, -,)- $.+& +,)'"/%( -.( 676663
$.$!.$4,+5,$- ).(/-'.$ )-.*
-'&, )-,* 673,89
,2-+%*.(%-, .$
%"%*-'4, ).(/-'.$ .$
&%-,+'%( &,))%5,) .::
;%-!0 &,))%5,) .$
!
! "#$ %#&$'()* )#*+(,-,./ 01# '20,'. 3(# /,4#. "'55'$#) -& 3 (#67,(#) 4357#8*9: ;'<# 23=
(3<#0#(* 134# .7<#(,+35 4357#* $1,5# '01#(* 134# !"> !## 4357#* 3.) '01#(* ?7*0 #.) $,01
3 %#&$'(): @'*0 23(3<#0#(* 134# *7,03-5# )#"3750 4357#*: ! -(,#" #A253.30,'. '" #3+1 23=
(3<#0#( *2#+,",#) 3-'4# "'55'$*B
! C1# 5,.#3( #6730,'.*'54#( ,* *2#+,",#)3* $%&'() *+,&*',3.,.=<#<'(&),(#+0 *'54#( 0130 #<=
25'&* *23(*# <30(,A 0#+1.'5'/& 0' (#'()#( 01# #6730,'.* "'( 4#(& #"",+,#.0 )#+'<2'*,0,'.:
C1,* *'54#( ,* #"",+,#.0 "'( D=E0&2# <')#5*> *7+1 3* 01,* #A3<25#> 3.) "'( <')#(30# *,F# G=E
<')#5*: C1# 2(,<3(& #6730,'. *'54#( "'( 53(/# G=E <')#5* 7*#* 01# 5,.#3(> 2(#+'.),0,'.#)
+'.?7/30# /(3),#.0 35/'(,01< 3.) ,* (#67#*0#) -& 01# '20,'. -+(. (301#( 013. $%&'()/
! C1# <3A,<7<.7<-#( '" H#$0'. ,0#(30,'.* 0' #5,<,.30# (#*,)735 "'(+#* ,. #3+1 *0#2 ,* *#0
0' I:
! C1# H#$0'. +'.4#(/#.+# 0#*0 *2#+,",#* 3 0'5#(3.+# '" J:JIK '. 01# L7+5,)#3. .'(< '" 01#
(#*,)735 "'(+#* (#530,4# 0' 01# L7+5,)#3. .'(< '" 01# +7((#.0 80'0359 5'3) 4#+0'(: ;'570,'.*
0130 "3,5 0' +'.4#(/# +37*# 0#(<,.30,'. '" 01# 3.35&*,* 7.5#** 01# )#"3750 *)!+ 4357# "'( 01#
"!"(!"0'&.'") *!-1)%!"* ,* +13./#) 0' (!")%"1'/
! C1# 0,<# *0#2 ,* I !* "'( 7*# ,. H#$<3(%M* <#01') 0' ,.0#/(30# 01# )&.3<,+ #67,5,-(,7<
#6730,'.*:
! '2)&,+!-,)' !" ,.4'%#* 3 .'.5,.#3( *'570,'. '20,'. $1,+1 ,<2'*#* 01# *+35#) ),*253+#<#.0
,.+(#<#.0 +'<270#) "'( *0#2 " '. 01# <')#5 0' *03(0 01# *'570,'. "'( *0#2 "NO: C1,* '20,'.
/(#305& 3++#5#(30#* 01# +'.4#(/#.+# '" H#$0'. ,0#(30,'.* "'( ),*253+#<#.0 +'.0('55#) 5'3)=
,./:
! C1#.'.5,.#3(,$,+)%0'*0(30#/&,*(#67#*0#)P 5'3)*0#2*3(#370'<30,+355&*7-=,.+(#<#.0#)
3.) (#=*'54#) $1#. 01# *2#+,",#) 5,<,0 '. 01# .7<-#( '" H#$0'. ,0#(30,'.* ,* (#3+1#) $,01=
'70 +'.4#(/#.+#: C$' 5#4#5* '" 3)320,4,0& 3(# 343,53-5# $1,+1*7-),4,)#> 30 <'*0> 3 7*#( *2#=
+,",#) *0#2 ,.0' OQ *7-=*0#2*: !)320,4# *'570,'.* 0130 )' .'0 +'.4#(/# 3(# 0#(<,.30#) 3.)
3 (#*03(0 ",5# $(,00#.:
! @30#(,35 <')#5* 8-&)#"37509 ,**7#<#**3/#* $1,+1.'0,"&'" ",(*0 &,#5),./> (#4#(*#)&,#5),./>
3.) '01#( *030# +13./#*: C1#*# <#**3/#* 3(# *722(#**#) $,01 3,)'&%,- 3'**,.'* !##/
! C1,* 3.35&*,* ,* #A#+70#) ,. RR-30+1S <')# 8T9 '. 3 $'(%*030,'.: C1# 4,)(5 3'**,.'* !" 23=
(3<#0#( (#67#*0* 0130 U!VWGE$(,0# 3*'570,'.*0307* 0' 3",5# "'55'$,./#3+1H#$0'.,0#(3=
0,'.: C1,* ",5# ,* .3<#) X*0(7+07(# ,)Y:-30+1Z<#**3/#*: C1#*# ",5#* 2('4,)# ,."'(<3=
0,'.3-'70 +'.4#(/#.+#'" 01#*'570,'.: C1# [.,A),%- +'<<3.),* +'.4#.,#.0 0' #A3<,.#01,*
",5# )7(,./ +'<27030,'.*:
C1# <')#5> 5'3),./ 1,*0'(& 3.) *'570,'. 23(3<#0#(* 3(# .'$)#",.#): \'<<3.)* 0' (#=
67#*0 3. 3.35&*,* 3.) '70270 '" (#*750* 3(# /,4#.: ]'( 01# ",(*0 OJ 5'3) *0#2* 01# +'<<3.)*
3(#B
!
!.&*/-, "')*(%!,&,$-) :.+ (.%"'$5 "')*<!-+( :.+ )-,* = >
?,!0. .::
?'$*/- :+.& @:.+-#@
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--7 45.6-#$ 7 +8-$1)'9-(18
F"!/9 9)
!
!9%&5." <,+&'$!"%").+ A94 '9$<,)L <,+&=!.4' A94 +."& 7 J
!
"!/9 9AA
F,)&5. A49% M+,#.*M
F"!/9 9)
!
!9%&5." <,+&'$!"%").+ A94 '9$<,)L <,+&=!.4' A94 +."& 6 >
!
F"!/9 9AA
F,)&5. A49% M",L/.*M
F"!/9 9)
!
!9%&5." <,+&'$!"%").+ A94 '9$<,)L <,+&=!.4' A94 +."& B I
!
F"!/9 9AA
F,)&5. A49% M9)"E.-").*M
F"!/9 9)
!
!9%&5." <,+&'$!"%").+ A94 '9$<,)L <,+&=!.4' A94 +."& D ?:
!
+$(" .9 A,'" M!()=+."&=?:M
!
95.&5. <,+&'$!"%").+ )9<" BDI
95.&5. ("'9!,.* )9<" BDI
95.&5. -,<" "A94%$. +.4$,)+ "'"%").+ C:EJ:
95.&5. -,<" "A94%$. +.4"++"+ "'"%").+ C:EJ:
95.&5. $!!"'"4$.,9)+ A94 "'"%").+ ?::EC:: 8* C
95.&5. 4"$!.,9)+ ?:D@??:
95.&5. 4"$!.,9)+ JDD@6:7
95.&5. &$.4$) 8,)$4* <,+&' +.4"++ +.4$,)+ ("'9!,.* $!!"'"4$.,9)+
F,)&5. A49% M<9%$,)=<"A,)"M
+.9&
Here, ve requesf compufafIon of resuIfs for Ioad sfeps 1--2 and fhensvIfchfhe Inpuf sfream
fo a fIIe named 60.1<. ThIs fIIe confaIns an enfIre nev sef of consfraInfs for fhe modeI (fhe
IncremenfaI dIspIacemenfs Imposed on nodes 499, 503 are Increased fo 2.0e--5 from
1.0e--5). The fIrsf fev and Iasf fev IInes of fhe fIIe 60.1< are
!9)+.4$,).+
? - :;:
C - :;:
7 - :;:
;
;
C::C - :;:
!
JDD ( C;:"E6
6:7 ( C;:"E6
The * commands furn off fhe dafa echo vhIIe fhe nev consfraInfs are beIng read and fhen
resume fhe dafa echo (fhIs Is jusf for convenIence and may be omIffed). The *$"7=1 com-
mand specIfIes fhe fIIe name for Inpuf. We couId jusf as easIIy have pIaced fhe confenfs of
fIIe 60.1< In fhe currenf Inpuf fIIe. The WAIP3Inpuf processors sense vhen fhe end-of-fIIe
condIfIon on 60.1< occurs and aufomafIcaIIy resume readIng from fhe prevIous Inpuf
sfream. ThIs sequence of commands Is repeafed fo confInue fhe anaIysIs fhrough Ioad sfep
10, and In fhe process ramp fhe Imposed Ioad poInf veIocIfy fo 120 $"!#.
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--8 45.6-#$ 7 +8-$1)'9-(18
IoIIovIng compIefIon of fhe anaIysIs for Ioad sfep 10, ve Issue a #('- 10 6$>- ??? command
vhIch forces creafIon of an anaIysIs resfarf fIIe (sequenfIaI, bInary) named &'"H#1-7HCA;
The choIce of fIIe name resIdes vIfh fhe user. ThIs fIIe enabIes resumpfIon of fhe anaIysIs
af Ioad sfep 11 In a fufure program execufIon (as IIIusfrafed subsequenfIy).
SeveraI 0=17=1 commands are defIned fo requesf prInfIng (fo fhe &=..-"1 oufpuf devIce)
of nodaI and eIemenf vaIues (dIspIacemenfs, veIocIfIes, acceIerafIons, sfraIns, sfresses).
These resuIfs are dIspIayed In fabuIar form vIfh approprIafe page and coIumn headers.
The .-(&1$0"# are reacfIons af consfraIned nodaI dof. The 0=17=1 7(1.(" ... command re-
quesfs creafIon of +$"(.< (ascII Is opfIonaI) fIIes of nodaI vaIues vrIffen In fhe requIred for-
maf for dIrecf posf-processIng by Pafran. These fIIes have fhe names 7+:IIIII, for exam-
pIe, vhere 7+: denofes 'pafran bInary dIspIacemenfs` and ##### IndIcafes fhe Ioad sfep
number. AppendIx A defInes fhe formaf of Pafran resuIfs fIIes creafed by WAIP3.
IInaIIy, an *$"7=1 command Is specIfIed fo read more Inpuf fromfhe fIIe :0,($"H:-6$"-.
ThIs fIIe confaIns fhe Inpuf commands
!
<9%$,) 9)"
+*%%".4,!
A49). )9<"+ ?DB6 ?DBB ',)"$4
)94%$' &'$)" )# ? )* : )N :
OE($'5"+ $5.9%$.,! 4,)L+ 7?E76
&4,). .9.$'+
A5)!.,9) .*&" <
!9%&5." <9%$,) ,)."L4$'
!
We defIne one ''domaIn for %-InfegraI compufafIon usIng fhe resuIfs for Ioad sfep 10.
AdomaIn Is defIned by specIfyIng an ''Id (0"- InfhIs exampIe for oufpuf headers), fhe nodes
In fhe domaIn aIong fhe crack fronf, fhe J9funcfIon InferpoIafIon order aIong fhe fronf, fhe
orIenfafIon of fhe crack pIane reIafIve fo fhe gIobaI coordInafe sysfem, fhe number and
fypes of ''rIngs for %-evaIuafIon and oufpuf opfIons. The .$"G# *C9*) opfIon requesfs fhaf
fhe fIrsf %-vaIue be compufed usIng eIemenfs Infhe 31
#1
rIng of eIemenfs encIosIng fhe crack
fronf. %9vaIues are fhen compufed over rIngs 32-35. VaIues for each rIng are prInfed and
sfafIsfIcs shovnfo assess fhe pafh (domaIn) Independence of fhe vaIues. The #<,,-1.$& pa-
ramefer causes fhe code fo doubIe %-vaIues prIor fo prInfIng.
In fhIs (effecfIveIy) 2- modeI, ve requesf compufafIon of a ''fhrough-fhIckness aver-
age %-vaIue by specIfyIng 6="&1$0" 1<7- :. In generaI 3- modeIs, ve specIfy fhe sequence
:0,($" ??? &0,7=1- :0,($" $"1-G.(> af each poInf on fhe crack fronf vhere %-vaIues are re-
quIred. WAIP3 aufomafIcaIIy defermInes fhaf fhe anaIysIs Is dynamIc and IncIudes fhe
InerfIa ferms In % and crack face IoadIngs If fhey are presenf as veII.
The Inpuf fIIe ends vIfh a #107 command vhIch fermInafes program execufIon. K-#1(.1
6$>-# ,=#1 +- -L7>$&$1>< .-J=-#1-: !$1/ 1/- MM#('-N &0,,(":?
To resfarf fhe anaIysIs af Ioad sfep 11 In a nevexecufIon of fhe program, fhe Inpuf fIIe
for fhIs exampIe begIns vIfh fhe commands
!
4"+.$4. A49% A,'" M!()=+."&=?:M
!
95.&5. <,+&'$!"%").+ ?::EC::
!
<*)$%,! $)$'*+,+ &$4$%"."4+
"
#
;1)#
1975
;1)#
1977
!"#$%" &'()# * WARP3D +,,'"-$.-(/# 0$12,#3
1.2--9 45.6-#$ 7 +8-$1)'9-(18
%$#,%5% ,."4$.,9)+ J
!9)("4L")!" ."+. )94% 4"+,<5$' .9' :;::?
%$."4,$' %"++$L"+ 9)
8$.!/ %"++$L"+ 9AA
!
!9%&5." <,+&'$!"%").+ A94 '9$<,)L <,+&=!.4' A94 +."& ??EC:
+$(" .9 A,'" M!()=+."&=C:M
!
95.&5. <,+&'$!"%").+ )9<" BDI
95.&5. ("'9!,.* )9<" BDI
95.&5. -,<" "A94%$. +.4$,)+ "'"%").+ ;;;
;
;
;
The .-#1(.1 command musf be fhe fIrsf non-commenf IIne Infhe resfarf fIIe. WAIP3reads
fhIs fIIe fo resfore aII InfernaI varIabIes fo fheIr vaIues af compIefIon of Ioad sfep 10. Anofh-
er 0=17=1 command requesfs more resuIfs for sfep 10 and fhenseveraI anaIysIs paramefers
are modIfIed. The anaIysIs for sfeps 11-20 Is requesfed and fhe compufafIons are fInIshed,
anofher resfarf fIIe Is creafed, oufpuf commands fo prInf resuIfs af sfep 20 Issued, efc.
Users Guide - WARP3D Manual Conventions
1.3 Manual Conventions
The input translators for WARP3D provide a convenient, free-form command structure to
simplify specication of model and solution parameters. This section describes the conventions
and notation employed throughout the manual to explain commands. The appearance within
a WARP3D command of a descriptor of the form
<integer>
implies that the user is to enter an item of data within that position in the statement of the
class described by the descriptor (in the above example an integer). The command
number of nodes <integer>
implies that the word nodes is to be followed by an integer, such as 1000 or 68970, and that
the statement entered as input data should be of the form
number of nodes 68970
The following are denitions of the most common descriptors used within the language. Those
not described below are explained when they rst occur in the text.
<integer> a series of digits optionally preceded by a plus or minus sign. Examples are 121,
+300, -410.
<real> a series of digits with a decimal point included, or series of digits with a decimal
point followed by an exponential indicating a power of 10. Real numbers may
be optionally signed. Examples are 1.0, -2.5, 4.3e-01.
<number> is either a <real> or an <integer>. The input translator performs mode con-
version as needed for internal storage. The notation <numr> is also used as an
alternate name for this descriptor.
<label> is a series of letters and digits. The sequence must begin with a letter. Input
translators also accept the character underbar, , as a valid letter. Labels may
have the form big cylinder, for example, to give the appearance of multiple
words for readability.
<string> is any textual information enclosed in apostrophes () or quotes (). An example
is this is a string.
<list> sometimes termed <integer list> is the notation used to indicate a sequence
of positive integer values usually nodes or element numbers. Lists generally
contain two forms of data that may be intermixed with the same list. The rst
form of data is a series of integers optionally separated by commas. An example
is 1, 3, 6, 10, 12. The second common form of a list implies a consecutive
sequence of integers and consists of two integers separated by a hyphen. An
example is 1-10, which implies all integers in the sequence 1 through 10. An
extension of this form implies a constant increment, e.g., 1-10 by 2 implies 1,
3, 5, 7, 9. A third form, all, is sometimes permitted, and implies all physically
Chapter 1 (Updated: 1-3-2012) 1.3-1 Introduction
Users Guide - WARP3D Manual Conventions
meaningful integers. The forms of lists are often combined as in ... nodes 1-100
by 3, 200-300, 500-300 by - 3.
Input to WARP3D thus appears as a sequence of English-like commands. Many of the words
or phrases in these commands are optional and are permitted for readability or to specify options
with a command. In the denition of each command, underlined words are required for proper
operation of the input translators. If a portion of a word is underlined, only the underlined
portion is required input. Items such as <integer> shown in the command denitions are not
underlined but must always be replaced by an item of the specied class. For example, the
command phrase dened by
number (of) nodes < integer >
can be shortened to
numb of node 10
if the user so desires.
In many instances, more than one word is acceptable at a given position within a command.
The choices are listed one above the other in the command denition and enclosed in { }. The
command denition
compute

displacements
domain
_
indicates that each of the following commands is acceptable
compute domain
compute displacements
comp displa
Optional words and phrases are enclosed with parentheses, ( ). In some commands, items may
be repeated and/or multiple phrases may be combined on one data line. This is indicated in
the command denition by enclosing the repeatable entries within brackets, [ ]. The command
< integer >
_
_
_
_
_
x
y
z
_
_
_
< number > (, )
_
_
implies that the following sequences are valid:
1 x 10 y 10 z 15.3
2 x 15 z 30
30 z -42.5
To be more descriptive within the command denitions, actual data items (those denoted
with < > in the denition) are sometimes described in terms of their physical meaning and
Chapter 1 (Updated: 1-3-2012) 1.3-2 Introduction
Users Guide - WARP3D Manual Conventions
followed by the type or class of data item which can be used in the command. For example the
command,
structure < name of structure : label >
implies that the data item following the word structure is the name of the structure and must
a descriptor of type <label>. Examples of acceptable commands are
structure cylinder
struct big_block
while
structure 1a
is not acceptable since the name of the structure is not a label (labels must begin with a letter).
User Named Lists
User named lists of integers described in Chapter 2 as part of model denition provide an
often convenient approach to manage otherwise repetitive input of long lists of integers. The
list command enables construction of lists as in
list ex_1 1-10000 by 3, 23100-40000, 69250-119500 by 13,
142590-168900, 489000-64000 by 15
Then the list ex 1 may be used in any subsequent command that requires a <list> or
<integer list>.
Continuation Lines
A comma (,) placed at the end of a line causes the subsequent data line to be considered a
logical continuation of the current line. There is no limit on the number of continuation lines.
Continuation can be invoked at any point in any command.
Comment Lines
Comments may be placed at any point in the input. Comment lines may be indicated with
the three forms: (a) a # in column 1, (b) an ! in column 1, or (c) the letter c or C appearing
in column 1 of the data line followed by one or more blanks marks it as a comment line. The
line is read and (possibly) echoed by the input translator. The content is ignored and the next
data line read.
Blank lines may appear at any point in the input for readability. The input translators
ignore blank lines.
Chapter 1 (Updated: 1-3-2012) 1.3-3 Introduction
Users Guide - WARP3D Manual Conventions
Line Termination
Line termination is accomplished in one of three ways. First, the last column examined
by the input translators is column 72. Secondly, after encountering the rst data item on a
card, the translators count blanks between data items. If 40 successive blanks are found, the
remainder of the line is assumed blank. Finally, a $ indicates an end of line. Space following
the $ is ignored by the input translators and is often used to include short comments.
Chapter 1 (Updated: 1-3-2012) 1.3-4 Introduction
Users Guide WARP3D Equations of Motion
1.41
Chapter 1 Introduction
1.4 Nonlinear Equations of Motion
The structure occupies the configuration B
0
at time t = 0 and evolves through time to the
deformed configuration B at time t. In the B
0
configuration, the structure is undeformed
andat rest. Inreaching the deformedconfiguration, the structure may displace inany man
ner, including simple rigid body translation or rotation in the absence of true deformation.
This situation is illustrated in Fig. 1.2. The position vector Xidentifies a point in the unde
formed configuration and x denotes the position vector of the same point in the deformed
(current) configuration. The vector d is the displacement vector that takes the point from
the initial to the deformed configuration. The coordinates of the structure in the reference
configuration represent the geometry interpolated fromthe parametric coordinates in the
isoparametric formulation. The nonlinear implementation of the finite element method in
WARP3 employs a continuously updated formulationnaturally suited for solids withonly
translational dof at the nodes. The expression of virtual work defining equilibriumand the
equations of motion are defined and solved on the current, B, configuration. Throughout
the deformation history of the structure, this choice of reference configuration remains in
effect.
B
d
X
x
initial (undeformed) configuration
deformed configuration
FIG. 1.2Definitionof initial andcurrent (deformed) configurations. Equations
of motion are written on the deformed configuration.
B
0
X
~
, X, x
Y
~
, Y, y
Z
~
, Z, z
In the remainder of this section, the equations of motion are derived. ethods for
solutionof the resulting nonlinear algebraic equations are describedinsubsequent sections
and followed by descriptions of the specific finite element formulations and the adopted for
mulation to model finite strains and rotations.
The weak formulation of momentumbalance equations (virtual work) expressed in
the current configuration is given by

V
da
T
PdV*
V
dd
T
f dV*

m
i+1
dd
T
i
p
i
+0 (1.1)
Users Guide WARP3D Equations of Motion
1.42 Chapter 1 Introduction
where Vdenotes the current volume daand Pare the virtual rate of deformationvector and
the Cauchy stress vector f is the body force vector per unit volume in the deformed configu
ration and each p
i
is a 31 vector of external forces acting at mdiscrete points see Mal
vern [59] Marsden and Hughes [60] . We use 61 vector forms of the symmetric tensors
for da and P. The operator d denotes a small arbitrary virtual variation. The virtual rate
of deformation tensor and the Cauchy stress tensor form a work conjugate pair when de
fined on the current configuration.
External force vectors remainconstant inmagnitude anddirectionover a loadstep. The
nodal forces p
i
may comprise directly applied nodal forces and the work equivalent nodal
forces due to specified surface tractions applied onelement faces and other body forces e.g.
self-weight. Inertial D Alembert forces arising from accelerations are given by
f +*d
..
1.2
where r is the mass density in the deformed configuration. By including acceleration forces
in f and body forces due to self-weight in p
i
Eq. 1.1 becomes

V
da
T
PdV)
V
dd
T
d
..
dV*

m
i+1
dd
T
i
p
i
+0 . 1.3
Following standardprocedures Cooket. al [16] Hughes [44] Eq. 1.3 transforms from
a purely continuum form to an equivalent finite element form as given below beginning
with integrations over each element to define the volume integral over the structure

#elem
j+1

V
j
e
da
T
PdV
e
)

#elem
j+1

V
j
e
dd
T
d
..
dV
e
*

m
i+1
dd
T
i
p
i
+0 1.4

#elem
j+1
du
T
e
I
e

j
)

#elem
j+1
du
T
e
M
e
u
..
e

j
*

m
i+1
dd
T
i
p
i
+0 1.5
du
T

I
e
)

M
e

u
..
*P +0 1.6
where uis the global nodal displacement vector u
e
is anelement nodal displacement vector
I
e
is an element internal force vector M
e
is an element mass matrix and P is the global
external force vector. Subsequent sections outline procedures to compute the element inter
nal force vector and the element mass matrix as well as the element tangent stiffness ma
trix. The summations inEq. 1.6 denote the global assembly process. Since the duare arbi
trary in nature

I
e
)

M
e

u
..
*P +0 . 1.7
After performing the assembly processes implied by the S in Eq. 1.7 the global equation
of motions become
I )Mu
..
+P . 1.8
The vectors have size 3m where mdenotes the number of structure nodes. Nonlinearity
in I arises fromthe element internal force vectors geometric and/or material effects while
Pbecome nonlinear whentractions appliedto element faces have constant orientationrela
tive to the deformed face e.g. pressure loads .
Users Guide WARP3D Dynamic Analysis
1.51 Chapter 1 Introduction
1.5 Dynamic Analysis: Newmark b Method
Numerical integration of the equations of motion in WARP3Dis performed using a method
attributed to Newmark [71] This approach employs a two parameter family of equations
that define the displacement velocity and accelerationat time t
n+1
interms of the displace
ment increment from t
n
to t
n+1
and the kinematic state at time t
n
These equations derive
from successive application of the extended mean value theorem of differential calculus
Consider first the velocities at time t
n
and t
n+1
Use of the extended mean value theorem
for the first derivative leads to the equation
u
.
n)1
+u
.
n
)Dt u
..
g
; u
..
g
[ u
..
n
u
..
n)1
] (1 9)
Using the relationship
u
..
g
+(1 *g)u
..
n
)gu
..
n)1
; 0 v g v 1 (1 10)
Eq (1 9) can be rewritten as
u
.
n)1
+u
.
n
)(1 *g)Dtu
..
n
)gDtu
..
n)1
(1 11)
Equation (1 11) provides an exact result for a given time interval if the parameter g can be
chosen correctly Even so the constant acceleration u
..
g
upon integration of Eq (1 9) does
not necessarily produce the correct displacement at time t
n+1
in terms of the displacement
and velocity at time t
n
Accordingly the extended mean value theoremfor the second deriv
ative is invoked to yield
u
n)1
+u
n
)Dtu
.
n
)
Dt
2
2
u
..
b
; u
..
b
[ u
..
n
u
..
n)1
] (1 12)
Again a relationship having the form
u
..
b
+(1 *2b)u
..
n
)2bu
..
n)1
;
0 v 2b v 1
(1 13)
is employed to recast Eq (1 12) as
u
n)1
+u
n
)Dtu
.
n
)
(1 *2b)
2
Dt
2
u
..
n
)bDt
2
u
..
n)1
(1 14)
Equation (1 14) also provides an exact for a given time interval as long as the choice of
the parameter b proves to be correct Of course in general it is impossible to choose either
g or b correctly without knowing the solution in advance so that the approximation in the
Newmark method lies in the choice of g and b Newmark showed that to avoid spurious
damping in linear systems the parameter g should equal 12 The pertinent equations of
the Newmark method then become
u
.
n)1
+u
.
n
)
Dt
2
(u
..
n
)u
..
n)1
) (1 15)
u
n)1
+u
n
)Dtu
.
n
)
(1 *2b)
2
Dt
2
u
..
n
)bDt
2
u
..
n)1
(1 16)
A wide variety of values for the parameter b are possible For instance setting b equal
to zero leads to the second central difference method Achoice of b +16 defines the linear
acceleration method wherein the acceleration is assumed to vary linearly over the time
increment The choice of b +14 produces the constant average acceleration method
Newmarkdemonstratedthat b +14renders the methodunconditionally stable for linear
problems; other choices must satisfy a time step constraint to maintain stability through
Users Guide WARP3D
Dynamic Analysis
1.52 Chapter 1 Introduction
out the solution. For materially nonlinear problems Schoeberle and Belytschko [81] estab
lished that the use of p+14 leads to unconditional stability when nonlinear equilibrium
iterations (Newton) are performed to satisfy an energy convergence criterion and for non
linear elastic problems Hughes [39] found much the same situation. In WARP3D p+14
is the default value although users can modify this value.
Use of the Newmark method leads to an implicit dynamic formulation in that the solu
tion of a nontrivial system of equations is required to compute a displacement increment.
Assuming that pdoes not equal zero Eqs. (1.15 1.16) are manipulated to the form
Du
n)1
+u
n)1
*u
n
(1.17)
u
.
n)1
+
1
2pDt
Du
n)1
*
(1 *2p)
2p
u
.
n
*
(1 *4p)
4p
Dtu
..
n
(1.18)
u
..
n)1
+
1
pDt
2
Du
n)1
*
1
pDt
u
.
n
*
(1 *2p)
2p
u
..
n
(1.19)
Equations (1.17-1.19) are substituted into the equations of motion and into the chosen it
erative nonlinear solution algorithm. The total displacement increment for the current
time step is computed Du
n)1
and that increment is back substituted into Eqs. (1.17-1.19)
to define the velocity and acceleration for the current estimate of the solution at time t
n+1
.
!"#$%" '()*# + !"#$%& ,#-./0%" 1#-2/*
'()*' 3245-#$ 6 70-$/*(8-)/0
1.6 Solution of Nonlinear Equations: Newtons Method
Recalling the equation of motion, the residual load vector at any time is expressed as
R +P*I *Mu
..
(1.20)
where P is the external load vector, I is the internal force vector, M is the mass matrix, and
u is the nodal displacement vector. The residual defines the outofbalance force vector
that arises from nonlinear effects in I and (possibly) P computed for t he current estimate
of the nodal displacements, u. An iterative solution designed to drive the residual to zero
is desired. Newtons method for nonlinear equations, illustrated in Fig. 1.3 for a static anal
ysis, can be derived by assuming that there exists an approximate displacement state, u
~
,
in the neighborhood of the exact solution for which a linear mapping represented by
R(u) +R(u
~
) )dR(u) +R(u
~
) )
R
u
du (1.21)
is a good approximation to the residual load vector. The partial derivative in Eq. (1.21) rep
resents the Jacobian matrix which maps the displacement vector to the residual load vec
tor. Presumably, a better approximation, u
~
)du, is obtained by setting Eq. (1.21) to zero.
The differential increment of the residual load vector (the mass matrix for a given time step
is constant), is given by
dR + dP*dI *Mdu
..
. (1.22)
The external loads remain constant in direction and magnitude over a load (time) step and
thus dP=0 (see discussion below for deformation dependent loads). By using Eq. (1.19) to
define the differential acceleration in terms of Newmarks method and by introducing the
structure tangent stiffness, we have
Mdu
..
+
1
bDt
2
Mdu , (1.23)
dI +K
T
du . (1.24)
where K
T
denotes the tangent stiffness matrix for the structure. Equation (1.22) can then
be written in the form
dR + *K
d
T
du (1.25)
where
K
d
T
+K
T
)
1
bDt
2
M (1.26)
defines the dynamic tangent stiffness. The use of dR from Eq. (1.25) in Eq. (1.21) yields
R(u) +R(u
~
) *K
d
T
du (1.27)
which demonstrates that the dynamic tangent stiffness is the negative of the Jacobian ma
trix relating the residual load vector to the displacement vector:
K
d
T
+ *
R
u
. (1.28)
Setting Eq. (1.27) to zero and rearranging defines
K
d
T
du +R(u
~
) (1.29)
!"#$%" '()*# + !"#$%& ,#-./0%" 1#-2/*
'()*+ 3245-#$ 6 70-$/*(8-)/0
P
n)1

P
n

R
n

R
n)1

I
n
+
I
n)1

I
2
n)1

I
1
n)1

u
n
u
3
n)1
u
1
n)1
u
2
n)1

u
P
R
1
n)1

R
2
n)1

R
0
n)1

I
0
n)1

FIG. 1.3Illustration of Newtons method for a static analysis
For finite sized increments, the approximate form of Eq. (1.29) becomes
K
d
T
du
i
n)1
+R
i*1
n)1
(1.30)
where du
i
n)1
denotes the (corrective) increment of displacement for the current iteration
of the time step which advances the solution from n to n+1 and R
i*1
n)1
denotes the residual
load after the previous iteration. This residual is defined as
R
i*1
n)1
+P
n)1
*I
i*1
n)1
*Mu
.. i*1
n)1
(1.31)
or, after substitution of Eqs. (1.171.19), alternatively as
R
i*1
n)1
+P
d
n)1
*I
i*1
n)1
*
1
bDt
2
MDu
i*1
n)1
(1.32)
where P
d
n)1
is the applied load vector at time t
n+1
modified by terms associated with Eqs.
(1.171.19):
P
d
n)1
+P
n)1
)
1
bDt
Mu
.
n
)
(1 *2b)
2b
Mu
..
n
. (1.33)
!"#$%" '()*# + !"#$%& ,#-./0%" 1#-2/*
'()*% 3245-#$ 6 70-$/*(8-)/0
The total change in displacement over the load step, through the current Newton iteration
i for the step, is obtained from the summed corrective displacement vectors for the current
step, i.e.,
Du
i
n)1
+

i
k+1
du
k
n)1
(1.34)
with the updated estimate for the total displacements at step n+1 through iteration i is giv
en by
u
i
n)1
+u
n
)Du
i
n)1
. (1.35)
The combination of Eqs. (1.30) and (1.32) defines the key equation driving the iterative
solution associated with the Newton method:
K
d
T
du
i
n)1
+P
d
n)1
*I
i*1
n)1
*
1
bDt
2
MDu
i*1
n)1
(1.36)
WARP3D employs a full Newton scheme in which the tangent stiffness, K
d
T
, is updated be
fore the solution of Eq. (1.36) at each iteration. Iterations continue until specified conver
gence criteria are met or until a specified limit on iterations is reached.
The residual load vector, the dynamic tangent stiffness, and the mass matrix are computed
using the element computation algorithms discussed subsequently The solution of the lin
ear simultaneous equations, Eq. (1.36), for the iterative displacement increment is per
formed by solvers discussed subsequently as well.
Convergence Criteria
Four convergence criteria are provided to support the Newton iterative solution method.
They are:
1) du
i
n)1
v d
1
du
1
n)1
(1.37)
2) R
i
n)1
v d
2
P
n)1
(1.38)
3) max

|(du
i
n)1
)
k
|, k +1, N
eq

v d
3
du
1
n)1
(1.39)
4) max

(R
i
n)1
)
k
|, k +1, N
eq

v d
4
q (1.40)
Tests (2) and (4) include the current reactions for constrained degrees of freedom in the total
applied load P. q denotes an average force (internal, inertial, reactions, etc.) applied to
nodes of the model (defined in section on input for convergence parameters). This makes
possible the use of these two convergence tests for models loaded only by imposed displace
ments (otherwise P+0).
At present there are no mechanisms in the code to control loading in the vicinity of limit
points or to otherwise improve performance in such situations, e.g., Riks method and line
searches.
Imposed Displacements and Temperatures
Nonzero imposed displacement increments and imposed temperature increments enter
the equation solving process in the following manner. First, Eq. (1.33) is rewritten in the
following form
P
d
n)1
+P
n
)DP)
1
bDt
Mu
.
n
)
(1 *2b)
2b
Mu
..
n
(1.41)
!"#$%" '()*# + !"#$%& ,#-./0%" 1#-2/*
'()*, 3245-#$ 6 70-$/*(8-)/0
where DP denotes the specified increments of nodal forces over nn)1 and the increment
of work equivalent nodal forces arising from specified element loads (body forces and sur
face tractions). The incremental load vector to drive the first iteration of the Newton solu
tion for step n)1, denoted R
0
, is then defined by
R
0
+P
d
n)1
*I
0
)
1
bDt
MDu (1.42)
where Du contains the specified, nonzero displacement increments and (optionally) the ex
trapolated displacements from the previous load step.
The internal force vector, I
0
, for this computation derives from the nodal displacements Du
and the imposed temperature increments as follows:
I
0
+

#elem
j+1

V
j
e
d
T
s
0
dV
e
(1.43)
where the stress field s
0
is obtained through the operations
D
0
+BDu*D
th
(1.44)
s
0
+ s
n
)C

s
n
, D
0,
AAA

. (1.45)
In the above, B denotes the incremental straindisplacement operator with D
th
the speci
fied thermal strain increment for the step. Here, C defines the constitutive operator which
updates the stresses for a specified strain increment. The operators B and C reflect the spe
cific element formulation, finite strainsrotations if required and the appropriate material
consitutive model.
The incremental load vector defined in this manner ( R
0
) is then used in Eq. (1.30) to com
pute the first estimate for the displacement increment which advances the solution from
nn)1,
K
d
T
du
1
n)1
+R
0
. (1.46)
Deformation Dependent Applied Element Loads
In largedisplacement analyses, the equivalent nodal forces computed from the tractions
and pressures applied to element faces vary with element deformation and face rotation.
A precise treatment of these effects in the Newton solution procedure described above leads
to a nonsymmetric tangent stiffness matrix for the model, i.e., the socalled loading stiff
ness has a nonsymmetric form.
WARP3D includes an approximate treatment of deformation and rotation effects on ap
plied element tractions and pressure loadings. For dicsussion, consider a traction with fixed
global direction that acts on an element face (pressure loads are decomposed into three such
cases). The equivalent nodal forces derive from a simple virtual work argument as follows.
t
n)1
+ the applied traction vector at a point (x, y, z) on an element face at n+1
with components (t
x
, t
y,
t
z
) expressed in fixed, global coordinates

du+ the virtual displacement vector at a point (x, y ,z) on an element face with
components (u, v, w) aligned with the fixed, global coordinate axes

!"#$%" '()*# + !"#$%& ,#-./0%" 1#-2/*
'()*- 3245-#$ 6 70-$/*(8-)/0
The virtual work done by the applied traction acting on the deformed configuration of a
single element face (S) at n+1 is given by
dW +
S
n)1
t
n)1
(x, y, z) du(x, y, z) dS (1.47)
where du denotes the workconjugate virtual displacement corresponding to one of the
three applied traction components denoted t. Now introduce interpolation functions to de
fine the applied traction at a point on the face from specified values of the traction magni
tude at the face nodes. Interpolate the corresponding virtual displacement from the face
nodes using the same functions. We can write Eq. (1.47) in finite element form as
t
n)1
(x, y, z) +
[
N
]
1nfn

t
n)1

nfn1
(where nfn +the number of face nodes) (1.48)
du(x, y, z) +
[
N
]
1nfn
{
du
}
nfn1
(1.49)
Here, the traction and virtual displacement vectors now represent the same global compo
nent at each face node. Using these expressions in the virtual work equation leads to
dW +
S
n)1

du
n)1

T
[
N
]
T

t
n)1

dS , (1.50)
dW +

du
n)1

S
n)1
[
N
]
T

ds

t
n)1

, (1.51)
dW +

du
n)1

Q
n)1

t
n)1

, (1.52)
dW +

du
n)1

T
P
n)1
, (1.53)
We see that the equivalent nodal forces on the face,

, at n+1 are given by

P
n)1

nfn1
+

Q
n)1

t
n)1

. (1.54)
In a largedisplacement analysis, the matrix [Q] becomes a function of the nodal displace
ments since the face area varies with loading. For smalldisplacement analyses, [Q] re
mains invariant with respect to loading. The above description applies for a traction with
constant global direction applied on an element face that changes size, shape and orienta
tion with loading. For an applied pressure normal to the face, the corresponding global com
ponents of the (normal) traction vector at each node on the face are first resolved using stan
dard procedures (compute normal unit vector at each face node and multiply by current
pressure intensity). Repeated application of Eq. (1.54) for each component (X, Y, Z) yields
the equivalent nodal loads
The numerical evaluation of [Q] employs standard isoparametric procedures to inte
grate over the element face

Q
n)1

+
1
*1

1
*1

[
N
]
T

|J|
n)1
dcdh . (1.55)
!"#$%" '()*# + !"#$%& ,#-./0%" 1#-2/*
'()*) 3245-#$ 6 70-$/*(8-)/0
WARP3D computes the equivalent nodal loads using the (known) deformed element ge
ometries at step n but with traction magnitudes specified by the user at n+1 and pressure
magnitudes at n+1 (but in deformed face normal directions at n). This approximation intro
duces a dependency on the load step size since the deformed geometry is used at the begin
ning of the step and not at the (unknown) end of step geometry. Thus, WARP3D evaluates
the approximate equivalent nodal forces at n+1 using

P
n)1

nfn1
+

Q
n

t
n)1

. (1.56)
The error in this approach scales (at worst) with the load step size. The load step incre
ment for applied element body forces, face tractions and face pressures then becomes

DP
el

+P
n)1
el
*

P
n
el

. (1.57)
Numerical testing of this approach shows a convergence of the computed solutions with de
creasing load step size specified in the analysis. Changes in the areas of loaded element
faces due to deformation appear more strongly influenced by load step size than rotation
effects caused by the loading. The user is advised to investigate the effects of this approxi
mation in the analysis of their specific models.
Users Guide - WARP3D Linear Equation Solvers
1.7 Linear Equation Solvers
1.7.1 Overview
Solution of the linear set of equations described by Eq. (1.36) within each global Newton
iteration is accomplished using one of several available techniques as described here. All of
these solvers execute in parallel using a variety of techniques based on the available computer
hardware. Chapter 7 provides more details on starting WARP3D for execution using parallel
methods.
1.7.2 Pardiso Sparse Direct Solver: Threads only
The Pardiso sparse direct solver for symmetric systems of equations [1, 2] is implemented in
the Intel Math Kernel Library (MKL) [3]. This solver runs parallel using threads and shared
memory. An out-of-memory option is available for machines with a reduced amount of real
memory.
1.7.3 Pardiso Sparse Iterative Solver: Threads only
The iterative form of the Pardiso sparse iterative solver for symmetric systems of equations
is also implemented in the Intel Math Kernel Library (MKL). This solver runs parallel using
threads and shared memory. The solver employs a Krylov subspace method with conjugate
gradient iterations. The fully factored equations serve as the preconditioner. The sparse direct
solver described above performs the factorization. At present, this solver runs with a xed
preconditioner for load steps and Newton iterations until the convergence rate of the CG
iterations degrades to an unacceptable level. Then the full set of equations is re-factored to
update the preconditioner. This solver is often twice (or more) as fast for larger models as the
direct solver since CG iterations are much less expensive that factorization. The solver always
returns a solution via factorization if the CG iterations fail to converge.
1.7.4 Hypre Iterative Solver: MPI only
This solver is available only with the hybrid (MPI + threads) version of WARP3D. The hypre
iterative solver is developed and made available from Lawrence Livermore National Laboratory
[4]. This solver is suitable for models with millions of nodal displacements. The nite element
model must be partitioned into domains where the number of domains equals the number of
MPI ranks (processes) specied for execution. Hypre runs on the same ranks as WARP3D. On
each MPI rank, threads may be employed for an additional level of parallel execution both in
WARP3D and hypre.
1.7.5 Recommendations
We expect most users will run WARP3D on shared-memory computers having multiple pro-
cessors each with multiple cores capable of running multiple threads. These include laptops,
desktop and deskside machines running Windows, OS X or Linux. No domain decomposition
of the model is employed and the assignment of elements into blocks can be performed directly
by WARP3D. The Pardiso direct solver then becomes the rst choice among equation solvers.
Use of the Pardiso sparse iterative solver requires only an option word in the solver command.
Chapter 1 (Updated: 5-9-2013) 1.7-1 Introduction
Users Guide - WARP3D Linear Equation Solvers
The iterative solver is worth exploring for possible gains in eciency (especially for linear and
nonlinear dynamic analyses).
For the very largest models having perhaps millions of equations, the hypre solver is strongly
recommended. Models of this size require computers with signicantly more capability (dis-
tributed clusters) that current desktop/deskside or even local workgroup computers. Hypre is
available only in the hybrid version of WARP3D (MPI+threads). Although designed for the
solution of very large models on clusters, hypre will run on all levels of hardware, including
multicore laptops.
1.7.6 References
[1] O. Schenk and K. Gartner. Solving Unsymmetric Sparse Systems of Linear Equations with PARDISO.
Journal of Future Generation Computer Systems, 20(3):475487, 2004.
[2] O. Schenk and K. Gartner. On fast factorization pivoting methods for symmetric indenite systems,
Elec. Trans. Numer. Anal., 23:158179, 2006.
[3] Intel. http://software.intel.com/en-us/articles/intel-mkl/
[4] Lawrence Livermore national Laboratory.
https://computation.llnl.gov/casc/sc2001 iers/hypre/ hypre01.html.
[5] Concus P., Golub G.H., and OLeary D.P. A Generalized Conjugate Gradient Method for the Nu-
merical Solution of Elliptic Partial Dierential Equation. Sparse Matrix Computations,ed. J.R. Bunch
and D.J.Rose, Academic Press, New York, 1965, pp. 307-322.
[6] Golub G.H., and Van Loan C.F. Matrix Computations. The Johns Hopkins University Press, Balti-
more Maryland, 1983.
Chapter 1 (Updated: 5-9-2013) 1.7-2 Introduction
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*' 45360#$ 7 8/0$2*(90)2/
1.8 Element Formulations
Development of the finite element formulation for three dimensional isoparametric ele
ments begins with interpolation of the element displacements and coordinates. The de
scription that follows refers to the kinematic nonlinear formulation; simplifications to ob
tain the conventional linear kinematic formulation are straightforward.
All quantities are described relative to a fixed set of Cartesian axes, X
~
, defined at t+0.
Let X denote the Cartesian position vectors for material points at t +0 ( see Fig. 1.2). Posi
tion vectors for material points at time t are denoted x. The displacements of material points
are thus given by u +x *X and the material point velocities by u
.
(later we also use v to
denote material point velocities). Components of X, x, u and u
.
are all defined using the ba
sis vectors for axes X
~
. In static analyses we associate the timelike parameter t with a speci
fied level of loading imposed on the model. Stress and deformation rates are thus defined
with respect to the applied loading rather than with time.
1.8.1 Interpolating Functions
The velocity of a material point at t is interpolated from the nodal velocities using a conven
tional element interpolating (shape") function matrix in the form
d
.
+


u
.
v
.
w
.

31
+N
^


(u
. x
e
)
n1
(u
. y
e
)
n1
(u
. z
e
)
n1

3n1
+N
^
u
.
e
(1.82)
where n here denotes the number of element nodes. Note the nonconventional ordering
of nodal displacements in u
.
e
which facilitates vectorization of numerical computations. The
coordinates of a material point in the configuration at time t are interpolated from the nodal
coordinates at t using the same shape functions, resulting in the similar equation
x +



x
y
z

31
+N
^


(c
x
e
)
n1
(c
y
e
)
n1
(c
z
e
)
n1

3n1
+N
^
c
e
(1.83)
where c
e
+c
e,t+0
)u
e
. The element shape functions, one for each element node, are func
tions of the parametric variables c, h, and z. For convenience, they are grouped in the row
vector
N+

N
1
N
2
AAA N
n

1n
(1.84)
The shape function derivatives with respect to the parametric variables are represented by
the row vectors
N,
c
+

N
1,c
N
2,c
AAA N
n,c

1n
(1.85)
N,
h
+

N
1,h
N
2,h
AAA N
n,h

1n
(1.86)
N,
z
+

N
1,z
N
2,z
AAA N
n,z

1n
(1.87)
The element shape functions are collected in the element shape function matrix defined by
N
^
+


N
0
0

0
N
0

0
0
N

33n
(1.88)
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*+ 45360#$ 7 8/0$2*(90)2/
1.8.2 Cartesian Derivatives
The Jacobian matrix relating differentials in parametric and Cartesian (x) coordinates is
given by
J +

x
c
x
h
x
z
y
c
y
h
y
z
z
c
z
h
z
z

33
(1.89)
with the inverse of the Jacobian matrix denoted by
G +J
*1
(1.90)
The gradients of velocity with respect to the x configuration are contained in the vector de
fined by
+


u
.
,
x
v
.
,
x
w
.
,
x
u
.
,
y
v
.
,
y
w
.
,
y
u
.
,
z
v
.
,
z
w
.
,
z

91
5


Q
.
x
Q
.
y
Q
.
z

Q
.
+


d
.
,
x
d
.
,
y
d
.
,
z

(1.91)
The velocity gradients in parametric space constitute the vector
+


u
.
,
c
v
.
,
c
w
.
,
c
u
.
,
h
v
.
,
h
w
.
,
h
u
.
,
z
v
.
,
z
w
.
,
z

91
F
.
+


d
.
,
c
d
.
,
h
d
.
,
z

(1.92)
The two velocity gradient vectors are related by the equation
Q
.
+ G
^
F
.
(1.93)
where
G
^
+


G
11
I
3
G
21
I
3
G
31
I
3

G
12
I
3
G
22
I
3
G
32
I
3

G
13
I
3
G
23
I
3
G
33
I
3

99
(1.94)
where I
3
denotes a 3 3 identity matrix. The velocity gradients in parametric space are
expressed in terms of the nodal velocities by
F
.
+Gu
.
e
(1.95)
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*% 45360#$ 7 8/0$2*(90)2/
where
+


N,
c
0
0
N,
h
0
0
N,
z
0
0

0
N,
c
0
0
N,
h
0
0
N,
z
0

0
0
N,
c
0
0
N,
h
0
0
N,
z

93n
G +


N
^
,
c
N
^
,
h
N
^
,
z

(1.96)
1.8.3 B Matrix
At time t, we impose a compatible virtual displacement field on the the current (deformed)
configuration. The corresponding virtual deformation is defined using the 61 vector form
of the symmetric deformation tensor
d +


d
x
d
y
d
z
dg
xy
dg
yz
dg
xz


du,
x
dv,
y
dw,
z
du,
y
) dv,
x
dv,
z
) dw,
y
dw,
x
) du,
z

61
(1.97)
where it is understood that, for example, that du,
x
+(du)x. In terms of the virtual nodal
displacements, we write in conventional form
d
(61)
+B
(63n)
du
e
(3n1)
(1.98)
where the straindisplacement B matrix is constructed as follows. Define the Boolean ma
trix B
~
by
B
~
+


1
0
0
0
0
0

0
0
0
1
0
0

0
0
0
0
0
1

0
0
0
1
0
0

0
1
0
0
0
0

0
0
0
0
1
0

0
0
0
0
0
1

0
0
0
0
1
0

0
0
1
0
0
0

69
(1.99)
which permits expression of the straindisplacement matrix B by
B
(63n)
+B
~
(69)
G
^
(99)
G
(93n)
(1.100)
The vectors and matrices presented in this section form the building blocks of the key ele
ment quantities determined below.
1.8.4 Internal Force Vector
The element internal force vector is derived from the internal virtual work term in Eq. (1.4)
given by

#elem
j+1

V
j
e
d
T
sdV
e
)

#elem
j+1

V
j
e
dd
T
d
..
dV
e
*

m
i+1
dd
T
i
p
i
+0 (1.101)
Using the virtual deformation expressed in terms of the element B matrix, we have (for a
single element)
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*, 45360#$ 7 8/0$2*(90)2/

V
e
d
T
sdV
e
+ du
e
T

V
e
B
T
sdV
e
(1.102)
where again V
e
denotes the element configuration at t, s denotes the symmetric Cauchy
stresses expressed in 6 1 vector format at t, and the B matrix is evaluated using coordi
nates of element nodes at t, c
e
+c
e,t+0
)u
e
. Using Eq. (1.6) we see that the element inter
nal force vector is given by
I
e(3n1)
+
V
e
B
T
sdV
e
+
1
*1

1
*1

1
*1
B
T
s|J|dcdhdz (1.103)
The global internal force vector is obtained through global assembly of the element internal
force vectors.
1.8.5 Strain Increment for Stress Updating
Newtons method advances the global solution from time step n to n+1 through a series of
iterative improvements to the solution at n+1. Let i denote the current Newton iteration
for the solution at n+1, u
(i)
n)1
the i
th
estimate for the element nodal displacements at n+1
and u
n
the converged solution for element nodal displacements at n. Using the midincre
ment configuration, the i
th
estimate for the (mechanical) strain increment over the step is
given by
D
(i)
+B
n)
1
2

u
(i)
n)1
*u
n

*D
th
(1.104)
where the B matrix is evaluated using nodal coordinates c
e
+x
n)12
. The specified ther
mal strain increments over nn)1 are indicated by D
th
. The strain increment D
(i)
is
passed to the stress updating (constitutive) models, after rotation effects are neutralized
as described in Section 1.9.4, to obtain the new estimate for the Cauchy stresses at n+1,
s
(i)
n)1
.
Key and Krieg [54] and Nagtegaal and Veldpaus [71] have demonstrated that Eq.
(1.104) defines a constant rate of logarithmic strain over the step. In a onedimensional set
ting, integration of the strain rate to define a total strain measure using the midpoint rule
above remains surprisingly accurate for very large increments. In multidimensional prob
lems, the interpretation of logarithmic strain holds if the principal directions of strain ro
tate to match the rigid body motion. This rarely happens and thus accumulated increments
of converged D values do not represent a valid total strain measure.
1.8.6 Tangent Stiffness Matrix
The element tangent stiffness matrix is defined in terms of the rate of the element internal
force vector by
I
.
e
+

K
T

e
u
.
e
(1.105)
From Eq. (1.103) the rate of the element internal force vector is
I
.
e
+
V
e
B
.

T
s dV
e
)
V
e
B
T
s
.
dV
e
(1.106)
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*- 45360#$ 7 8/0$2*(90)2/
The first term in Eq. (1.106) can be manipulated into the form (see Zienkiewicz and Taylor
[99])

V
e
B
.

T
s dV
e
+

V
e
G
T
G
^

T
M
s
G
^
G dV
e

u
.
e
(1.107)
where
M
s
+


s
1
I
3
s
4
I
3
s
6
I
3

s
4
I
3
s
2
I
3
s
5
I
3

s
6
I
3
s
5
I
3
s
3
I
3

99
(1.108)
Eq. (1.107) defines the socalled initialstress" or geometric stiffness matrix

K
g
T

e
+
V
e
G
T
G
^

T
M
s
G
^
G dV
e
(1.109)
The second term in Eq. (1.106) resolves to

V
e
B
T
s
.
dV
e
+

V
e
B
T
EB dV
e

u
.
(1.110)
where E (! !) denotes the constitutive matrix relating the (spatial) rate of the deforma
tion to the spatial rate of Cauchy stress, as in
s
.
+E
.
+EBu
.
e
(1.111)
Since s
.
does not vanish under motion corresponding to a rigid rotation (see Johnson and
Bammann [50], Rubinstein and Atluri [86]), a rotation neutralized stress rate must be
employed in development of the constitutive matrix, E. In WARP3D, the GreenNaghdi
[31] stress rate is used to formulate E (see Section 1.9.4 for the stress updating strategy).
Upon combining Eqs. (1.109) and (1.110), the element tangent stiffness matrix may be
written as

K
T

e
+
V
e
G
T
G
^

T
M
s
G
^
G)B
T
EB dV
e
(1.112)
+
1
*1

1
*1

1
*1
G
T
G
^

T
M
s
G
^
G)B
T
EB |J|dcdhdz (1.113)
When required for the direct solver, the tangent stiffness matrix for the structure (in global
coordinates) is obtained through the usual assembly of element matrices.
All deformation dependent quantities appearing in Eq. (1.113) refer to values for the i
th
iteration of step n+1, i.e, B is evaluated using the nodal coordinates x
(i)
n)1
, the Cauchy
stresses appearing in M
s
are s
(i)
n)1
and E is the tangent modulus which advances the spatial
rate of Cauchy stress from n to n+1 (i
th
iteration) consistent with the stress updating proce
dure for the strain increment D
(i)
.
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*. 45360#$ 7 8/0$2*(90)2/
The stiffness formulations employed in WARP3D do not correspond to either of the
traditional procedures, Total Lagrangian (T.L.) or Updated Lagrangian (U.L.), (see Bathe
[6], Zienkiewicz and Taylor [99]). In T.L., the tangent stiffness is expressed using all de
formation quantities relative to the configuration at t+0. In U.L., the converged solution
at n provides the reference configuration for all quantities needed in

K
T

. Both of these ap
proaches require the inclusion of additional (nonlinear) terms in B and the use of 2nd Piola
Kirchoff stresses rather than the Cauchy stress.
The present formulation, with minor differences, follows closely that used in the NIKE
codes (Hallquist [33], [34]).
1.8.7 Mass Matrix
The element consistent mass matrix is derived from the inertial virtual work term in Eq.
(1.4) given by

V
e
dd
T
d
..
dV
e
(1.114)
where integration is over the (current) deformed volume and denotes the mass density
per unit of deformed volume. Upon substitution of Eq. (1.82) and its second time derivative,
noting that the shape functions are independent of time, Eq. (1.114) becomes

V
e
dd
T
d
..
dV
e
+ du
e
T


V
e
N
^

T
N
^
dV
e

u
..
e
(1.115)
A comparison with Eq. (1.6) reveals that the element consistent mass matrix has the form
M
e
+
V
e
N
^

T
N
^
dV
e
+
1
*1

1
*1

1
*1
N
^

T
N
^
|J|dcdhdz (1.116)
where |J| is evaluated using nodal coordinates at t. Considering the block diagonal struc
ture of Eq. (1.88), the element consistent mass matrix is also block diagonal, and it is only
necessary to compute the block diagonal mass matrix corresponding to one of the three con
tinuum degrees of freedom and to assign this matrix to the other two nodal freedoms.
The mass density r appearing in Eq. (1.116) corresponds to the current configuration,
as the inertial body force acts there. It may be expressed in terms of the mass density in
the undeformed (t+0) configuration by

0
+ |F| (1.117)
where |F| denotes the determinant of the deformation gradient, F +xX. Using the
relation dV
e
+|F|dV
0
, and Eq. (1.117), the element consistent mass matrix may be ex
pressed using quantities referenced to the t+0 configuration
M
e
+
1
*1

1
*1

1
*1

0
N
^
T
N
^
|J
0
|dcdhdz (1.118)
where |J
0
| is the determinant of the coordinate Jacobian at t+0. The element consistent
mass matrix defined by Eq. (1.118) is independent of time; consequently, the element tan
gent and secant consistent mass matrices are equal.
!"#$%" '()*# + !"#$%& ,-#.#/0 12$.(-30)2/"
'()*/ 45360#$ 7 8/0$2*(90)2/
It is also possible to define a diagonal element lumped mass matrix. This is accom
plished in the following manner (Hinton, et al. [40]):
1) Compute the diagonal terms of the block diagonal consistent mass matrix corresponding to
one of the continuum degrees of freedom.
2) Accumulate the mass of these diagonal terms. Scale the diagonal terms by the ratio of the
total element mass related to the continuum degree of freedom to the accumulated mass so
that the total mass of the diagonal terms is correct. Assign the diagonal terms to the other
two continuum degrees of freedom. This is the element lumped mass matrix.
Once again, either the global consistent or lumped mass matrix is found through assembly
of the element matrices.
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.91 4506.#$ 7 8-.$1*(9.)1-
1.9 Finite Strain Plasticity
The theoretical basis and numerical implementation of a constitutive architecture suitable
for finite strains and rotations are described in this section. The constitutive equations gov
erning finite deformation are formulated using strainsstresses and their rates defined on
an unrotated frame of reference. Unlike models based on the classical Jaumann [49] (or co
rotational) stress rate, the present model predicts physically acceptable responses for ho
mogeneous deformations of exceedingly large magnitude. The associated numerical algo
rithms accommodate the large strain increments which may arise routinely in the implicit
solution of the global equilibrium equations employed in WARP3D. The resulting computa
tional framework divorces the finite rotation effects on strainstress rates from integration
of the rates to update the material response over a load (time) step. Consequently, all of the
numerical refinements developed previously for smallstrain plasticity (radial return, ki
nematic hardening, consistent tangent operators, dilatant plasticity models for continuum
descriptions of void growth) are utilized without modification.
Two fundamental assumptions (and points of criticism, see Simo and Hughes [92]) un
derlie the present implementation of this framework in WARP3D: (1) additive decomposi
tion of elastic and plastic strain rates expressed on the current configuration remains a val
id description of the deformation, and (2) material elasticity maybe adequately represented
by an isotropic, hypoelastic model. These assumptions require that plastic strains (and
rates) greatly exceed elastic strains (and rates). Such conditions are easily realized in the
study of ductile fracture in metals which possess large Es
0
ratios. For other materials,
such as polymers, the ad hoc treatment of elasticity adopted here becomes unsuitable at
best. A multiplicative decomposition of the deformation gradient into elastic and plastic
components, when coupled with a proper hyperelastic treatment of material elasticity, is
clearly more appropriate (Moran, Ortiz and Shih [67], Simo and Ortiz [91]). Nevertheless,
the essential features of the present finitestrain plasticity formulation provide the core
technology adopted in largescale finite element codes, including NIKE ([33] [34]), DYNA
([30]), PRONTO ([93] [94]), ABAQUSStandard [38] and ABAQUSExplicit ([39]).
The following sections describe the basis for the constitutive framework and the de
tailed, stepbystep implementation in WARP3D. Once the kinematic transformations
have eliminated rotation effects on rates of tensorial quantities, the stress updating proce
dures for each constitutive model are those for the conventional smallstrain formulation.
Details of the usual smallstrain computations are described in Chapter 5 for each of the
material models currently available.
The reader interested in an extensive description, the numerical implementation de
tails and the criticism of this finitestrain plasticity framework is referred to the mono
graph of Simo and Hughes [92], specifically Chapters 6 and 7.
1.9.1 Kinematics, StrainStress Measures
Development of the finite strain plasticity model begins with consideration of the deforma
tion gradient
F + xX, det(F) +J u0 (1.119)
where X denotes the Cartesian position vectors for material points defined on the configu
ration at t=0. Position vectors for material points at time t are denoted x (configuration B
in Fig. 1.4, after Flanagan and Taylor [27]). The displacements of material points are thus
given by u +x *X. The polar decomposition of F yields
F +VR +RU (1.120)
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.92 4506.#$ 7 8-.$1*(9.)1-
where V and U are the left and rightsymmetric, positive definite stretch tensors, respec
tively; R is a orthogonal rotation tensor. The principal values of V and U are the stretch
ratios, l
i
, of the deformation. These two methods for decomposing the motion of a material
point are illustrated in Fig. 1.4. In the initial configuration, B
0
, we define an orthogonal
reference frame at each material point such that the motion relative to these axes is only
deformation throughout the loading history. With the RU decomposition, for example,
these axes are spatial" during the motion from B
0
to B
u
; they are not altered by deforma
tion of the material. However, during the motion from B
u
to B these axes are material";
they rotate with the body in a local average sense at each material point. Strainstress ten
sors and their rates referred to these axes are said to be defined in the unrotated configura
tion (Johnson and Bammann [50] and Atluri [4]).
F
U
R
V
R
B
Rigid Axes Attached To A
Material Point
Axes Are Spatial: Do Not
Follow Deformation
Axes Are Material: Follow
the Rotation
Axes Are Material: Follow
the Rotation
Axes Are Spatial: Do Not
Follow Deformation
Fixed, Global
Axes
B
0
B
u
B
v
FIG. 1.4Motion of Model Using Polar Decomposition ( [27])
The material derivative of displacement with respect to an applied loading parameter
is written as v +x
.
(i.e., the material point velocity in dynamic analyses). The spatial gradi
ent of this material derivative with respect to the current configuration is given by
L +
v
x
+
v
X
X
x
+F
.
F
*1
. (1.121)
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.93 4506.#$ 7 8-.$1*(9.)1-
The symmetric part of L is the spatial rate of the deformation tensor, denoted D; the
skewsymmetric part, denoted W, is the spin rate or the vorticity tensor. Thus,
L +D)W (1.122)
where
D +
1
2
(L)L
T
); W+
1
2
(L*L
T
) . (1.123)
W represents the rate of rotation of the principal axes of the spatial rate of deformation
D. When integrated over the loading history, the principal values of D are recognized as the
logarithmic (true) strains of infinitesimal fibers oriented in the principal directions if the
principal directions do not rotate. It is important to note that D and W have no sense of the
deformation history; they are instantaneous rates.
Using the RU decomposition of F, the spatial gradient L may be also written in the form
L +R
.
R
T
)RU
.
U
*1
R
T
(1.124)
in which the following relations are used
F
.
+RU
.
)R
.
U (1.125)
and
F
*1
+(RU)
*1
+U
*1
R
*1
+U
*1
R
T
. (1.126)
The first term in Eq. (1.124) is the rate of rigidbody rotation at a material point and
is denoted W (see Dienes [22]). The spin rate W and W are identical when the principal axes
of D coincide with the principal axes of the current stretch V (this observation plays an es
sential role later in development of a linearized tangent operator). Simple extension and
pure rotation satisfy this condition. The symmetric part of the second term in Eq. (1.124)
is called the unrotated deformation rate tensor (sometimes the rotation neutralized de
formation rate) and is denoted d
d +
1
2
(U
.
U
*1
)U
*1
U
.
) . (1.127)
The unrotated rate of deformation defines a material strain rate relative to the orthogo
nal reference frame indicated on configuration B in Fig. 1.4.
Using the orthogonality property of R that d(R
T
R)dt=0
R
T
R
.
)R
. T
R 50 (1.128)
the unrotated deformation rate may be expressed in the simpler form as
d +R
T
DR . (1.129)
The principle of virtual displacements (Section 1.4) demonstrates that the spatial rate
of deformation, D, and the symmetric Cauchy (true) stress, s, are work conjugate in the
sense that work per unit volume in the current configuration is given by s
ij
D
ij
. Since compo
nents of both D and s are defined relative to the fixed, global axes, the work conjugate stress
measure for d on the unrotated configuration is given simply by
t +R
T
sR (1.130)
where t is termed the unrotated Cauchy stress, i.e., s is the tensor t expressed on the fixed
global axes.
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.94 4506.#$ 7 8-.$1*(9.)1-
1.9.2 Selection of Strain and Stress Rates
The simplest form of a hypoelastic constitutive relation is adopted to couple a materially
objective stress rate with a work conjugate deformation rate. The Jaumann and Green
Naghdi objective rates of Cauchy stress are
s
~
+ s
.
*Ws )sW+E : D (Jaumann) (1.131)
s
^
+ s
.
*Ws )sW +E : D (GreenNaghdi) (1.132)
where the modulus tensor E may depend linearly on the current stress tensor and on histo
ry dependent state variables (E : D denotesE
ijkl
D
kl
). Once the objective stress rate is eva
luated using E : D, the spatial rate of Cauchy stress, s
.
, is found by computing W or W and
transposing the above equations. In a finiteelement setting, these rate expressions are nu
merically integrated to provide incremental values of the Cauchy stress corresponding to
load (time) steps.
When D vanishes both the Jaumann and GreenNaghdi rates predicted by the constitu
tive models also vanish; however, the two stress rates lead to different spatial rates of
Cauchy stress since W and W are generally not identical. Use of the spin tensor W in Eq.
(1.131) causes the physically unreasonable (oscillatory) response predicted for the finite
shear problem; the GreenNaghdi rate leads to a realistic response. However, the debate
ofver physically meaningful stress rates continues.
The Jaumann rate is adopted extensively in finite element codesthe quantity W is
readily available as a byproduct of computing D whereas computation of W requires polar
decompositions of F. Hughes and Winget [44] recognized that a constant spin rate W (and
rotation rate W) limits the acceptable step sizes for implicit codes. They developed a numeri
cal integration scheme for Eq. (1.131) that retains objectivity for rotation increments ex
ceeding 30
o
. Such refinements, however, do not remove the fundamental cause (W) of the
oscillatory response in simple shear. Roy, Fossum and Dexter [85] recently implemented a
2D, implicit finiteelement code based on the GreenNaghdi rate as expressed in Eq.
(1.132). They employed the HughesWinget procedure to integrate s
^
using W computed
from polar decompositions of F at the start and end of each load increment.
The GreenNaghdi rate may be written alternatively as the rate of unrotated Cauchy
stress, t
.
, expressed on the fixed, Cartesian axes
s
^
+Rt
.
R
T
+E : D . (1.133)
Transformation of the spatial deformation rate D in this expression to the unrotated
deformation rate d yields
t
.
+E :

R
T
DR

+E : d . (1.134)
Constitutive computations, equivalent to the GreenNaghdi rate in Eq. (1.132), there
fore can be performed using stressstrain rates defined on the unrotated configuration. Up
dated values of t are rotated via R to obtain the updated Cauchy stress at the end of a load
increment. The numerical problems of integrating the rotation rates in Eqs. (1.131) and
(1.132) are thus avoided. Moreover, tensorial state variables of the plasticity model, e.g.,
the backstress for kinematic hardening, are also defined and maintained on the unrotated
configuration and thus never require correction for finite rotation effects. Hallquist [33],
[34] was apparently the first to recognize the simplicity derived from this constitutive
framework and used it in the NIKE and DYNA codes. Later, this framework was adopted
by Flanagan and Taylor for the PRONTO2D [93] and PRONTO3D [94] codes, by Biffle and
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.95 4506.#$ 7 8-.$1*(9.)1-
Blandford for the JAC2D [7] and JAC3D [8] codes, and most recently in the commerical
ABAQUSEXPLICIT [39] code. The potential disadvantage of this constitutive framework
is the numerical effort to compute R from the polar decomposition F=RU at thousands of
material points for each of many load steps. For explicit codes in which time steps are neces
sarily very small to maintain stability, an efficient (forward) integration scheme developed
by Flanagan and Taylor [27] may be used to update R without the polar decomposition. The
polar decomposition issue is discussed in the section on numerical procedures.
1.9.3 ElasticPlastic Decomposition
Further developments require kinematic decomposition of the total strain rate d into elas
tic and plastic components. The multiplicative decomposition of the deformation gradient
F +F
e
F
p
(1.135)
appears most compatible with the physical basis of elasticplastic deformation in crystal
line metals (see, for example, Lee [57] and Asaro [3]). F
p
represents plastic flow (disloca
tions) while F
e
represents lattice distortion; rigid rotation of the material structure may be
considered in either term. Substitution of this decomposition into the spatial rate of the dis
placement gradient Eq. (1.121) yields
L +F
.

e
F
*e
)F
e
F
.

p
F
*p
F
*e
+L
e
)F
e
L
p
F
*e
. (1.136)
We now impose the restriction that elastic strains remain vanishingly small compared
to the unrecoverable plastic strains; a behavior closely followed by ductile metals having
an elastic modulus orders of magnitude greater than the flow stress. Consequently, F
p
and
F
e
are uniquely determined by unloading from a plastic state. This considerably simplifies
the above expression and permits separate treatment of material elasticity and plasticity.
Using the left polar decomposition and writing the stretch as the product of elastic and plas
tic parts yields
F +F
e
F
p
+V
e
V
p
R (1.137)
Identifying the elastic deformation as
F
e
+V
e
(1.138)
and using the small elastic strain assumption, we have
F
e
+I )e
e
[I . (1.139)
Consequently, the expression for L is approximated by
L [L
e
)L
p
. (1.140)
As in Eq. (1.123), the symmetric part of this approximation for L is taken as D with the re
sult that
D [D
e
)D
p
. (1.141)
Given the restriction of vanishingly small elastic strains, the multiplicative decomposi
tion of the deformation gradient in Eq. (1.135) leads to the familiar additive decomposition
of the spatial deformation rate D into elastic and plastic components. The transformation
of D to the unrotated configuration using Eq. (1.129) provides the decomposition scheme
needed for d as
d +R
T
(D
e
)D
p
)R +d
e
)d
p
. (1.142)
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.96 4506.#$ 7 8-.$1*(9.)1-
Once the above transformation of elastic and plastic strain rates onto the unrotated con
figuration is accomplished, the remaining steps in development of the finitestrain plastic
ity theory are identical to those for classical smallstrain theory.
If the elastic strains are not vanishingly small, the incrementally linear form of this
hypoelastic material model predicts hysteretic dissipation and residual stresses for some
closed loading paths, for example, the path defined by finite extensionfinite shearten
sion unloadingshear unloading (Kojic and Bathe [56]). Uncoupled loadingunloading for
extension and shear produces no residual stresses. For finitestrain plasticity of ductile
metals having large modulustoyield stress ratios this situation is not a serious concern
since plastic strains are commonly 50100 times greater than the elastic strains.
1.9.4 Numerical Procedures
The global solution is advanced from time (load) t
n
to t
n)1
using an incrementaliterative
Newton method. Iterations at t
n)1
to remove unbalanced nodal forces are conducted under
fixed external loading and no change in the prescribed displacements for displacement con
trolled loading. Each such iteration, denoted i, provides a revised estimate for the total dis
placements at t
n)1
, denoted u
(i)
n)1
. Fully converged displacements at t
n
are denotedu
n
. Fol
lowing Pinsky, Ortiz and Pister [81] a midincrement scheme is adopted in which deforma
tion rates are evaluated on the intermediate configuration at (1 *g)u
n
)gu
(i)
n)1
. The choice
of g +12 represents a specific form of the generalized trapezoidal rule that is uncondition
ally stable and secondorder accurate. Key and Krieg [54] have demonstrated the optimality
of the midpoint configuration for integrating the rate of deformation and the resulting corre
spondence with logarithmic strain (for uniaxial conditions).
The following sections describe the computational processes performed at each mate
rial (Gauss) point to: 1) update stresses and to 2) provide a consistent tangent matrix for up
dating the global stiffness matrix. A brief discussion of the procedure to compute the polar
decomposition of the deformation gradient is also provided.
Stress Updating Procedure
The computational steps are:
Step 1. Compute the deformation gradients at n )12 and n )1
F
(i)
n)1
+

X)u
(i)
n)1

X
; (1.143)
F
(i)
n)12
+
X)u
(i)
n)12

X
(1.144)
Step 2. Compute polar decompositions at n )12 and n )1
F
(i)
n)1
+R
(i)
n)1
@ U
(i)
n)1
(1.145)
F
(i)
n)12
+R
(i)
n)12
@ U
(i)
n)12
(1.146)
Step 3. Compute the i th estimate for the spatial deformation increment over the step
from the B matrix for the element, see Eq. (1.104) and Section 1.8.5.
D
(i)
+B
(i)
n)12

u
(i)
n)1
*u
n

(1.147)
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.97 4506.#$ 7 8-.$1*(9.)1-
DD
(i)
D
(i)
(convert 61 vector to symmetric tensor) (1.148)
This procedure, as compared to the more conventional scheme using Eqs. (1.121) and
(1.123), provides a straightforward method to utilize the B formulation (to replace B) for
finite strains thereby reducing volumetric locking in the element.
Step 4. Rotate the increment of spatial deformation to the unrotated configuration
Dd
(i)
+R
(i)T
n)12
@ DD
(i)
@ R
(i)
n)12
(1.149)
Step 5. The terms of the symmetric tensor Dd
(i)
define the strain increments for use in
a conventional smallstrain model. Invoke the smallstrain model to provide the i th estimate
for the unrotated Cauchy stress at n )1
t
(i)
n)1
C

t
n
, H
j
n
, q
n
, Dd
(i)

(1.150)
where C denotes the smallstrain integration process (typically, an elasticpredictor, return
mapping algorithm). The integration process requires the material state at n: the unro
tated Cauchy stress (t
n
), a set of scalar state variables denoted by H
j
n
, and a set of tensorial
state variables denoted by q
n
which are maintained on the unrotated configuration in the
model history data.
Step 6. The unrotated Cauchy stress at n )1 is transformed to the Cauchy stress at
n )1 required for subsequent computation of element internal forces
s
n)1
+R
n)1
t
n)1
R
T
n)1
(1.151)
Key advantages of the above steps are the absence of halfangle rotations applied to stresses
(and tensorial state variables) found in corotational rate formulations, Eqs. (1.131) and
(1.132), and most importantly, the ability to use an existing smallstrain constitutive model
for Step 5 without modification since all quantities are referred to the unrotated configura
tion. The disadvantage is the need to perform two polar decompositions for the stress update
at each material (Gauss) point.
Consistent Tangent Operators
Tangent operators, denoted here by E, are needed to form new element stiffness matrices
for the i th Newton iteration during solution for step n+1 as expressed in Eqs. (1.110) and
(1.113). The operators couple increments of the spatial deformation tensor expressed on the
current configuration with increments of the spatial Cauchy stress required by the fully
updated formulation adopted in WARP3D. Because the incrementaliterative Newton solu
tion at the global level uses finite increments of quantities to advance the solution from n
to n+1, rather than simple rates dt, the tangent operators should provide incremental,
secant relationships.
For plasticity models implemented in a smallstrain setting, Simo and Taylor [90] pres
ented the first formalized procedures to develop the (secant) relationships and coined the
phrase consistent tangent operator. For smallstrains, consistency implies that the finite
stress increment predicted by the tangent operator, E
c
, acting on a finite strain increment
matches (to first order), the stress increment determined by the procedures used to inte
grate the plasticity rate equations over the step, i.e.,
t
(i)
n)1
+ t
n
)E
c
:

(i)
n)1
*
n

+ t
n
)
t
n)1
t
n
t
.
dt (1.152)
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.98 4506.#$ 7 8-.$1*(9.)1-
where t denotes the stress measure in the smallstrain setting.
In the finitestrain framework adopted for WARP3D, the notion of a consistent tangent
operator for the stressupdate procedure on the unrotated configuration follows directly as
(in matrixvector form)
{
t
}
(i)
n)1
+
{
t
}
n
)
{
Dt
}
(i)
+
{
t
}
n
)
[
E *
]
(i)
n)1

Dd
(i)

(1.153)
where the * denotes the 66 consistent tangent operator defined on the unrotated configu
ration and the vector form of the symmetric, unrotated deformation tensor, Dd
(i)
, is used.
The needed form of the above relation for the fully updated solution strategy, expressed
by Eq. (1.110), is
s
(i)
n)1
+ s
n
)E
c
:

(i)
n)1
*
n

+ s
n
)
t
n)1
t
n
s
.
dt . (1.154)
where the spatial rate of Cauchy stress is integrated over nn+1. Using the GreenNaghdi
rate of Cauchy stress from Eq. (1.132), the above expression becomes
s
(i)
n)1
+ s
n
)E
c
:

(i)
n)1
*
n

+ s
n
)
t
n)1
t
n

s
^
)Ws *sW

dt . (1.155)
Simo and Hughes [92] and Cuitino and Ortiz [19] discuss the difficulty of constructing the
consistent tangent operator implied above by E
c
which includes potentially largerotation
effects over the step coupled with material stress increments caused by the deformation in
crement.
In the following we use a variation of the approximate linearization to define the trans
formation

E*

employed in the NIKE codes and in ABAQUS. Computational experi


ence indicates the procedure is quite robust and maintains good rates of convergence in the
Newton iterations. We drop the iteration indicator (i) for simplicity and we use the vector
form, D, of the symmetric, spatial deformation tensor, DD. A mix of tensor and matrixvec
tor operations provides the most straightforward presentation.
The relationship between the tensor forms of the spatial deformation rate and the unro
tated deformation rate, Eq. (1.129), is rewritten in matrixvector form as (using standard
conversion of the rotation operation from tensor to matrix format)
{

.
}
+

T

(1.156)
where the 66 matrix

is defined using R
n)1
. The terms of

are given by
[
T
]
+

R
2
11
R
2
21
R
2
31
R
11
R
21
R
21
R
31
R
11
R
31
R
2
12
R
2
22
R
2
32
R
12
R
22
R
32
R
22
R
12
R
32
R
2
13
R
2
23
R
2
33
R
13
R
23
R
23
R
33
R
13
R
33
2R
11
R
12
2R
21
R
22
2R
31
R
32
(
R
11
R
22
)R
21
R
12
)
(
R
21
R
32
)R
22
R
31
)
(
R
11
R
32
)R
12
R
31
)
2R
13
R
12
2R
23
R
22
2R
33
R
32
(
R
12
R
23
)R
13
R
22
)
(
R
22
R
33
)R
32
R
23
)
(
R
12
R
33
)R
13
R
32
)
2R
11
R
13
2R
21
R
23
2R
31
R
33
(
R
11
R
23
)R
13
R
21
)
(
R
21
R
33
)R
23
R
31
)
(
R
11
R
33
)R
31
R
13
)

(1.157)
The rate of unrotated Cauchy stress, Eq. (1.134), may then be written in matrix form as
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.99 4506.#$ 7 8-.$1*(9.)1-

t
.

+

E*

+

E*

T
{

.
}
. (1.158)
where orthogonality of the rotation matrix

is used. Note that

E*

actually used in com


putations is the consistent tangent operator defined by Eq. (1.153). Now the GreenNaghdi
stress rate in Eq. (1.133) becomes

s
^

+

T

t
.

+

T

E*

T
{

.
}
(1.159)
and existing symmetries of

E*

are preserved through the

transformation.
We invoke the relationship between the GreenNaghdi stress rate and the spatial rate
of Cauchy stress rate given by Eq. (1.132). The left side of Eq. (1.132) is simply the symmet
ric tensor form of

s
^

given above. To arrive at a tractable form for the *Ws )sW terms,
the approximation W8 W +R
.
R
T
is adopted. Nagtegaal and Veldpaus [71] demonstrated
the validity of this approximation when the rate of logarithmic strain remains constant
over the step, which is consistent with the present stress updating procedure. Moreover,
they showed that the *Ws )sW terms could be recast in matrix form (using the
W+L*D decomposition with L given by vx in Eq. (1.121)) as
*Ws )sW

Q
{

.
}
(1.160)
where the assumption of incompressibility becomes necessary to arrive at a symmetric
form of

. The terms of

are

2s
11
0
0
s
12
0
s
13
0
2s
22
0
s
12
s
23
0
0
0
2s
33
0
s
23
s
13
s
12
s
12
0
1
2

s
11
)s
22

1
2
s
13
1
2
s
23
0
s
23
s
23
1
2
s
13
1
2

s
22
)s
33

1
2
s
12
s
13
0
s
13
1
2
s
23
1
2
s
12
1
2

s
11
)s
33

(1.161)
By expressing each term of Eq. (1.132) in matrixvector form, the spatial rate of Cauchy
stress is given by

s
.

E*

T
*

Q
{

.
}
+

E
{

.
}
. (1.162)
This expression defines the finite strainrotation form of the tangent operator for use in
construction in the element tangent stiffness in Eq. (1.113). This form is not a true consis
tent operator as the kinematic transformation uses the rate expressions at n+1 rather than
the secant relationship from n to n+1. Use of the constitutive consistent

E*

seems to be
far more important for convergence.
The tangent operator defined in Eq. (1.162) appears in the NIKE2D and NIKE3D (im
plicit) codes which also adopt a GreenNaghdi stress rate and stress updating procedure
followed here. However, the

term is omitted in forming the element tangent stiffness


such that

8

E*

. Our numerical experiments indicate that inclusion of

is essential
to maintain quadratic rates of convergence in the global Newton iterations when large por
tions of the model undergo nearly homogeneous deformation. In other instances,

may
be omitted as in the NIKE codes without a detrimental effect on convergence rates. The
nonlinear solution parameters defineable in WARP3D enable the user to includeexclude
the [Q] matrix.
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.910 4506.#$ 7 8-.$1*(9.)1-
Polar Decomposition
The polar decomposition F=RU is a key step in the stressupdating algorithm and must be
performed twice for each Gauss point for each stress update, i.e., at n )12 and n )1. The
computational effort required for the polar decomposition should be insignificant relative
to the element stiffness computation and the equation solving effort. For their explicit code,
Flanagan and Taylor [27] developed an algorithm for the integration of R
.
+ WR that main
tains orthogonality of R for the very small displacement increments characteristic of explic
it solutions. Numerical tests readily show their procedure fails for large displacement in
crements experienced with implicit global solutions. The following algorithm removes such
approximations by providing an exact construction of R and U for arbitrary size load steps
and yet remains computationally very efficient with the framework of an implicit solution.
Step 1. Compute the right CauchyGreen tensor
C +F
T
F (1.163)
and its square
C
2
+C
T
C (1.164)
where only the uppertriangular form of the symmetric products (6 terms) are actually com
puted and stored.
Step 2. Compute the eigenvalues l
2
1
, l
2
2
and l
2
3
of C. A Jacobi transformation procedure
specifically designed for 33 matrices is used to extract the eigenvalues. For scalar comput
ers, the doloops are eliminated by explicitly coding each offdiagonal rotation form. Two or,
at most, three sweeps are needed to obtained eigenvalues converged to a 10
6
tolerance. The
procedure vectorizes easily since there are no transcendental functions to evaluate; the num
ber of iterations is fixed at two or three for all material points in a contiguous block of ele
ments.
Step 3. Compute invariants of U and the det(F)
I
U
+ l
1
)l
2
)l
3
(1.165)
II
U
+ l
1
l
2
)l
2
l
3
)l
1
l
3
(1.166)
III
U
+ l
1
l
2
l
3
+J +det(F) (1.167)
Step 4. Form the upper triangle of the symmetric, right stretch, U, and its symmetric in
verse, U
*1
(see Hoger and Carlson [41])
U + b
1
(b
2
I )b
3
C*C
2
) (1.168)
where I denotes a unit tensor with the b coefficients defined by
b
1
+ 1(I
U
II
U
*III
U
), b
2
+ I
U
III
U
, b
3
+ I
2
U
*II
U
(1.169)
Similarly, the inverse of U may be formed directly as
U
*1
+ g
1
(g
2
I )g
3
C )g
4
C
2
) (1.170)
where the g coefficients defined by
g
1
+ 1III
u
(I
U
II
U
*III
U
), g
2
+ I
U
II
2
U
*III
U
(I
2
U
)II
U
), (1.171)
g
3
+ * III
U
*I
U
(I
2
U
*2II
U
), g
4
+ I
U
(1.172)
!"#$%" '()*# + WARP3D ,)-).# /.$0)- ,1$2(30.)1-"
1.911 4506.#$ 7 8-.$1*(9.)1-
Step 5. Form R as the product
R +FU
*1
(1.173)
Users Guide - WARP3D Model Name and Sizes
Chapter 2
Model Denition
This chapter describes the input commands to dene a nite element model, to dene a
nonlinear/dynamic solution algorithms, to request an analysis for a number of load steps, to
request computation of fracture mechanics parameters, to control crack-growth and to request
various types of output. Commands in this chapter are described in the recommended order of
input:
structure name and sizes (number of nodes and elements)
denition of materials for association with elements in the model. Materials provide linear-
elastic properties, material density, nonlinear properties and a type of constitutive algo-
rithm, e.g., rate-dependent gurson plasticity with damage by void nucleation and growth.
the type of each nite element in the model, the kinematic formulation for the element
(large or small displacements) and the values of any properties for the element, e.g., the
order of numerical integration
X-Y -Z coordinates for all nodes in the model global coordinate system
connectivity of elements nodes to structure nodes termed incidences
assignment of contiguous lists of elements to blocks for analysis. Blocking is required to
support parallel execution on multi-core processors and on supercomputers. All elements in
a block must be the same type, have the same material model, the same type of kinematic
formulation. Typical maximum number of elements per block is often 64 or 128. For MPI-
based parallel execution, element blocks are assigned to domains.
absolute and relative displacement constraints imposed on nodes of the model, either zero
or non-zero.
mesh tieing to connect geometrically compatible but topologically mismatched regions in
meshes
loading patterns for the model. Loading patterns consist of nodal forces; element body
forces, face tractions, face pressures which are converted to equivalent nodal forces; nodal
and element temperature changes relative to a zero reference state.
initial velocities and displacements at nodes for dynamic analyses (otherwise assumed to all
equal zero).
a nonlinear/dynamic loading which denes the increment of load to be applied during each
load/time step. Loading increments for a step are dened using the loading patterns.
parameters to control the nonlinear/dynamic solution process, e.g., the time increment for
dynamic analysis, the type of equation solver (direct, iterative), number of threads, max-
imum number of Newton iterations, convergence tolerances, adaptive loading parameters
etc.
rigid bodies of various shapes with assigned velocity vectors to simulate frictionless, right-
body contact
parameters to control the type of crack growth (node release, cell extinction, cohesive zones)
Chapter 2 (Updated: 12-13-2011) 2.0-1 Model Denition
Users Guide - WARP3D Model Name and Sizes
a request to compute displacements for a list of load steps
a request to output computed nodal and element results. Results for use by humans are
directed to the current output device with appropriate pagination, headers, labels, etc.
a request to output computed nodal and element results in the format dened by the Patran
modeling software. These results les are readable by Patran without further conversion.
requests to generate packet les of results on a binary sequential le very convenient
for user-written specialized post-processing of very large output sets
a request to compute and output values for the J-integral and various interaction integrals
in fracture mechanics models
a save command to write all current, essential data structures to a sequential binary le
for later use to restart an analysis.
a stop command to terminate program execution.
In typical analyses, multiple compute, output, J-integral and save commands appear in the
input. Parameters to control the nonlinear/dynamic solution algorithm, e.g., the time step,
may be modied between analyses for sets of load steps. Constraints can be modied between
analyses for load steps to eect incremental changes in the boundary conditions.
2.1 Model Name and Sizes
The denition of a nite element model begins with specication of an alphanumeric identier
for the model. The identier appears on all pages of output. The command has the form
structure < name : label >
The rst eight characters of model names are recognized as unique.
The number of nodes and number of elements in the model must be specied prior to any
other command related to nodal or elemental quantities. WARP3D uses the specied sizes to
pre-allocate very large arrays, to support checking of the input data as it is entered and to
support exhaustive consistency checking of the structural model for errors prior to the rst
compute request. An example of such an error is a node with no elements attached. The model
sizes are dened with a command having the form
number (of)

nodes
elements

< size : integer >(, )

Examples of the above commands are


structure bend_strip
number of nodes 3450 elements 4230
and
structure bend_strip
number of nodes 3450 number of elements 4230
Chapter 2 (Updated: 12-13-2011) 2.1-2 Model Denition
Users Guide - WARP3D Model Name and Sizes
All node and element identiers are positive integers beginning with the value 1. Nodes and
elements must each be numbered sequentially. Once specied, the number of nodes and elements
cannot be modied through user commands.
Limits on Number of Nodes and Elements
The maximum number of nodes and elements permitted in a model varies with the version of
WARP3D being executed and the computer system executing the program. Typical limits are
2M nodes and 2M elements on Linux and (Mac) OS X, and 500K nodes and 500K elements on
Windows (64-bit) systems. These limits are easily changed through one line in the source code
followed by a re-compilation on the hardware platform.
Chapter 2 (Updated: 12-13-2011) 2.1-3 Model Denition
Users Guide - WARP3D Material Denition
2.2 Material Denitions
Finite elements in a model are associated with materials from which they derive linear-
elastic properties, mass density, thermal expansion and nonlinear characteristics, if necessary.
Through the material command, the user species a convenient name for the material, the type
of constitutive model (e.g., rate-independent mises) and the values of properties required by
the material model. Material denitions must precede the specication of element properties
during input.
Some constitutive models provide an option to specify nonlinear response in the form of
piecewise-linear descriptions, e.g., uniaxial stress-strain curves. The stress-strain curve com-
mand describes points on the piecewise-linear curve(s) for use by the material model. These
curves also specify any temperature and strain-rate dependencies of the elastic constants, ther-
mal expansion coecient, etc.
To provide an initial capability to model the response of emerging functionally graded
materials, values of some key material properties (e.g., Youngs modulus, Poissons ratio, etc.)
may be specied at nodes of the model rather than as numerical constants associated with a
specic material. Computational routines then interpolate values of these material properties
at points within elements from the nodal values as needed during solutions. This new capability
at present supports modeling the linear and nonlinear response of functionally graded materials
(FGMs) which have temperature and strain-rate invariant material properties.
Anisotropic thermal expansion coecients provide a very simple and convenient approach
to introduce eigenstrains for the purpose of imposing residual stresses in a model during loading
(by increased temperatures). These expansion coecients are intended for use with linear-elastic
and elastic-plastic constitutive models with temperature invariant material properties. These
expansion coecients remain spatially constant over an element and are thus specied for each
element of the model involved in the eigenstrain generation.
This section describes the commands: material, stress-strain curve, functionally graded ma-
terial properties and anisotropic thermal expansion coecients. When a material command
references a stress-strain curve(s), the referenced curve(s) must be dened previously in the
input data. This requirement enables additional consistency checks on the specied data.
2.2.1 Material Command
A material command on a separate line initiates the material denition sequence. Any number
lines may follow to dene the properties required for the material model. The denition of a
new material has the command syntax
material < material id : label >
properties < model type : label > [< matl. prop : label > (< value >)(, )]
Input of the properties may be continued over multiple input lines by ending lines with a
comma. A material denition terminates with a line not ending in a comma. Subsequent sections
in Chapter 3 dene the type of material constitutive models currently available and the
properties required for each model type.
As an example, the following input lines specify a simple material for use in the analysis:
Chapter 2 (Updated: 8-20-2011) 2.2-1 Model Denition
Users Guide - WARP3D Material Denition
material al2024t3
properties mises e 10350 nu 0.3 yld_pt 50.0 n_power 10,
rho 0.1254e-07 alpha 5.4e-06
In this example, the analyst species the name al2024t3 for the material. Material names
are unique for up to 24 characters. Note that material names must satisfy the denition of a
<label>. The constitutive model for the material is mises. This is one of the models described
in Chapter 3. Keywords e, nu, n power, etc. are properties of the mises model assignable by
the user.
Later during input, users assign one such previously dened material to each nite element
in the model. An example of this process is
.
elements
1-900 q3disop linear material al2024t3 order 2x2x2,
center_output short
.
Here, elements 1-900 are type q3disop (the 20-node isoparametric brick element) with a small-
displacement (linear) formulation. The material associated with these elements is al2024t3
as specied previously. Remaining information on the input lines sets the element properties:
integration order, output location, etc.
In the example above illustrating the denition of material al2024t3 and its association
with elements 1-900 in the model, the following actions result:
the material properties e, nu, etc. do not vary with temperature or strain rate
all integration points within elements 1-900 have the same values for e, nu, etc.
More complex materials may be dened using additional options as described below. Once
dened, the specication for a material cannot be modied at any further point in the analysis.
Stress-Strain Curves
Stress-strain curves provide a mechanism to introduce a more complex variation of material
properties. In the simplest case described in Section 2.2.2, specied points dene a curve to
represent the piecewise-linear equivalent stress vs. equivalent strain for use in a strain-rate and
temperature independent plasticity constitutive model. Section 2.2.3 describes more complex
stress-strain curves which include a temperature dependence of the scalar material properties
and (possibly) the stress-plastic ow curve. Section 2.2.4 describes stress-strain curves that
introduce a strain-rate dependence of the stress-plastic ow curve. Combined temperature and
strain-rate dependence is not yet supported.
The following example refers to stress-strain curve 3 for the piecewise-linear description of
the uniaxial, tensile stress-strain curve
material a36
properties mises e 30000 nu 0.3 curve 3 rho 0.1254e-07
Chapter 2 (Updated: 8-20-2011) 2.2-2 Model Denition
Users Guide - WARP3D Material Denition
The following example illustrates the use of several stress-strain curves to dene the tem-
perature dependent material properties including Youngs modulus, Poissons ratio, thermal
expansion coecient and nonlinear ow properties (note the absence of e, nu, and alpha the
temperature dependent values are dened with the stress-strain curves)
material a533b
properties mises curves 1-5 rho 0.1254e-07
Nodal Values of Material Properties for FGMs
Functionally graded materials have property values that vary spatially over the domain of the
model according to a user-specied form. The present modeling capability focuses on isotropic
FGMs with properties invariant of temperature and strain rate. The analyst species values of
the material properties at model nodes using commands described in Section 2.2.5. Computa-
tions requiring these material properties interpolate values at points within elements from the
specied nodal values, using the same interpolation function employed for temperatures.
The meaning of a material property <value> is extended to implement this modeling ca-
pability. Rather than specifying a numerical value for a property as in the above examples,
the string fgm is given instead. This key triggers the interpolation process whenever material
property values are required. Suppose for example that Youngs modulus, Poissons ratio, mass
density and (isotropic) thermal expansion coecient all vary spatially for the material and are
specied at the model nodes. Then the material denition could have the form
material graded_ceramic
properties bilinear e fgm nu fgm alpha fgm,
rho fgm yld_pt 500
where the bilinear constitutive model is employed in this example. In a simpler case, suppose
that only Youngs modulus and Poissons ratio vary spatially but the thermal expansion coef-
cient and mass density remain spatially invariant for elements associated with the material.
The above input commands become
material graded_ceramic
properties bilinear e fgm nu fgm alpha 0.3e-06,
rho 0.000034 yld_pt 500
This FGM modeling capability may be used with the constitutive models described in Chapter
3 compatible with solid elements.
2.2.2 Stress-Strain Curve Command: Temperature Independent
The uniaxial stress-strain response of certain materials requires a general curve description
for a realistic representation. Materials that exhibit a sharp yield point, a Luders band and
then strain hardening are common examples not amenable to modeling with power-law and
exponential type curves. For this form of the stress-strain curve denition, the material re-
sponse remains invariant of temperature. Figure 2.1 provides an example of a stress-strain
curve described with a piecewise-linear model.
Chapter 2 (Updated: 8-20-2011) 2.2-3 Model Denition
Users Guide - WARP3D Material Denition
!"!!#$ %&
!"!# %&
!"!' '!
!"#! ''
!"%! &!
Stresses Strains
Total Strain
S
t
r
e
s
s
Fig. 2.1: Example of piecewise-linear stress-strain curve for temperature independent response.
Points on such curves are specied with the command sequence stress-strain curve where
each such curve required in the analysis is assigned an integer number for identication. The
curve may then be referenced in a material command as described above. The command syntax
is
stress(-strain) curve < curve number : integer >
[ < strain value : numr > < stress value : numr > (, ) ]
The following guidelines apply in dening such curves:
Curve points are input as strain-stress pairs;
Use as many lines as needed to specify the points;
Multiple pairs may be specied on a line (up to 20 pairs total for a curve);
All strain-stress values must be positive;
Strain values must increase monotonically.
Stress values are not required to increase monotonically and may actually decrease;
Do not specify the (0,0) point on the curve. The rst point denes the yield strain and yield stress;
Youngs modulus specied in the material command must match the value implied by the yield
strain-yield stress pair;
Input total strains (not the plastic strains!)
Perfectly plastic response is employed after the last point.
For large-deformation analyses, the values should correspond to the logarithmic strainCauchy
stress; for small strain-analyses the values should be engineering strainengineering (nominal)
stress.
The above curve is described with the command sequence
stress-strain curve 3
Chapter 2 (Updated: 8-20-2011) 2.2-4 Model Denition
Users Guide - WARP3D Material Denition
0.0012 36, 0.01 36, 0.05 50,
0.10 55, 0.30 60
2.2.3 Stress-Strain Curve Command: Temperature Dependent
The stress-strain curves provide the mechanism to dene materials with properties that vary
with temperature. The material ow properties, Youngs modulus, Poissons ratio, etc. may
all vary with temperature through the denition of stress-strain curves. During analyses with
temperatures that vary over time (or load), these curves provide the needed data to establish
the current property values for the material.
The user species material properties over a range of temperatures with separate stress-
strain curves, where each curve denes values for a constant temperature. Up to 20 such curves
may be dened. The material denition then refers to a set of such temperature dependent
stress-strain curves. For example,
material a533b
properties mises curves 1-5 rho 0.1254e-07
No requirements are imposed on the range of temperatures or the increments of temperature
between the specied curves. During analyses, the various processors employ linear interpola-
tion between specied temperatures and between specied values on curves to compute needed
property data. When material point temperatures lie outside the minimum-maximum temper-
atures specied for the stress-strain curves, the corresponding minimum-maximum curves are
used in computations no extrapolation is performed outside user specied range of tempera-
tures. Figure 2.2 shows an example set of three isothermal stress-strain curves to describe the
temperature dependence.
S
t
r
e
s
s
Plastic Strain
!"#$"%&'(%") +,,- .,,- /,,
01'")
!"#$%& $()#*+ ,#"-.$ /-$(
0. *1.+%&#" 23) #"" &-),.$
*+ # $.( 32 &-),.$
Fig. 2.2: Example of piecewise-linear stress-strain curve for temperature dependent response.
Chapter 2 (Updated: 8-20-2011) 2.2-5 Model Denition
Users Guide - WARP3D Material Denition
Temperature dependent properties and points on temperature dependent stress-plastic
strain curves are specied with the command sequence stress-strain curve where each such
curve is assigned an integer number for identication. The curves may then be referenced in a
material command as described above. The command syntax is
stress(-strain) curve < curve number : integer > temperature < numr > [< properties > (, )]
[ < plastic strain value : numr > < stress value : numr > (, ) ]
where the <properties> refers to scalar quantities for a material, e.g., Youngs modulus, Pois-
sons ratio, etc. at that temperature. Material models (bilinear, mises, cyclic, ...) for solid
elements all support temperature dependent properties for e, nu, alpha. Additional temper-
ature dependent properties may be specied for some material models refer to the manual
section in Chapter 3 for each available model.
Initial temperatures in the model and subsequent changes in temperature with imposed
temperature increments via load steps all refer to a T = 0 condition. The temperature specied
here in the curve denition refers to a value above or below the T = 0 zero condition. Users
may dene a non-zero and (optional) spatially varying initial temperature eld for the model
through the initial conditions command described in Section 2.9. Such temperatures are relative
to the T = 0 condition. For example, consider again Fig. 2.2 which shows curves for three
temperatures of +100, +300 and +500 above the T = 0 condition. Units for temperature must
be consistent with units specied for the thermal expansion coecients. The user species an
initial temperature for the model of +150. Starting values for e, nu, ... then will be the average
of user specied values in the curves for the +100 and +300 temperature.
The ordering of stress-strain curves has no signicance curve number 1 is not required to
dene the highest or lowest temperature. The input translators re-arrange the internal ordering
of curves as needed to support the computational processors.
The following guidelines and requirements apply to dene temperature dependent property
values and optionally the stress-plastic strain curves:
Curve points are input as strain-stress pairs;
Use as many lines as needed to specify the points;
Multiple pairs may be specied on a line (maximum of 20 pairs total for the curve)
Use a comma to continue input lines of temperature dependent properties and points on the curve;
Input plastic strain values (not total strains!);
All plastic strain and specied stress values must be positive;
The rst point denes the temperature dependent yield stress. The plastic strain for the rst point
on the curve must be 0.0;
Plastic strain values must increase monotonically;
Stress values are not required to increase monotonically and may actually decrease.
As illustrated in Fig. 2.2, the specied plastic strain values must be identical for all the curves that
make up a set of curves to dene the temperature dependence;
The material response at plastic strain values larger than the last point specied on the curve follows
a perfectly plastic response.
For large-deformation analyses, the values should correspond to the logarithmic strain-Cauchy
stress; for small strain-analyses the values should be engineering strain-engineering stress.
Chapter 2 (Updated: 8-20-2011) 2.2-6 Model Denition
Users Guide - WARP3D Material Denition
Any values of material properties, e.g., e, nu, ..., specied during the material denition
are overwritten during analysis with the above values interpolated at the current temperature
of the material point.
The following is a complete example which uses three curves to dene the temperature
dependent response (see Fig. 2.2)
c
stress-strain curve 1 temperature 100 e 30000 nu 0.3 alpha 0.0001
0.0 80, $ these are plastic strain vs. stress values
0.025 96, $ the first point must have zero plastic strain...
0.050 103, 0.10 108, 0.20 114, 0.30 118,
0.40 122, 100 1000
c
stress-strain curve 2 temperature 300 e 28000 nu 0.28 alpha 0.0002
0.0 70, 0.025 85, 0.050 91, 0.10 96, 0.20 102, 0.30 105,
0.40 108, 100 1000
c
stress-strain curve 3 temperature 500 e 25000 nu 0.25 alpha 0.0003
0.0 60, 0.025 74, 0.050 79, 0.10 83, 0.20 88, 0.30 91,
0.40 93, 100 1000
c
c
material steel
properties mises curves 1-3
2.2.4 Stress-Strain Curve Command: Strain-Rate Dependent
The stress-strain curves provide one of several mechanisms to dene nonlinear (ow) properties
that vary with plastic strain-rate. For these materials, the user species a series of stress vs.
plastic strain curves at various (constant) plastic strain rates. Youngs modulus, Poissons
ratio and thermal expansion coecient do not vary with loading rate and are specied in the
material denition. During analyses with plastic strain rates that vary over time (or load), these
curves provide the needed data to establish the instantaneous ow properties for the material.
By numerical dierentiation of the curves at a xed plastic strain value, the computational
routines also determine the rate of change of the uniaxial stress with plastic strain rate.
The user species material ow properties over a range of plastic strain rates with separate
stress-strain curves. Up to 20 such curves may be dened. The material denition then refers
to a set of such rate dependent stress-strain curves. For example,
material a533b
properties mises curves 1-5 e 30000 nu 0.3 alpha 1.2e-05,
rho 0.1254e-07
No requirements are imposed on the range of plastic strain rates or the increments of
plastic strain rate between the specied curves. During an analysis, the plastic strain rates at
points within elements may not correspond to one of the values specied through stress-strain
curves. In such cases, the material processors construct the stress vs. plastic-strain curve using
(linear) interpolation between values on the specied curves. When the plastic strain rate at a
Chapter 2 (Updated: 8-20-2011) 2.2-7 Model Denition
Users Guide - WARP3D Material Denition
S
t
r
e
s
s
Plastic Strain

p
: 500, 200, 0
!"#$%
!"#$%& $()#*+ ,#"-.$ /-$(
0. *1.+%&#" 23) #"" &-),.$
*+ # $.( 32 &-),.$
Fig. 2.3: Example of piecewise-linear stress-strain curve for response that varies with plastic strain rate.
material point lies outside the minimum-maximum rates specied for the stress-strain curves,
the corresponding minimum-maximum curves are used in computations no extrapolation is
performed outside user specied range. Figure 2.3 shows an example set of three stress-strain
curves to describe the dependence on plastic strain rate.
Points on such curves are specied with the command sequence stress-strain curve where
each such curve required in the analysis is assigned an integer number for identication. The
curves may then be referenced in a material command as described above. The command
syntax is
stress(-strain) curve < curve number : integer > plastic strain-rate < numr > < properties >
[ < plastic strain value : numr > < stress value : numr > (, ) ]
The ordering of stress-strain curves has no signicance curve number 1 is not required to
dene the highest or lowest plastic strain rate. The input translators re-arrange the internal
ordering of curves as needed to support the computational processors.
Note the following guidelines and requirements to dene strain-rate dependent curves:
Curve points are input as strain-stress pairs;
Use as many lines continued with commas as needed to specify the points;
Multiple pairs may be specied on a line (maximum of 20 pairs total for the curve);
The rst point denes yield stress at the corresponding plastic strain rate.
The plastic strain for the rst point on the curve must be 0.0;
Input plastic strain values;
All plastic strain-stress values must be positive;
Plastic strain values must increase monotonically;
Chapter 2 (Updated: 8-20-2011) 2.2-8 Model Denition
Users Guide - WARP3D Material Denition
Stress values are not required to increase monotonically and may actually decrease;
As illustrated in Fig. 2.3, the plastic strain values must be identical for all the curves that make up
a set of curves to dene the dependence on plastic strain rate;
The material response at plastic strain values larger than the last point specied on the curve follows
a perfectly plastic response.
For large-deformation analyses, the values should correspond to the logarithmic strain-
Cauchy stress; for small strain-analyses the values should be engineering strain-engineering
stress.
Any value of yield stress specied during the material denition is overwritten during anal-
ysis with the above values interpolated at the current plastic strain rate of the material point.
The following is a complete example which uses three curves to dene the plastic strain
rate dependent response (see Fig. 2.3)
c
stress-strain curve 1 plastic strain-rate 500
0.0 80, $ these are plastic strain vs. stress values
0.025 96, $ the first point must have zero plastic strain...
0.050 103, 0.10 108, 0.20 114, 0.30 118,
0.40 122, 100 1000
c
stress-strain curve 2 plastic strain-rate 250
0.0 70, 0.025 85, 0.050 91, 0.10 96, 0.20 102, 0.30 105,
0.40 108, 100 1000
c
stress-strain curve 3 plastic strain-rate 0
0.0 60, 0.025 74, 0.050 79, 0.10 83, 0.20 88, 0.30 91,
0.40 93, 100 1000
c
c
material steel
properties mises curves 1-3 e 30000 nu 0.3,
alpha 1.2e-05 rho 0.1e-06
2.2.5 Nodal Values of Material Properties for FGMs
The nodal values for certain material properties may be specied with the following command
sequence
functionally graded material properties
(node) < list of nodes : integerlist > [< material property : label > < value >]
where the currently supported <material properties> include e, nu, alpha, rho, yld pt, tan e,
and n power. The capability of material models to use the specied FGM properties varies with
the computational models (see Chapter 3). Repeat the node data line as required to specify
values. An example of this command sequence is
functionally graded material properties
nodes 1-200 e 30000 nu 0.3 alpha 0.3e-05 rho 0.1e-4 yld_pt 50
Chapter 2 (Updated: 8-20-2011) 2.2-9 Model Denition
Users Guide - WARP3D Material Denition
nodes 201-1000 alpha 0.5e-06 nu 0.2 e 25000 rho 0.2e-04
1200-1300 nu 0.1 alpha 0.7e-06 n_power 12.3
1500-8000 alpha 0.1e-06 tan_e 250.0
1500-8000 e 28000.
.
.
The command sequence may be given after the model sizes (number of nodes) have been
entered and before the element specications. A complete example of material, FGM and
element specication is
structure compact_tension
.
.
material graded_ceramic
properties bilinear e fgm nu fgm alpha 0.3e-06,
rho 0.000034 yld_pt 1.0e20
.
number of nodes 19432 elements 15230
.
.
functionally graded material properties
nodes 1-200 e 30000 nu 0.3 alpha 0.3e-05 rho 0.1e-4
nodes 201-1000 alpha 0.5e-06 nu 0.2 e 25000 rho 0.2e-04
1200-1300 nu 0.1 alpha 0.7e-06
.
.
elements
1-500 q3disop linear material graded_ceramic order 2x2x2,
center_output short
Note the following options for specifying FGM nodal property values:
property values for a list of nodes may be specied all on one line or on separate lines. For example,
all the e values could be specied rst, then all the alpha values, etc.
newly specied values overwrite previous values
nodal property values may be changed between load steps in the analysis
2.2.6 Anisotropic Thermal Expansion Coecients
Residual stresses are often conveniently modeled by imposing components of initial strains
that vary spatially over the model. Incompatibilities in the specied initial strains generate
mechanical (residual) stresses to re-establish strain compatibility. To support this modeling
strategy, WARP3D provides the capability to dene anisotropic thermal expansion coecients
for each element in the model. When the imposed nodal/element temperatures have unit values,
the expansion coecients then become the initial strains to drive the analysis.
Separate materials can be dened for each set of thermal expansion coecients but this
leads to the input of much repeated information when many elements (possibly thousands)
with dierent initial strains are required. To streamline the input, anisotropic thermal ex-
pansion coecients also may be input in a tabular manner once the elements and material
Chapter 2 (Updated: 8-20-2011) 2.2-10 Model Denition
Users Guide - WARP3D Material Denition
denitions have been specied. Materials are dened in the usual manner except for values
of the anisotropic thermal expansion coecients. Those values are input using a command
sequence having the syntax is
thermal expansion coeicients
< element nos. : list > [< alpha id : label > (< value >) (, )]
where the labels that specify the six expansion coecients are: alphax, alphay, alphaz, alphaxy,
alphaxz, alphayz. Abbreviated labels may also be used: x, y, z, xy, xz, yz. Values may be specied
in any order; values not specied are set to zero. Expansion coecients are changed from the
values specied in the material denitions only for elements specied in this input sequence.
An example of this command is
thermal expansion coefficients
1-40 alphaz 1.0e-4 alphaxy 2.1e-5 alphayz -3.7e-6
41-1000 x 1.e-05 y -2.1e-4 xz 5.4e-4
The above command sequence may be input any point after the elements specication.
Chapter 2 (Updated: 8-20-2011) 2.2-11 Model Denition
Users Guide - WARP3D Element Properties
2.3 Element Types and Properties
The types of nite elements and their properties are specied prior to any compute requests.
An elements command on a separate line initiates the element denition sequence. Any number
lines may follow to dene the types and properties of all elements in the model. The denition
of an element requires the following information:
the type of element (e.g., l3disop, ts15isop, etc.)
the kinematic formulation (small or large displacements)
reference to a previously dened material that denes linear-elastic properties, mass den-
sity and the nonlinear properties (if required)
a list of element property identiers and associated values, e.g., the order of numerical
integration
The command syntax is
elements
< element nos. : list > type < element type : label >

linear
nonlinear

(, )
material < matl id : label > [< elem prop id : label >< value > (, )]
The logical input line may be continued over multiple physical input lines with commas at any
point. Subsequent sections in Chapter 3 dene the type of elements currently available and
the properties available for each element type. Element properties typically have a property
keyword followed by a value. Some element properties are logical values which take on true
values by the presence of the keyword.
The keyword linear requests a conventional small-displacement, small-strain kinematic for-
mulation. This is the default formulation and is adopted if no specication is given. The key-
word nonlinear requests a geometric nonlinear formulation that models large rotations and
nite strains.
Every element must have an associated material. Materials must be specied prior to their
use in element specication.
An example of elements specication is
elements
140 type l3disop linear material a36 center_output bbar,
order 2x2x2
5001000, 1200200 by 2 q3disop nonlinear material al_2024t,
order 14pt_rule long
Once dened, the specication for an element cannot be modied at any further point in the
analysis.
Chapter 2 (Updated: 12-15-2011) 2.3-1 Model Denition
Users Guide - WARP3D Nodal Coordinates
2.4 Nodal Coordinates
The coordinates of nodes are specied relative to the global Cartesian reference axes. During
model denition, the command coordinates initiates the translation of nodal coordinate data.
Any number of coordinates commands may be given prior to a compute request. The existing
coordinates for nodes are simply overwritten by any newly specied values. The input syntax
is
coordinates (clear)
< node number : integer >
_
_
_
_
_
x
y
z
_
_
_
< value : number >(, )
_
_
< node number : integer > [< value : number > (, )]
where the second form applies the default ordering of entries X-Y -Z. When using the second
form, coordinates not specied take on the last previously dened values. For example, the
sequence
coordinates
4 3.2 5.2 6.4
10 4.1
denes the Y coordinate of node 10 as 5.2 and the Z coordinate of node 10 as 6.4. This feature
may be suppressed by appending the word clear to the coordinates command line. The default
coordinates for every node are then 0.0 unless explicitly input. With this option for the above
example, node 10 is assigned coordinates of 4.1, 0.0, 0.0 rather than 4.1, 5.2, 6.4.
The default X-Y -Z ordering for the second input form may be modied by the default
command
coordinates
default
_
_
_
_
_
x
y
z
_
_
_
_
_
< node number : integer > [< value : number > (, )]
where any number of default commands may be given.
Some examples illustrating various options to dene nodal coordinates are given below.
coordinates
4 x 2.5 y 3.0 z 4.1
10 z 20 y 40 x 20
11 5.23 6.23
default z y x
3 15.3 14.2 10.5
default x y z
10 13.5 10.5 20.4
Chapter 2 (Updated: 12-15-2011) 2.4-1 Model Denition
Users Guide - WARP3D Nodal Coordinates
At any point during input of the coordinates, the dump command is available to request a
listing of current coordinates for all nodes of the model.
coordinates
4 x 2.5 y 3.0 z 4.1
10 z 20 y 40 x 20
11 5.23 6.23
dump
default z y x
3 15.3 14.2 10.5
default x y z
10 13.5 10.5 20.4
dump
Chapter 2 (Updated: 12-15-2011) 2.4-2 Model Denition
Users Guide - WARP3D Element Incidences
2.5 Element Incidences (Connectivity)
Each node of an element in the model must be mapped onto the corresponding global node.
Element incidences establish this correspondence. During model denition, the command inci-
dences initiates the translation of element incidence data. Any number of incidences commands
may be given prior to a compute request. The existing incidences for elements are simply over-
written by any newly specied values. The input syntax is
incidences
< element number : integer > [< global node i : integer list > (, )]
where <global node i> denotes the number of the global node to which the element node i is
attached. Note that the list of global node numbers may be specied as an <integer list>.
An example of the incidences command is
incidences
1 13-20
2 5 40 65 83 92 120 44 98
3 140-144 178 162 183
The number of entries in the <integer list> must equal the number of nodes on the element
(8 for l3disop, 12 for ts12isop, etc.). Error messages are issued by the input processor if the
number of nodes is less than required, if a node number exceeds the number of structure nodes,
etc. A warning message is issued if the same node appears more than once in the integer list
even though collapsed elements are supported.
The ordering of nodes for each element is shown in Chapter 3 where the element library is
described.
Note: the incidence data must precede the blocking information described in the next section.
This ordering requirement enables consistency checking of the blocking data.
Chapter 2 (Updated: 12-15-2011) 2.5-1 Model Denition
Users Guide - WARP3D Element Blocking
2.6 Element Blocking
2.6.1 Concept
All element level computations in WARP3D proceed on a block-by-block basis to facilitate
thread-based (shared-memory) parallel execution. Elements in the model must be assigned to
a block, and elements within a block must be numbered sequentially. The explicit blocking of
elements for computation represents a key feature of the WARP3D software architecture. When
executing in parallel, a processor core (thread) is assigned to perform all required computations
for elements within a block, for example, computing new tangent stiness matrices. If WARP3D
is assigned 16 threads at the start of execution, computations are performed simultaneously
on 16 blocks of elements. The processing of elements by blocks in this approach for parallel
execution greatly reduces the run-time overhead to create and delete the threads for the program
given the comparatively large amount of real work performed within a thread. Further, all
element blocks have independent data structures and may be processed in any order which
increases parallel eciency by allowing threads to process blocks without waiting for other
threads to nish their blocks. Testing reveals essentially ideal, linear speedups for processing
of element blocks.
The maximum number of elements permitted in a block is set by a compile-time variable
in the WARP3D source code and is now generally 128
1
. The block sizes aect the eciency
of execution. Small block sizes increase the number of blocks to be processed and shorten the
length of innermost do loops, i.e., more overhead work to setup threads-loops for blocks and
less work per block. With larger sizes, the temporary data structures for a block may overow
the local cache memory on a processor leading to a performance penalty.
Each computer system has a a range of block sizes that yield better performance, which can
be found by running a large model with varying block sizes. However, such knowledge is not
crucial for successful, ecient executions. As an example, a model with 64,000 20-node brick
elements having the large displacement formulation was executed for a range of block sizes.
The cpu times required for generation of the element tangent stiness matrices were recorded
for execution using a single thread. The computer was a top-end Intel processor. The solution
with a block size of 128 yielded the lowest cpu time. Let that time be a relative 1.0. Relative
times for other block sizes were: 32 (1.07); 64 (1.01); 256 (1.68), and 512 (2.04).
With current hardware designs, we recommend maximum block sizes of 128 for all models
and have xed the current limit on block size in the code at 128.
2.6.2 Simplied, Automatic Blocking: Available starting in 17.3.2
The most frequent analyses performed by WARP3D users are completed with the thread-
based, parallel version (OpenMP, no MPI) and with the Pardiso sparse solver direct or
iterative implementations [see also Section 2.10]. This form of parallel execution is available on
Windows, Linux and Mac OS X computers. MPI execution is available as an option only on
Linux computers.
1
Larger block sizes may cause a runtime violation of the system limit on the stack size per thread often
8 MB. In a bash shell, we recommend using the command ulimit -s unlimited before starting WARP3D to
remove the per thread limit on stack size
Chapter 2 (Updated 5-11-2013) 2.6-1 Model Denition
Users Guide - WARP3D Element Blocking
WARP3D provides automatic assignment of elements to blocks for this very common situ-
ation. Nodes and elements are not renumbered in this process. The command has the form
blocking automatic (size(=) < integr >) (display)
Examples of the command are
blocking automatic
blocking automatic size 64 display
The blocking command must be given after input of the element incidences and before the rst
compute command. The default value of size is 128. The optional display requests a tabular
listing of the blocking assignments.
WARP3D assigns elements sequentially to blocks starting with element 1 and opening new
blocks as needed. Elements in a block must: (1) be the same type, (2) be associated with
the same user-dened material in the input, (3) have same linear or nonlinear displacement
formulation, (4) have the same integration order and (5) have or not have the

B formulation
for 8-node brick elements.
The following subsections describe less common situations for analyses that use the element-
by-element (EBE) iterative solver and/or use the MPI + threads version for parallel execution
on Linux. In these situations, users must provide all the blocking information which is most
often produced by a separate pre-processor program.
2.6.3 Command and Requirements
The assignment of elements to blocks is most conveniently handled by the pre-processor software
employed to create the nite element model. The patwarp program, for example, converts a
Patran neutral le (a text le) into a WARP3D input le and performs the element-to-block
assignments (see Appendix C).
The block assignment commands have the form
blocking
< blk : integer > < blk size : integer > < rst elem in blk : integer >
Blocking data must be input after input of the element incidences to enable internal checks on
the correctness of blocking assignments.
The following example input describes the blocking assignments for a model having 25,970
elements and a maximum block size of 128. This is a typical blocking command when all
elements are the same type, the same material model, etc.
blocking
1 128 1
2 128 129
3 128 257
4 128 385
5 128 513
6 128 641
Chapter 2 (Updated 5-11-2013) 2.6-2 Model Denition
Users Guide - WARP3D Element Blocking
.
.
.
201 128 25601
202 128 25729
203 114 25857
The following rules dene the proper assignment of elements to blocks. All elements in a
block:
must be sequentially numbered within the block
must be the same type; e.g., l3disop
must have the same kinematic formulation (linear or nonlinear)
must have the same material computational model, e.g., gurson (see note below about segmental
curves)
must have the same integration order (e.g. 2 2 2)
All elements in a block must have the same computational material model from the WARP3D
material model library described in the next chapter. Users declare materials in the input
(e.g., a36 steel, al 2024) and then associate the materials with elements.
For these material models: deformation, bilinear, mises, gurson and cohesive, elements
within a block can be associated with dierent materials but all of the materials must use
the same computational material model, e.g., mises, gurson, . . . . This enables elements in
a block to all follow a mises plasticity model, for example, with power-law hardening where
Youngs modulus, Poissons ratio, yield stress, hardening exponent could vary between elements
in the same block through the use of dierent materials.
For these material models: cyclic, mises hydrogen and umat, all elements in a block must
refer to the same material dened previously in the input. This is a more restrictive limitation
on element assignment to blocks fort these material models and will be removed in a future
release.
When the properties of a material are dened by a segmental stress-strain curve or a set
of stress-strain curves, the materials associated with elements in a block must all reference the
same stress-strain curve or set of curves.
In the blocking example above, it is quite straightforward to assign elements to blocks of
the same size, except for the last block. In more complex cases where the elements are dierent
types, where there are multiple types of material models, etc., the blocks can have widely
varying sizes as needed to comply the assignment rules bulleted above.
The above discussion applies to executions of WARP3D on a single processor/core or on
any number of processors/cores with the standard version of WARP3D that uses only threads
(shared-memory) during execution [see Chapter 7 for a full discussion on the various methods-
procedures to execute WARP3D in parallel].
Chapter 2 (Updated 5-11-2013) 2.6-3 Model Denition
Users Guide - WARP3D Element Blocking
2.6.4 Blocking with Domain Decomposition
For extremely large models, WARP3D provides another level of parallel execution through
the hybrid version of the code (MPI + threads). The model is partitioned (decomposed)
into domains, with each domain assigned to an MPI rank (process). Each domain is further
partitioned into blocks of elements as described in the previous section. The assignment of
elements to blocks now becomes more complex. Chapter 7 describes the details and commands
for parallel execution using the hybrid version of WARP3D. The brief discussion here describes
the necessary concepts.
Elements are rst assigned to the domains of the model. Storage and computations for a
domain often are mapped onto a specied computer hardware cluster or onto a specied group
of processors through operating system commands external to WARP3D. The user determines
the best number of domains for the analysis based on the available hardware conguration and
the size/characteristics of the nite element model.
The domain number for each element block is simply appended as a new integer value in
the commands shown in the above section. Domain numbers start at 0 (zero). For example,
suppose element block 1300 belongs to domain 84 and has 128 elements starting with element
324,840. The input line in the blocking data would be
blocking
.
.
.
1300 128 324840 84
.
.
.
The element-to-domain assignment proves key for execution eciency during the stiness
assembly and equation solving processes. Good domains provide the smallest number of con-
necting (shared) model nodes over the boundary surfaces with adjacent domains achieving
this goal this is a topological optimization problem. The overhead during execution to com-
municate solution data across domains grows signicantly with the number of nodes on the
boundary surfaces of the domains. Once all elements in the model are assigned to a domain,
the usual blocking process described above, with the same rules, is performed separately for
each domain, where all the elements in a block must reside in the same domain.
Given these additional complexities for solutions with domain partitioning, we very strongly
suggest using the interactive patwarp program (Appendix C) to perform the element-to-domain
assignment and the blocking assignments. This standalone program asks the user a series of
questions about partitioning (number of domains, etc.). The patwarp program runs a topological
optimization rst to assign elements to domain, then assigns elements to blocks while insuring
elements in a block conform to all the above rules, sets the ordering of internal vs. external
blocks in a domain, etc. and nally writes the WARP3D input le.
The domain and blocking construction invariably requires that patwarp re-number elements
in the model (but not the nodes) to achieve a mesh that optimally conforms to the domain and
Chapter 2 (Updated 5-11-2013) 2.6-4 Model Denition
Users Guide - WARP3D Element Blocking
blocking rules. At the users request, patwarp will write a new Patran neutral le for the entire
model that reects the revised element numbering. It also provides a special Patran compatible,
element results le that has the domain and block number for each element in the model. Users
can invoke the Patran results processing capabilities together with this le to produce color
images of the model displaying the domains and blocks.
Chapter 2 (Updated 5-11-2013) 2.6-5 Model Denition
Users Guide - WARP3D Nodal Constraints
2.7 Nodal Constraints
WARP3D currently supports three types of displacement constraints applied to the model
nodes:
Absolute: zero or non-zero value imposed in a specied direction at a node. The direction
may be in the global, Cartesian system or in a user-specied (local) coordinate system at a
node
Multi-point: a specied linear relationship between two or more displacement components
at the same or multiple nodes expressed in the global Cartesian system. These are often
termed relative constraints or multi-point constraints (MPCs).
Tie-mesh: used to tie together multiple pairs of surfaces throughout the analysis. The
two surfaces must be geometrically identical (to within a tolerance) but may be (and most
often are) topologically dissimilar. This capability enables very convenient mesh transitions
and the connection of a mesh region made of hex elements, for example, to a mesh region
made of tet elements.
The input sequence to initiate the denition absolute and multi-point nodal constraint data
is the constraints command. The input translator destroys all previously dened absolute
and multi-point constraint data upon encountering this command. Thus to modify constraints
between load (time) steps, all the constraints must be specied not just the constraints that
have changed.
Two dierent types of commands are used to dene the tie-mesh constraints as described
in a subsection below. Commands for tie-mesh constraints are processed independently of the
constraints command we include the description here as the end result of the tie-mesh pro-
cessing is a set of automatically generated MPCs. Tie-mesh input is unaected by model input
entered under the constraints command.
To simplify input, we recommend that all absolute constraints be specied rst, followed by
the multi-point constraint equations. The keyword multipoint separates the two types of con-
straints. The input translators delete previously dened MPCs upon encountering the keyword
multipoint.
constraints
< absolute constraint >
< absolute constraint >
< absolute constraint >

multipoint
< multipoint constraint equation >
< multipoint constraint equation >

Chapter 2 2.7-1 Model Denition


Users Guide - WARP3D Nodal Constraints
2.7.1 Absolute Constraints in Global Coordinates
The simplest command to dene absolute constraints in the global Cartesian system has the
syntax
constraints
< node list : list >
_
_
_
_
_
u
v
w
_
_
_
(=) < constraint value : numr >(, )
_
_
Examples of global constraints using this command include:
constraints
1-100 by 3 w 4.3 v 0 u 0
24 u = -1.3 w 0.0
To simplify the specication of constraints for all nodes that lie on a certain coordinate plane
of the model, the list of nodes followed by a list of directions and constraint values in the above
command may be replaced by the following:
plane
_
_
_
u
v
w
_
_
_
= < coord value : numr > (verify)
where the < constraint value > can have one of several forms

xed
symmetry
_
or
_
_
_
u
v
w
_
_
_
(=) < displacement value : numr >
The xed option sets u = v = w = 0 for all nodes located on the specied plane. The symmetry
option imposes u = 0 for all nodes located on the specied x plane, v = 0 for all nodes located
on the specied y plane, or w = 0 for all nodes located on the specied z plane. Lastly, a
displacement component may be assigned a prescribed value for all nodes located on the plane.
The verify option provides a table of constraints imposed as a result of the plane command. The
number of nodes aected by the plane command is always printed for reference. The constraint
processor uses a relative tolerance to locate nodes on the specied plane based on the model
dimensions in each coordinate direction. Examples of this option include
plane x = -1.3 fixed verify
plane y = 0 symmetry
plane z = 200 u = -0.0001 verify
2.7.2 Nonglobal, Absolute Constraints
The capability to specify constraints in non-global coordinates enables the analysis of skew
supports, for example, that arise naturally in structural systems or in 3-D models of axisym-
metric structures. To dene constraints in a non-global Cartesian system, consider the simple
problem shown in the Fig. 2.7.1. Here the global and local z axes are aligned but the local and
Chapter 2 2.7-2 Model Denition
Users Guide - WARP3D Nodal Constraints
!
"
#
"
!
!
#
!
!"
$
!
"
#
"
%
"
!
!
!
#
!
!
%
!
!
"#$%%"&' "#' "#"
(("#' "#$%%"&' "#"
"#" "#" )#"
&$'(')$* +('&),
!"#$%&'(#%$
%&'#$)"&*'%("# *'%&(+ ,-.
&"/01 234552-6 236 232.
&"/0- 7236 234552-6 232.
&"/0, 232 232 132
,- 8 9 2
!"
Fig. 2.7.1 Example of local coordinate system for constraint specication.
global x, y axes are not aligned. The user denes a 3 3 rotation matrix of direction cosines
which transforms global vector quantities into the local coordinate system. The boundary con-
dition shown becomes simply u = 0 in the local coordinate system. Transformation matrices
are specied with the command sequence:
constraints
transformation matrix < node list : list >
_
_
_
_
_
row 1
row 2
row 3
_
_
_
[< direction cosines : numr >]
_
_
where any number of nodes may be associated with the specied transformation matrix; the
transformation matrix command may be repeated as necessary within the constraints def-
inition. In this example, the constraint is specied immediately following denition of the
transformation matrix although this is not required.
The input system veries that the rotation matrix specied is orthogonal and that the
matrix pre-multiplied by its transpose becomes an identity matrix to within a tight tolerance.
As in the above example, users specify constraints in the local coordinate system dened
for the nodes. The plane option for specication of constraints may be combined with the
transformation matrix option. The specied x, y, or z plane remains a global plane but the
specied constraints for nodes on the plane take on the meaning of any local coordinate system
dened at the node through the transformation matrix.
These local coordinate systems apply only during the specication of constraints. Nodal
loads and element loads must always be specied in global coordinates. All nodal output quan-
tities produced by WARP3D are in global coordinates.
Chapter 2 2.7-3 Model Denition
Users Guide - WARP3D Nodal Constraints
2.7.3 Multi-Point Constraints (MPCs)
These constraints provide a convenient approach to enforce a linear relationship between dis-
placement components at a single node or across multiple nodes. At present, the MPC capabil-
ity supports only homogeneous equations the right-hand side must be zero. Each multi-point
constraint equation is specied with input having the form
constraints
< absolute constraint >

multipoint
_
_
< node id : integer > < coecient : real >
_
_
_
u
v
w
_
_
_
(, )

_
_
_
= 0.0
Examples of multi-point constraints include
9954 1.0 u - 9954 1.0 v = 0.0
175 -1.0 w + 533 4.3 w - 542 5.7 u = 0.0
300 1.4 u + 927 1.0 v,
- 9340 1.0 w + 10821 1.4 u = 0
Note that only one node number may precede each < coecient > and that the coecient must
be type < real >. There is no default value of 1.0 for the < coecient >; the < coecient >
must be specied as in the rst example equation above. A space is required on each side of
the +, sign as indicated in these examples prevents a node number from being interpreted
as a negative integer. To continue long equations over multiple input lines, insert the comma
and line break after a direction specier as in the above example.
In dynamic analyses, the computed displacements satisfy the MPCs exactly as in static
analyses. The Newmark time-history integration procedure generates the nodal velocities and
accelerations. The computed velocities also satisfy the linear relationships specied in the MPCs
for geometrically linear solutions but the accelerations approximately satisfy the relationships.
In the coming releases, new commands will be added here to generate automatically the
most common types of MPC equations, e.g., to make the displacements identical at two nodes,
to make the displacements at a node the average of displacements at two adjacent nodes.
2.7.4 Constraints in Nonlinear Analyses
In a nonlinear analysis, the current constraints dene the incremental changes to be imposed
over the next load step (and time step). Non-zero absolute constraints are enforced during the
rst iterative cycle for the load step. In subsequent iterations, no further displacement change
occurs on the constrained displacements to maintain the value of the specied increment or the
linear, MPC relationship.
By default, the current set of absolute constraints with a multiplier of 1.0 are imposed
during each nonlinear load step. Alternatively, the multiplier for constraint increments over
load step may be included in the denition of the loading step (see Section 2.8.5).
Chapter 2 2.7-4 Model Denition
Users Guide - WARP3D Nodal Constraints
!
"
#
$
%
&
'
(
)
*
+
++
Fig. 2.7.2 Simple 2-D illustration of tie-mesh constraints.
2.7.5 Display of Current Constraint Data
Within the constraints command sequence, the dump command may be specied to request a
display (listing) of the current constraints information taken from internal tables.
2.7.6 Tie-Mesh Constraints
Quite often in large models, there exists the need to:
make very coarse transitions in mesh density without using special transition elements
transition from a mesh region of hex elements, for example, to an adjacent region meshed
with tet elements
In these cases, the faces of elements on each side of the transition dene a geometrically identical
surface (within a tolerance) even though no topological congruency exists between element faces
on each side of the transition surface. Moreover, the element types may be dierent on each
side of the transition surface.
Consider the simple 2-D version in Fig. 2.7.2 for purposes of discussion. Here the topmost
row of elements (labeled I, II ) are 8-node (quadratic) isoparametrics with linear triangle ele-
ments below. The dotted line denes the interface edge for the 2-D case which becomes a
surface in the 3-D case. Nodes A, B, C, D, E are dened with the top region mesh while
nodes a-e are dened in the bottom region. The two mesh regions could have been dened by
separate working groups, using dierent meshing programs, etc. Edges A-B-C and C-D-E are
shown here as straight but they can be curved in general for the quadratic elements. The key
requirement is that the mesh developers create nodes a-e to lie (geometrically) on the interface
edge represented by the top elements. The tie-mesh processors determine, for example, that
node b lies at a specic location between nodes A-B-C on a certain edge of element I. A set
of multi-point constraints is constructed to tie node b to have the same displacements as
that location on edge A-B-C of element I. The processors solve for the parametric coordinate
on edge A-B-C corresponding to the geometric location of node b. The generated multi-point
Chapter 2 2.7-5 Model Denition
Users Guide - WARP3D Nodal Constraints
!
"
#
$
%
&
'
(
)
!"#$% !&'(#)%
*#+,%' !&'(#)%
*
+
,
Fig. 2.7.3 Simple 3-D illustration of the tie-mesh constraints to couple a quadratic hex mesh to a
quadratic tet mesh.
constraints then have the form:
u
b
=
A
u
A
+
B
u
B
+
C
u
C
v
b
=
A
v
A
+
B
v
B
+
C
v
C
were
A
,
B
,
C
are numerical constants derived from the edge shape functions for element I
using the initial geometry of the edge. In 3-D, the w displacement at b has a similar constraint.
From the above two MPCs, it is clear that node b is the dependent node and that nodes
A-B-C are the independent nodes. The (u, v) displacements for node b are eliminated prior to
solution of the equilibrium equations. It is common terminology to dene the edge containing
nodes A-B-C-D-E, etc. as a master edge (a master surface in 3-D) and edge a-b-c-d-e, etc.
as a slave edge (a slave surface in 3-D). Degrees of freedom associated with all nodes on the
slave edges (2-D) and slave surfaces (3-D) are taken as dependent and eliminated. Consequently,
absolute constraints cannot be imposed on slave nodes.
The above example also illustrates additional features and consequences of the tie-mesh
process. The processing routines for tie-mesh readily nd that nodes C and c have identical
coordinates and thus the simpler multi-point constraints are generated as u
c
= u
C
and v
c
= v
C
(in 3-D, the w displacements are included as well). Now suppose the coordinates specied for
node b are dened by the user such that it does not lie exactly along the edge A-B-C. The tie-
mesh processors support a user-dened tolerance with an adjust option for such situations which
allow the processors to re-position node b to lie exactly on edge A-B-C prior to construction of
the multi-point constraints. Finally, this example shows a tie-mesh transition from quadratic
Chapter 2 2.7-6 Model Denition
Users Guide - WARP3D Nodal Constraints
elements to linear elements. Such a mesh allows the formation of gaps and overlaps between
elements in the deformed conguration since only slave nodes are constrained. Moreover, in
this example, there exists a clear gap in the undeformed mesh at node A since the triangle
edge a-b must be straight. This represents poor practice and should be avoided. When the
element types on both adjacent surfaces have the same displacement interpolation order, the
deformed conguration maintains inter-element displacement compatibility. If a transition from
quadratic to linear elements must be used in the mesh, it is recommended that the interface
surface be a at plane to avoid initial (geometric) gaps between the master and slave surfaces.
Figure 2.7.3 shows a typical application of the tie-mesh capability to connect a mesh of
20-node hex elements to a mesh of 10-node tet elements. The more rened mesh of tet elements
serves as the slave surface. In this example, the tie-mesh processors generate MPCs of various
complexity. The (u, v, w) displacements of node d are tied to displacements of nodes A H,
with the coecients derived from the quadratic shape functions of the 20-node hex element.
Node a is simply pinned to node A; node b is simply pinned to node B, etc.
The more rened mesh surface should be chosen as the dependent (slave) surface. If the
more coarse mesh surface is chosen as the dependent surface, there could be small elements on
the more rened surface not connected to the coarse dependent surface, thereby allowing a gap
in the tied mesh connection.
In geometrically nonlinear analyses, the MPCs generated by tie-mesh processors use the
undeformed geometry and thus remain unchanged during the solution. In the example above,
node d remains xed to the same parametric point (i.e., material point) on face A H
throughout the solution and thus the MPC coecients do not change.
The tie-mesh specication involves two sets of commands not connected to the constraints
command described in the previous sections. First, commands are given to construct surfaces
composed of faces of elements, where the face numbers correspond to those used to dene ele-
ment loads. Multiple surfaces are usually dened and are given names as part of the denition.
Second, the ( tie) command is specied followed by a listing of pairs of master-slave surfaces.
The tie command has options to set a tolerance for adjusting nodes on the slave surface to
match exactly the geometry represented by element faces on the corresponding master surface.
Multiple tie commands may be used, for example, if it becomes necessary to use dierent values
of the tolerance for dierent surfaces.
Surface Command
The surface command has the form
surface < surface id : label >
< list of elements : list > face (abaqus) < element face no : integer >
< list of elements : list > face (abaqus) < element face no : integer >

Surface denitions are required for each pair of master and slave sides of the interfaces. The
face numbers for hex and tet elements are shown in Fig. 2.7.4. These numbers correspond to
the face numbers used to apply loadings on the elements. The abaqus option proves convenient
Chapter 2 2.7-7 Model Denition
Users Guide - WARP3D Nodal Constraints
to import models available as Abaqus input les. The faces of tet elements are numbered
identically in Abaqus and WARP3D. Faces 1-3 and 6 are identical for the hex elements. Faces
(4,5) in WARP3D are numbered (5,4) in Abaqus. Simply append the abaqus option as indicated;
the input translator converts specied Abaqus face numbers to WARP3D face numbers. An
example of this command is
surface piece_a
47 face 4 abaqus
165-320 by 5 1000-1300 by 3 822 844 face 1
surface piece_b
8000-10000 by 2 12000-15000 by 3 face 3
200 face 2
300-800 face 4
When the specied < surface id > matches a previously dened surface, the existing surface is
destroyed and re-dened by the new input commands. As many surfaces as are required may
be dened.
Tie Mesh Command
The tie mesh command has the form
tie mesh < tied set id : label >
tolerance < tol value : numer > adjust

on
o
_

master
slave
_
< surface label : id >

master
slave
_
< surface label : id >

The tolerance command is optional. The defaults are tolerance 0.05 adjust on. The adjust
option corrects small geometric mismatches in node locations on the specied slave surfaces to
match the geometry of the master surfaces (more details below). The keywords master or slave
are required. Use as many lines as needed to dene all the master-slave pairs.
Multiple tie mesh commands may be used for clarity in model denition or to change the
tolerance value for dierent pairs of surfaces. Reference to an existing tie mesh set causes the
existing set to be destroyed and re-dened by the new input.
Examples of this command include
tie mesh crack_insert_a
tolerance 0.01 adjust on
master seg_left slave seg_right
master seg_bottom slave seg_top
tie mesh crack_insert_b
slave left_a master left_b
master left_c slave left_d
slave left_e master left_f
Chapter 2 2.7-8 Model Denition
Users Guide - WARP3D Nodal Constraints
1
3
4
7
6
5
2
8
Face No. Nodes
1 1--2--3--4
2 5--8--7--6
3 1--5--6--2
4 4--8--7--3
5 2--6--7--3
6 1--5--8--4
!
"
#
1
4
!
!
2
3
!
"
!
#
!
$
!$ "!
#
"!
"
"!
!
Face No. Nodes
1 1--2--3
2 1--4--2
3 2--4--3
4 3--4--1
WA83u, Abaqus faces 1-3 and 6 are
ldenucal. WA83u faces (4,3) =
Abaqus faces (3,4).
Fig. 2.7.4 Face numbers for hex and tet elements to dene surfaces for tie-mesh constraints.
The tolerance value supports checking of nodes on the slave mesh surface to determine
if they are suciently near the master mesh surface to be considered in contact with the
master surface in the initial, undeformed conguration. Slave nodes that satisfy the specied
tolerance are included in the automatically generated MPC equations produced by the tie-mesh
processors. If the absolute (gap) distance from a slave node to the master surface exceeds
the specied tolerance, the slave node is not included in the MPCs a warning message is
issued that lists the current node and surface data for the omitted slave node. When the user
knows the gap distance between the slave node(s) and master surface(s), the tolerance should
be set to a slightly larger value to insure that all slave nodes are included in the tied mesh
MPC equations.
If the initial gap distance between the slave nodes and master surface(s) is not well known,
we suggest setting a tolerance value to the typical element face size on the dependent surface
(the more rened mesh surface) as a starting point. The typical element size should be a
reasonable starting point to set a suitable tolerance value. The user should check the output
le for any tied mesh warning messages about unconstrained slave nodes to obtain information
about the computed gap distances. This information supports changes to increase or decrease
the tolerance value to either include all slave nodes or to exclude some slave nodes from the
tied mesh.
Chapter 2 2.7-9 Model Denition
Users Guide - WARP3D Nodal Constraints
The adjust feature updates the initial coordinates of slave nodes to lie exactly on the
master mesh surface. The tie-mesh processors perform this location adjustment of the slave
nodes before the analysis and thus causes no initial strain.
Use of Patran to Genrerate Surface Lists
The generation of element lists and face numbers to dene the surfaces for mesh tie modeling
can require considerable eort. While Patran does not support this feature directly, the element
lists-face numbers may be generated readily with the following procedure.
Create a load case in Patran for the model and apply pressure loads to the faces of elements
that dene a surface for mesh tie modeling. Repeat for each additional mesh tie surface. When
translated into WARP3D input le by the patwarp program, each separate load case will have
the list of elements and corresponding faces included in the WARP3D input le produced by
patwarp. Simply remove the keyword pressure and the loading intensity using a text editor and
add the surface command to replace the load case command.
Chapter 2 2.7-10 Model Denition
Users Guide - WARP3D Loads
2.8 Loads (Including Temperatures & Non-Zero Displacements)
Loads and temperature changes may be applied to the nodes and elements of a model. Element
loads, which are dependent on the type of nite element, and changes of nodal temperatures
are converted to equivalent nodal forces by element processing routines.
Nodal loads and element loads are grouped together to dene loading patterns. The loading
patterns dene the spatial variation and reference amplitudes of loads on a model. The dis-
placement constraints dened on the model also represent a loading pattern but with a built-in
name, i.e., constraints. Examples of loading patterns include self-weight, an internal/external
pressure and a localized temperature increase/decrease.
Once loading patterns are specied, a nonlinear loading condition is dened [the term
dynamic may be used as a synonym for nonlinear if desired for clarity in some analyses].
A nonlinear/dynamic loading consists of a sequential number of load steps (can be many
thousands of steps as needed). An incremental-iterative solution procedure is performed to
obtain the displacements, velocities accelerations, strains, stresses, . . . at step n + 1 starting
with the the solution available at step n and the user-specied, incremental (step) loading
imposed on the model over n n + 1. For dynamic analyses, a load step (n n + 1) is the
same as a time step t
n
t
n+1
.
The incremental load applied to the model over a load step is formed by combining the
equivalent nodal forces/displacements from the loading patterns with pattern scaled by an
appropriate factor. For example, suppose the pattern loading for the internal pressure has a
magnitude of the nal, total pressure to be considered in the analysis. To obtain a converged,
nonlinear solution, the total pressure may need to be increased gradually over some number of
load steps say 100. The user then species 100 load steps with the reference (pattern) loading
for the pressure specied to have a 0.01 scale factor in each step. Alternatively, the pattern
loadings are often dened to represent a unit value of some loading on the model, e.g., a 1 MPa
internal pressure over certain surfaces. This can simplify the specication of scale factors in the
denition of loading steps.
WARP3D computes the incremental solution for each load step assuming the model response
is dynamic and nonlinear. A linear dynamic analysis has no material nonlinearities, geometric
nonlinearities or contact present in the model denition (computed residual forces at nodes
following the rst Newton iteration of the step are all zero). A static linear or nonlinear analysis
is accomplished as a dynamic analysis by specifying: (1) a very large time increment or (2) zero
mass for the model. The user selects one of the two procedures by setting the time increment
or the model mass. A static, linear analysis would most often be performed using just 1 load
step.
The rst sections below describe the commands to dene nodal forces and element loads
that construct a loading pattern. Commands are then dened to specify load steps in a non-
linear/dynamic analysis (or step 1 of a static, linear analysis).
2.8.1 Loading Patterns
A new loading pattern is dened through a command of the form loading
Chapter 2 (Updated: 9-10-2012) 2.8-1 Model Denition
Users Guide - WARP3D Loads
loading < loading identier : label >
where the loading identier is used in subsequent commands to identify the loading, for example,
in compute and output requests. Only the rst eight characters of the identier are processed;
all loading patterns must have unique identiers. When an existing loading pattern is referenced
in this command, the input translators delete all previously dened node and element loadings
for the pattern. Specied temperature values for nodes and elements in the pattern loading
represent incremental changes relative to the initial temperature distribution specied for time
zero (start of load step 1) using the initial conditions command (see Section 2.9).
2.8.2 Nodal Loads
A sequence of nodal load denitions has the form
nodal (loads)
< node list : list >
_

_
_

_
force x
force y
force z
temperature
_

_
(=) < value : numr >(, )
_

_
Nodal loads are additive; if the same node and direction appear in two dierent loading com-
mands within the pattern, the sum of the two loads is applied to the model. An example
sequence to dene a loading condition and a set of nodal forces is
loading unit_pull
nodal loads
1-40 60-90 force_z -2.3 force_x 14 temperature -42.3
3240 3671 4510-5000 force_z -3.12
35 temperature 145.0 force_x 2
In the above example, node 35 has a total force in the X-direction of 16 (14 from the rst line
2 from the last line), in addition to a net temperarture change of 102.7. Nodal forces are always
applied in the global coordinate system and are thus unaected by the deformed geometry.
User-Dened Nodal Loads Routine
The nodal forces and temperatures for a pattern loading may be dened through a user-written
function included in the WARP3D program. Appendix J provides details of developing such a
routine and how to include it in WARP3D.
To request that a user-routine be invoked to dene nodal loads rather than the type of
input shown above, specify the command sequence
nodal (loads)
user routine
The user-routine is called during the solution process for every load step whenever the pattern
multiplier is non-zero. This enables the user-routine to modify the nodal forces and tempera-
tures in the pattern loading as needed for potentially complex modeling conditions.
Chapter 2 (Updated: 9-10-2012) 2.8-2 Model Denition
Users Guide - WARP3D Loads
2.8.3 Element Loads
A sequence of element load denitions has the form
element (loads)
< elements : list > < type of element loading >
< elements : list > < type of element loading >
.
.
where the <type of element loading> is either a body force, a face traction with constant
direction, a face pressure, or a uniform temperature change for the entire element. The types
of element loads and commands to dene them are dependent on the type of element. Refer to
Chapter 3 for this information.
When the analysis includes geometric nonlinear eects (large displacements), equivalent
loads for the incrementally applied surface tractions are re?computed at the beginning of each
load step using the current (deformed) geometry of the elements (see discussion in Section 1.6).
2.8.4 Step Loads
The loading type designated dynamic or (equivalently) nonlinear denes the combinations of
pattern loads for each time step in a dynamic analysis or each load step in a static non? linear
analysis. These commands have the form
loading < loading identier : label >
nonlinear
steps < steps : list > [ < pattern id : label > < multiplier : numr > (, ) ]
where the keyword dynamic may be substituted as a synonym for nonlinear. Nodal and element
loads cannot be specied within a nonlinear/dynamic loading denition above. The multiplier
value must follow each pattern id a multiplier value is required input. As indicated, multiple
pattern loads may be combined with dierent multipliers to dene a load increment for a time
step in a dynamic analysis or a load step in a static nonlinear analysis.
Only one loading condition of type nonlinear or dynamic should be dened for an analysis.
By default the existing constraint denitions are included in each load step with a multiplier
of 1.0. The constraints used in solution for a load step are the constraints dened at the
actual solution time for the step (users can redene the constraints data at any time the
1.0 multiplier applies to the currently dened constraints at step solution time). The user may
include constraints as a loading pattern with a multiplier other than 1.0.
An example of this command sequence is
loading crush
nonlinear
steps 1-10 unit_pressure 2.3 unit_tens -1.2 constraints 1.0
steps 11-200 pull 0.2 constraints 2.3
.
.
Chapter 2 (Updated: 9-10-2012) 2.8-3 Model Denition
Users Guide - WARP3D Loads
where the loading patterns unit pressure, unit tens and pull have been dened previously.
Although the steps are dened in ascending sequence in the above example, the steps may be
dened in any order; the nal set of steps must comprise a sequential list.
Modifying Step Denitions
During the course of a nonlinear or dynamic analysis, it is often necessary to dene additional
steps or to modify the denition of steps yet to be analyzed. For example, previously dened,
but unsolved, load steps may need to have a reduced multiplier based on current convergence
properties.
Unsolved steps within a nonlinear/dynamic loading condition may be redened and addi-
tional (new) steps dened at anytime by simply entering the above command sequence with
appropriate load step denitions. Only the steps requiring a change need to be entered.
2.8.5 Displacement Control Loading
A nonlinear/dynamic loading condition with appropriate step denitions must be always be
specied for a model. If the model is loaded only by non-zero imposed displacements, there are
no loading patterns dened. The keyword constraints is listed in the denition of load steps as
in this example which gradually reduces the magnitude of displacements imposed in each step
as the analysis progresses.
loading crush
nonlinear
steps 1-10 constraints 2.0
steps 11-50 constraints 1.5
steps 51-100 constraints 0.5
steps 101-200 constraints 0.25
.
.
Unless explicitly included as in the above example, constraints included by default with a 1.0
multiplier. Note also that the constraints information may be re-dened between load steps
(see Section 2.7).
Chapter 2 (Updated: 9-10-2012) 2.8-4 Model Denition
Users Guide - WARP3D Initial Conditions
2.9 Initial Conditions for Model
Users may speciy certain initial conditions present in the model at time t = 0 (i.e., at the start
of load step 1). These include: nodal displacements, nodal velocities and nodal temperatures.
When initial conditions are not specied, all initial displacements, velocities and temperatures
are set to zero. Initial displacements and velocities may often be required to specify properly
the starting conditions for a time-dependent (dynamic) analysis. Similarly, the specication of
initial temperatures proves convenient to set up the use of temperature dependent material
properties. All temperature changes specied in the loading thus are relative to the specied
initial nodal temperatures.
The command initiate the specication of initial conditions is:
initial conditions
This command is followed by a series of statements to specify initial nodal displacements,
velocities and/or temperatures. The ordering of commands is immaterial and only the last
values entered are retained.
To specify initial nodal displacements, use the command sequence
displacements
(nodes) < node list : list >
_
_
_
_
_
u
v
w
_
_
_
(=) < value : numr >(, )
_
_
where the value all for the <node list:list> is acceptable in the initial conditions. To specify
initial velocities, use the command sequence
velocities
(nodes) < node list : list >
_
_
_
_
_
u
v
w
_
_
_
(=) < value : numr >(, )
_
_
To specify initial temperatures, use the command sequence
temperatures
(nodes) < node list : list > temperature(=) < value : number >
An example of the initial conditions command is
initial conditions
temperatures
1-800 temperature 300
900-10000 by 2, 12000-14000 by 3 temperature 600
velocities
all w 100 v 200 u -200
displacements
900-1400 by 2, 1600-2300 by 5 v -2.1
Chapter 2 (Updated: 12-12-2012) 2.9-1 Model Denition
Users Guide - WARP3D Solution Parameters
2.10 Solution Parameters
The nonlinear (and dynamic) solution in WARP3D follows an incremental-iterative strategy
with full Newton iterations to eliminate residual nodal forces caused by all sources of nonlin-
ear behavior. The user has full control over the solution procedures through a wide range of
parameters. Each of the parameters has a built-in default value that may be redened by the
user. The user declares the values of these parameters before computation begins for the rst
load step; those values remain in eect unless modied by the user as the solution progresses
through the load steps. New values for these parameters may be dened whenever the input
translators accept new input lines. The most current values of the parameters then control
subsequent computations over load steps.
The specication of solution parameters begins with a command of the form

solution
nonlinear
dynamic

(analysis) parameters
and terminates whenever a command is given that does not dene a parameter controlling the
analysis. The following sections describe each of the parameters assignable by the user and the
command syntax. An example dening values for selected solution parameters is shown below
for reference.
solution parameters
solution technique sparse direct $ Pardiso solver in Intel MKL
maximum iterations 10 $ Global Newton iteration per load step
convergence test norm res tol 0.5
time step 0.0005
adaptive solution on $ On global Newton iterations
batch status messages on
cpu time limit off
extrapolate on $ Displacements at start of new step
material messages off
trace solution on
bbar stabilization on $ For 8-node hexs
consistent q-matrix off
linear stiffness iteration one off $ Might be needed for severe load reversals
.
.
compute displacements for loading impact step 1-5
2.10.1 Threads for WARP3D Execution
WARP3D uses threads to achieve parallel execution throughout, primarily to process blocks of
elements as described in Section 2.6, and in the equation solvers. The user sets the number of
threads for parallel execution through a system environment variable before initiating WARP3D
execution. To set the number of threads in a Bash shell, for example, use a command of the
form
export OMP_NUM_THREADS=4
where here sets the number of threads to 4 for WARP3D. The default number of threads is 1.
Chapter 2 (Updated: 5-10-2013) 2.10-1 Model Denition
Users Guide - WARP3D Solution Parameters
2.10.2 Linear Equation Solvers
Section 1.7 provides an overview of the various linear equation solvers and the best model
characteristics and computer hardware for the application of each solver. All solvers execute in
parallel to utilize the hardware resources eciently.
Pardiso Sparse Direct Solver (Threads-Only Execution)
The Pardiso sparse direct solver for symmetric systems of equations as implemented in the
Intel Math Kernel Library (MKL) is the most widely applicable solver.
Pardiso is available on all three platforms (Windows, Linux, Mac OSX) in the threads-only
execution mode of WARP3D.
The command to request this solver is
solution (technique) sparse direct
This solver runs parallel using threads and shared memory. An out-of-core option (OOC) is
available for very large models analyzed on machines with reduced real memory.
This solver is recommended for analyses executing on computers that provide shared mem-
ory (laptops, desktop and deskside machines). The parallel execution eciency begins to de-
grade for more than 8 or so threads, although the parallel eciency continues to improve
with each new release of Pardiso. Nonlinear solutions with models having 500K or more nodes
are handled readily with the Pardiso direct solver provided the computer has sucient real
memory to prevent virtual memory paging to disk. Use the OOC options when this situation
develops.
The user sets the number of threads for parallel execution of Pardiso through a system
environment variable before initiating WARP3D execution. To set the number of threads for
Pardiso in a Bash shell, for example, use the command
export MKL_NUM_THREADS=#
The default number of threads is 1. Most often the number of threads for MKL (Pardiso)
execution will be set equal to the number of threads for WARP3D execution, i.e.,
export OMP_NUM_THREADS=4
export MKL_NUM_THREADS=4
The OOC execution creates (potentially) large, binary disk les in a user specied directory
to segment the factored equations such that the maximum (physical) memory use does not
exceed a user-specied limit. The following additional commands request OOC execution of
the Pardiso solver and provide the additional user data.
solver out-of-core

on
o

solver memory < allowed memory in MB : integer >


solver scratch directory < string >
Chapter 2 (Updated: 5-10-2013) 2.10-2 Model Denition
Users Guide - WARP3D Solution Parameters
The default value is o. The solver memory and solver directory commands become inac-
tive unless the out-of-core solver option is set to on. The memory value sets the limit that
Pardiso may allocate for use in solving the equations. The value is specied in MB (mega-
bytes). Thus, 1.5GB would be specied as 1500 in the command. The allowed memory should
always be as large as possible. The default value for memory is 500MB. If not specied, the
default scratch directory is ./warp3d ooc solver. Pardiso then creates scratch les with names
./warp3d ooc solver.jnl, etc. (the solver creates scratch les in the working directory with these
names). A directory specied with the name d:/crack job/small model for example in Windows
implies that the directory d:/crack job already exists and that scratch les will be created with
names d:/crack job/small model.jnl, ... Note the use of forward slashes (/) in le names for the
Windows systems. Scratch les remain on disk following execution.
A complete example with the OOC option for the solver is solution parameters
nonlinear analysis parameters
solution technique sparse direct
solver out-of-core on
solver memory 900
solver scratch directory "d:/crack_job/small_model"
maximum iterations 10
convergence test norm res tol 0.5
time step 0.0005
.
.
Pardiso Sparse Iterative Solver (Threads-Only Execution)
The Pardiso sparse iterative solver for symmetric systems of equations as implemented in the
Intel Math Kernel Library (MKL) is the next most widely applicable solver. Select the solver
with this command
solution (technique) sparse iterative
This solver runs parallel using threads and shared memory and employs a Krylov subspace
(conjugate gradient) method with the fully factorized equations as the preconditioner. The
sparse direct solver described above performs the factorization. The solver runs with a xed
preconditioner for load steps and Newton iterations until the convergence rate of the CG
iterations degrades to an unacceptable level. The current set of equations is then re-factored to
update the preconditioner. The iterative solution process does not reduce the memory demands
since the preconditioner uses the Choleski factorization of the assembled equations via the
Pardiso direct solver.
This solver is often twice as fast (or more) for larger models as the direct solver since CG
iterations are much less expensive that factorization. The solver always returns a solution via
factorization if required. No out-of-core option is available. The solver is invoked with a tight
convergence tolerance on the CG iterations (no user option available as yet).
Set the number of threads for execution as described in the previous section.
A complete example with the OOC option for the solver
Chapter 2 (Updated: 5-10-2013) 2.10-3 Model Denition
Users Guide - WARP3D Solution Parameters
nonlinear analysis parameters
solution technique sparse iterative
maximum iterations 10 $ global Newton iterations
convergence test norm res tol 0.5 $ on global Newton iterations
time step 0.0005
.
.
Hypre Iterative Solver (MPI + Threads Execution)
For the very largest models with execution using a hybrid approach (MPI+threads), the hypre
iterative solver (PCG) from Lawrence Livermore National Laboratory is incorporated into
WARP3D. This solver provides a family of highly scalable preconditioners and is suitable for
models with millions of nodal displacements.
Key points:
The nite element model must be decomposed into domains and domains into blocks of elements.
The number of MPI ranks during execution must equal the number of model domains.
Hypre executes using the same MPI ranks as WARP3D.
The stiness assembly process is performed with a distributed approach over the MPI ranks which
dramatically reduces memory requirements on MPI rank 0. At present, the use of tied-contact and/or
user-dened multi-point constraint features in WARP3D disables the distributed assembly. For this
situation, element stiness matrices are collected on MPI rank 0 for assembly and enforcement of
the linear constraints. The assembled equations reecting the tied/multi-point constraints are then
distributed to MPI ranks for hypre solution.
WARP3D supports the BoomerAMG (algebraic multi-grid) and the ParaSails preconditioners.
Hypre conjugate gradient iterations may fail to achieve convergence. If the user has selected the
adaptive step size control option in WARP3D solution parameters, the load step size will be reduced
and the solution process continued (see subsection below on adaptive step size control). Initial testing
with hypre indicates this process works very well for models with rapidly changing nonlinear response.
Select the hypre solver with the command sequence
solution (technique) hypre
WARP3D processing of element blocks and hype code execution on each MPI rank can make
use of thread parallel processing as well. Chapter 7 describes the process to begin WARP3D
execution using MPI with threads on the Linux platform. The user must specify the number
of MPI ranks and the number of threads per rank to not oversubscribe computing resources
available on the hardware.
Recommendation: Experience at this time suggests that the number of threads per MPI
rank should be 2-4 (at most). WARP3D processing of element blocks using threads shows
extraordinary eciency, but hypre shows little improvement in eciency with more than a few
threads per MPI rank. At present then, models should be set up for predominantly domain-
based, MPI execution.
The hypre system oers many user selectable options. WARP3D exposes some of the key
options to enable changing of values by the user if necessary. Appropriate default values are
dened by the WARP3D input translators such that the minimum input shown in the above
example often suces.
Chapter 2 (Updated: 5-10-2013) 2.10-4 Model Denition
Users Guide - WARP3D Solution Parameters
WARP3D supports access to two preconditioners included in hypre: ParaSails and Boomer-
AMG. ParaSails computes an approximate inverse preconditioner for the iterative solution of
large, sparse systems of linear equations. It uses least-squares (Frobenius norm) minimization
to compute a sparse approximate inverse. The sparsity pattern used is the pattern of a power of
a sparsied matrix. ParaSails also uses a post-ltering technique to reduce the cost of applying
the preconditioner.
BoomerAMG is a parallel algebraic multigrid solver. BoomerAMG generally produces a
much better preconditioner than Parasails which improves convergence of the PCG method. In
addition, for large models BoomerAMG exhibits more parallel scalability than Parasails. Users
are encouraged to experiment with the two preconditioners for their models.
Input commands for the hypre solver fall into three categories: (1) commands common to
all preconditioners, (2) commands specic to Parasails, and (3) commands specic to Boomer-
AMG. The three tables below describe each of the input command sets in turn.
All options are prefaced by the keyword hypre.
Option Default Description
solver pcg Iterative method used to solve the system of linear equations. Only
pcg is implemented in WARP3D
tolerance 1.0E-8 L2-norm relative convergence tolerance on PCG solution residual
iterations 10000 maximum number of conjugate gradient iterations
preconditioner parasails alternatively try boomeramg for better CG convergence
printlevel 0 integer 0 to 3 indicating amount of information to output during
solve (0 prints none, 3 prints most)
symmetry 1 parameter indicating symmetry of the A matrix (do not change)
balance 0 load balancing parameter
Table: General user-denable options for the hypre (PCG) solver
When running hypre with a large number of MPI ranks (greater than 128), we recommend
setting the balance parameter to 0.9, which turns on load balancing within hypre.
Users will likely nd that the default tolerance for convergence of the PCG iterations is too
strict. Numerical testing reveals it may often be reduced to 1.0E-6 without loss of accuracy in
the solution. Experimenting with the tolerance for specic models may lead to computational
savings.
With the Parasails preconditioner, slightly increasing the threshold and lter parame-
ters (to something in the range of 0.1 to 0.15) can signicantly improve performance on some
problems. Increasing the levels parameter will improve the quality of the preconditioner,
improving the convergence of the PCG method. However, increasing this parameter vastly in-
creases the computational eort required to form the preconditioner. In most cases, users will
be better o switching to BoomerAMG if convergence with Parasails is dicult.
In BoomerAMG, parameters relating to the smoother, the cycle type, and the number of
levels will, in general, only eect the quality of the preconditioner, not its parallel eciency. The
remainder of the parameters eect both convergence and parallel performance. For additional
Chapter 2 (Updated: 5-10-2013) 2.10-5 Model Denition
Users Guide - WARP3D Solution Parameters
Option Default Description
levels 1 highest power of the matrix A to be used in constructing the pre-
conditioner
lter 0.1 sparsication factor applied to the approximate-inverse precondi-
tioner
threshold 0.1 sparsication factor applied to the system of equations
Table: User-denable parameters for the Parasails preconditioner
details on these parameters, BoomerAMG, and algebraic multigrid methods in general, consult
the hypre documentation and related papers and reports.
2.10.3 Dynamic Analysis Parameters
The time increment over each load step and the factor for Newmark time integration scheme
are dened by the commands
time step < number >
newmark beta < number >
The default time step size is 10
6
and the default value of the Newmark factor is 1/4. Notes:
The time step must be positive
Strain-rate dependent solutions without inertia eects (e.g., viscoplasticity) may be ob-
tained by setting a realistic time step size for a model with zero mass
The time step and may be adjusted between load increments as needed
For specied values of 1.0, the input processors set = 1.5 in Newmarks method. This
action increases algorithmic damping to maximum levels.
All solutions are actually computed with the fully implicit dynamic formulation. Static
analyses are simply solutions with a very large time step.
2.10.4 Newton Iteration Parameters
Maximum Iteration Limit
The upper limit on the number of (global) Newton iterations per load step is dened by
maximum iterations < integer >
The default limit is 10.
Minimum Iteration Limit
The minimum number of Newton iterations defaults to 2. This prevents the extrapolated
displacement increments from being accepted as the solution (see Section 2.10.7). Such cir-
cumstances may develop due to insuciently strict tolerances on the convergence tests. For
linear analyses or a solution strategy with the displacement extrapolation option turned o,
the minimum number of iterations may be set to 1.
minimum iterations < integer >
Chapter 2 (Updated: 5-10-2013) 2.10-6 Model Denition
Users Guide - WARP3D Solution Parameters
Option Default Description
coarsening HMIS type of coarsening to use in constructing coarse grids: CLJP, fal-
gout, PMIS, or HMIS
interpolation multipass type of interpolation used in transitioning between coarse and ne
grids: classical, direct, standard, multipass or extended classical
(ext classical)
relaxation gs relaxation technique used to smooth grid operators: jacobi or
Gauss-Seidel (gs)
max levels 10 maximum number of grids to construct (including original linear
operator)
mg threshold 0.8 strong connection threshold
cycle type V type of MG cycle to use: V or W
sweeps 1 number of relaxation passes before and after a grid level default
cycle and sweep option results in a V(1,1) cycle
agg levels 1 number of (top) levels where aggressive coarsening is applied
truncation 0.0 truncation factor to trim over-large interpolation/restriction sten-
cils
wt relax 1.0 relaxation weight for smoother
wt outer 1.0 outer relaxation weight, used for applicable smoothers only
cs F whether to use the CS splitting (T/F)
Table: User-denable parameters for the BoomerAMG preconditioner
Nonconvergent Solutions
By default, the solution terminates if the Newton iteration limit is reached without convergence.
Users can request that program execution continue to the next load step with the command
nonconvergent solutions

stop
continue

Convergence Tests
Four types of tests are available to assess convergence of the Newton iterations. The table
denes the solution quantities appearing in the convergence tests.
Using these quantities, the four convergence tests are dened in the table. Here || || de-
notes the Euclidean norm. Multiple convergence tests may be dened; convergence requires
satisfaction of all tests. Tolerance values are specied in (%); thus, a user tolerance of 0.01 (%)
is reasonably strict and often used. Tolerance values of 0.001-0.5 have been used successfully in
various models. The user specied tolerance exerts a dramatic impact on the required number
of Newton iterations and the total CPU time. Excessively tight tolerances do not provide real
improvements in solutions.
Also note that these are relative tolerance tests and the choice of physical units aects
the corresponding absolute tolerance. For example, a user tol of 0.01 that may be suitable for
Chapter 2 (Updated: 5-10-2013) 2.10-7 Model Denition
Users Guide - WARP3D Solution Parameters
||R
k
|| Euclidean norm of the residual force vector for the model following solution of
iteration k of the step
max

abs R
(i)
k

maximum (absolute) entry in the residual force vector for the model following so-
lution for iteration k of the step (only active dof are considered)
||P|| Euclidean norm of the total force vector applied to the model (includes reactions
at constrained dof and inertia eects)
||u
1
|| Euclidean norm of the incremental displacement vector for the model computed
during iteration 1 of the load step
||u
k
|| Euclidean norm of the incremental displacement vector for the model computed
during iteration k of the load step
max

abs u
(i)
k

maximum (absolute) entry in the displacement vector for the model following solu-
tion for iteration k of the step
q the numerical average of all forces (absolute value) applied to the nodes including:
internal element forces due to stresses, inertia forces, contact forces, reaction forces
and externally applied nodal/element forces
Table: Quantities for Denition of Convergence Tests on Global Newton Iterations
Test 1: ||u
k
|| (user tol/100 )||u
1
||
Test 2: ||R
k
|| (user tol/100 )||P||
Test 3: max

abs u
(i)
k

(user tol/100 )||u


1
||
Test 4: max

abs R
(i)
k

(user tol/100 ) q
Table: Convegence Tests for Global Newton Iterations
a problem with forces in units of kips might be absurdly stringent if the force units in the
same problem are given in pounds-force instead. This has importance, for example, in fracture
problems where the actual residual force values on nodes in the crack front region must be
controlled carefully.
Commands to dene the convergence tests are
convergence (tests) [< test type >]
norm

displacement
residual

tolerance < tolerance : number >


maximum

displacement
residual

tolerance < tolerance : number >


where the test types parallel the four tests dened above. An example of convergence test
commands is:
nonlinear analysis parameters
maximum iterations 10
convergence test norm res tol 0.01 maximum displ tol 0.01
nonconvergent solutions continue
Chapter 2 (Updated: 5-10-2013) 2.10-8 Model Denition
Users Guide - WARP3D Solution Parameters
Stiness for Iteration One of Load Step
The nonlinear solution in each load/time step is accomplished with a (full) Newton iterative
procedure by default. The dynamic tangent stiness is updated prior to each equilibrium itera-
tion and at the beginning of the load step. Newton iterations are numbered 1, 2, 3, ... where the
increment of applied forces and imposed displacements comprise the load vector for iteration
1. During subsequent iterations, the load vector consists of the current (total) residual forces.
When the incremental loading for a step causes an abrupt change in the response, the New-
ton procedure may not converge. Linear-elastic unloading from an elastic-plastic state caused
by an imposed load reversal is typical of such situations. Use of the linear-elastic stiness ma-
trix for the rst Newton iteration of the new load step often dramatically improves convergence
properties of the solution. Newton iterations 2, 3, ... then employ the usual tangent stiness
matrix.
Users may request application of the linear-elastic stiness for iteration 1 with the command
linear stiness (for) iteration one

on
o

The default value is o. When set on the linear stiness option remains in eect until the
above command is re-entered with o.
To request use of the linear stiness for only the next load step, the simpler command is
linear stiness (for) iteration one next step
2.10.5 Adaptive Step Size Control
In a nonlinear analysis (static or dynamic), it is often dicult to estimate a priori the appropri-
ate load step sizes that provide rapid convergence of the Newton iterations. WARP3D provides
a simple facility to reduce automatically load step (and time step) sizes when the solution
appears to be diverging or converging slowly. By default, the adaptive step size feature is not
used.
The adaptive algorithm is very simple. When the user specied limit on Newton iterations
is reached and the solution has not converged, the load step (and time step) is subdivided
into four (4) equal increments and the solution for the load step is restarted. Steps are not
renumbered during this process so that output messages indicate four solutions of the same
load step. The output messages indicate which fraction of the user specied load step is being
analyzed, e.g., 0.25 to 0.5.
Material models may also request an immediate load step reduction when the adaptive
solution strategy is enabled. State variable updating may experience convergence diculties
requiring a reduction in load step size.
In geometrically nonlinear analyses, unusually large displacement increments may lead to
a zero or negative deformation Jacobian at Gauss points in elements. When this condition
is detected during strain computation, and adaptive solution control is on, the solution
processor terminates further computations and immediately reduces the load step size. When
the adaptive option is o, the solution processor terminates execution of WARP3D.
Chapter 2 (Updated: 5-10-2013) 2.10-9 Model Denition
Users Guide - WARP3D Solution Parameters
If the solution does not converge in any one of the 4 subincrements, that subincrement is
further subdivided into four more increments and the solution restarted. Only two such levels
of step reduction are permitted; nonconverged solutions at the second level cause program
termination. In many cases, the rst level of step reduction is sucient. In other cases, one or
more of the 0.25 fractions must be subdivided to obtain convergence. The adaptive algorithm
performs level two reduction only for the level one fractions that do not converge.
The command to control adaptive load step sizes is
adaptive (solution)

on
o

When the adaptive procedure restarts the analysis for a load step or subincrement, it forces the
rst iteration to be re-solved using the linear stiness for the model. This is required since the
current estimate for the solution at n + 1 is not valid for use to recompute element matrices.
The full Newton process resumes at the next iteration. WARP3D manager routines handle
these processes automatically.
Adaptive load step control is strongly recommended for users attempting the nonlinear
solution of new classes of problems until experience with the convergence characteristics are
known. For parametric studies of problems with well-known convergence characteristics, adap-
tive load step control should not be used as it often dramatically increases analysis run times
(the code repeatedly learns what size steps converge!). Analyses run much faster when the user
species load step sizes known to exhibit good convergence characteristics.
Non-zero constraints: When a load step is subdivided, the non-zero constraints (e.g., u
10
=
0.1) imposed by the user are reduced by the same adaptive factors as the step load. The actual
constraint values specied by the user and stored in program data structure are not modied.
Rather, scaled values are imposed during the equation solving process.
2.10.6 Batch Status Messages
During solution of a large nonlinear problem in batch mode, it proves convenient to have occa-
sional information about the progress of the solution (load step/iteration number, convergence
rate, etc.) WARP3D provides an option to produce status messages independent of the normal
(standard) output le for the job. A status le is updated after each equilibrium if each step.
This le is named <structure id>.batch messages. Linux/OS X users can invoke the tail com-
mand on this le during execution to examine the last few lines. The typical last few lines of
this le can appear as:
newton convergence tests step: 100 iteration: 5 @ wall time: 413.6
-----------------------------------------------------------------------
completed fraction over step: 1.00000
maximum residual force: 0.179549E+00 @ node: 1356
test 2: norm of residual load vector: 0.13631E+01
norm of total load vector: 0.23237E+01
ratio*100: 58.66192
Chapter 2 (Updated: 5-10-2013) 2.10-10 Model Denition
Users Guide - WARP3D Solution Parameters
If the batch message le exists from a previous analysis, the new information overwrites the old
le. By default, no batch message les are written. The command to control batch messages is
batch (messages)

on
o

2.10.7 Wall Clock Time Limit


On some systems, batch jobs are executed with a user specied limit set on the wall time for the
job. If execution exceeds the wall time limit, the program is aborted by the operating system
and all results after the last written restart le are lost. Estimating the required wall time for
highly nonlinear problems may be very dicult, especially when similar problems have not
been executed previously.
To help users with this problem, WARP3D provides its own wall time limit feature. The
user sets the allowable wall time (in secs) for the job. At the beginning of the solution for
load step n + 1, WARP3D assumes that the solution time for the step is the same as the time
required the solution of load step n. The total wall time estimated to advance the solution
through load step n + 1 is computed using this procedure and compared to the user specied
limit. If the estimated time exceeds 90% of the user limit, WARP3D writes a restart le named
xxxxx overtime db load step n and terminates the job (xxxxx denotes the structure name).
The command to control this option is:
wall (time)(limit)

on < limit : secs >


o

By default the wall time limit feature is o.


2.10.8 Displacement Extrapolation
In nonlinear analyses, the use of an extrapolated displacement vector frequently reduces the
number of global Newton iterations especially for the relatively smooth responses in both
small and nite-strain plasticity. All terms of the incremental displacements computed from
the solution over step n 1 to n are scaled by the same factor and applied to the model to
start the iterative Newton solution from n to n + 1.
The extrapolated displacement vector is employed at the beginning of load step n + 1 to
compute a set of incremental nodal forces for application to the model during the rst Newton
iteration together with any applied incremental loads. Strain increments () are computed
from the extrapolated displacements and adjusted for temperature eects, stress increments
follow from [D
T
] with corresponding internal nodal forces from

[B]
T
dV . Here, [D
T
]
follows from the last (converged) iteration of step n. History dependent material data remains
unmodied in the extrapolation procedure.
The extrapolation procedure requires (and veries) the existence of proportional, incremen-
tal loading from steps n n + 1. Consider the following example. The denition of loading
patterns (say A and B) for step 10 has user-specied multipliers of 1.5 for A and 2.0 for B,
and a 3.0 multiplier specied for the constraints (assuming there are non-zero values specied
in the constraints). For step 9, the multipliers are specied to be 0.75 for A, 1.0 for B and 1.5
for the constraints. The input would be
Chapter 2 (Updated: 5-10-2013) 2.10-11 Model Denition
Users Guide - WARP3D Solution Parameters
loading test
nonlinear
.
.
step 9 A 0.75 B 1.0 constraints 1.5
step 10 A 1.5 B 2.0 constraints 3.0
.
.
In this case, the incremental loading patterns and constraints for step 10 are proportional to
those of step 9, having a single scale factor of 2.0 for each pattern and the imposed displace-
ments. The incremental displacements computed during step 9 are multiplied by 2.0 to start
the solution of step 10.
When the solution procedures detect a condition of non-proportional, incremental loading,
the extrapolation of displacements is suspended for the load step and automatically resumed for
the next step if proportionality is again detected. This procedure proves necessary, for example,
at steps in cyclic loading histories at which the loading is reversed. The use of displacement
extrapolation on steps with load reversals often leads to non-convergent Newton iterations. To
further improve convergence for non-proportional loading, the solution procedures invoke the
linear stiness for iteration 1 of the next step.
Simple cases with proportionality that arise most often include: (1) the same, single loading
pattern across load steps and user-specied constraint values are all zero; (2) loading of the
model only through non-zero constraints. Further, if all specied constraints have zero values,
the multiplier on constraints is immaterial and is neglected in the verication of proportionality.
The command to control displacement extrapolation is
extrapolate on

multiply (by) < scale factor : number >

extrapolate o
When the multiply by option is given, the user specied scale factor supersedes the computed
scale factor.
Numerical experiments reveal signicant improvements in the Newton convergence for dis-
placement controlled loading with minor or no eect for analyses conducted under load control.
Consequently, extrapolate on is the system default.
The extrapolate option is processed correctly when used with adaptive load step control.
Extrapolation is suppressed for the rst adaptive sub-increment of a step with an assigned scale
factor of 1.0 for each, equal-sized (proportional) adaptive sub-increment.
For simple linear, dynamic analyses, we recommend using extrapolate o to eliminate spu-
rious iterations created by inaccuracies in the extrapolation procedure.
2.10.9 Material Model Messages
The material models have built-in features to print status messages during stress update. An
option is provided to suppress all such informative messages generated by material models.
Messages about severe conditions in the material models are not suppressed with this option.
For example, the material model may request an immediate load step reduction when adaptive
Chapter 2 (Updated: 5-10-2013) 2.10-12 Model Denition
Users Guide - WARP3D Solution Parameters
load control is enabled. In such cases, the material model prints a message to this eect with
the reason it requests a load step reduction. The command to control printing of informative
material messages is:
material (messages)

on
o

Material messages are on by default.


2.10.10 Solution Status Messages
The nonlinear solution process for a step and iteration involves many processes such as sti-
ness update, strain update, stress update, convergence tests etc. WARP3D outputs messages
indicating when these processes start-nish and the detailed results for convergence tests. For
users familiar with the code, most all of these messages can be suppressed with the show details
command that has the form:
show (details)

on
o

Detailed messages are on by default. This option has no eect on the batch message feature.
2.10.11 Residual Loads Printing
Residual forces at nodes may be printed during Newton iterations to facilitate debugging of
problems that exhibit unusual convergence. To request printing of residual loads, use the com-
mand
print residual (loads) (for) (iterations) < integer list >
Residual loads printing is o by default.
2.10.12 B-Bar Element Stabilization
The

B modication of the 8-node, trilinear element has the potential to introduce hourglass
modes. Section 3.1.7 describes a simple procedure that can often suppress such modes. The
user controls the amount of stabilization with the command
bbar stabilization (factor) < number >
where the numerical value ranges from 0.0 (no stabilization) to 1.0 (no

B). The default value
for this factor is 0.0. Values not exceeding 0.10 are often used.
2.10.13 Consistent [Q] Matrix
The consistent tangent moduli for the incremental plasticity models (mises, cyclic, gurson)
include the so-called [Q] matrix for the nite strain formulation (see Section 1.9.4). This matrix
most often enhances the convergence rate of global Newton iterations but there are occasionally
instances when it slows convergence. An option exists to omit the [Q] contribution under control
of the user. The user controls this option with the command
consistent q(-matrix)

on
o

The default value is on.


Chapter 2 (Updated: 5-10-2013) 2.10-13 Model Denition
Users Guide - WARP3D Solution Parameters
2.10.14 Resetting the Global Load Reduction Factor
The crack growth processors may invoke a permanent load reduction on the analysis when
certain user-specied criteria are met. For example, when the increase in porosity in the Gurson
model over a load step exceeds a user-specied limit, a permanent 50% reduction is imposed on
subsequent load step sizes. The reduction often improves the quality of the computed response.
If necessary, further reductions in the load step sizes are imposed by the crack growth processors.
While these load reductions often improve the solution quality, the code does not automat-
ically restore the original (user-dened) load step sizes even when the reductions are no longer
needed, for example, if the user changes the load step sizes. To alleviate this issue, the user can
reset the load reduction factor to any desired value between load steps as part of the solution
parameters. The command has the form
reset load reduction (factor) < factor : number >
where the value of 1.0 causes the user-dened load step sizes to be used, a value of 0.5 reduces
the user-dened step sizes by 50%, etc. This load reduction factor is saved in the restart le
and its use continued on a restart.
2.10.15 Output of Sparse Format Equilibrium Equations
To support exploration of new equation solvers, we have added a new feature to WARP3D to
output the assembled structure stiness matrix using a sparse format. This command actually
outputs the equilibrium equations in sparse format, ready for solution. The equations include
the eects of contact forces and have multi-point constraints from tied contact already enforced.
The command to invoke this option is:
sparse (stiness) (output)

on
o

binary
formatted

le < lename : string >


Once the le is written, the command is cancelled to prevent re-writing during each equation
solve. The user can turn on the option again at any time by re-entering the command.
The sparse storage format adopted in WARP3D has the following structure (illustrated
using a small set of equations):
sparse matrix storage format
----------------------------
1 2 3 4 5 6
1 | 100 1 2 5 | | x1 | | 201 |
2 | 200 6 7 9 | | x2 | | 202 |
3 | 300 10 11 12 | | x3 | | 203 |
a = 4 | 400 13 14 | | x4 | = | 204 |
5 | 500 15 | | x5 | | 205 |
6 | 600 | | x6 | | 206 |
number of equations = 6
number of coefficients = 12
Chapter 2 (Updated: 5-10-2013) 2.10-14 Model Denition
Users Guide - WARP3D Solution Parameters
k_ptrs = { 3, 3, 3, 2, 1, 0}
k_indexes = { 2, 3, 6, 3, 4, 6, 4, 5, 6, 5, 6, 6}
k_coeffs = { 1, 2, 5, 6, 7, 9, 10,11,12, 13,14, 15}
k_diag = { 100, 200, 300, 400, 500, 600}
k_rhs = { 201, 202, 203, 204, 205, 206}
This le can be written to a binary or formatted sequential le. The Fortran statements
used to write the le are given below:
binary file
-----------
write(fileno) neqns, ncoeff
write(fileno) (k_diag(i), i=1,neqns)
write(fileno) (p_vec(i), i=1,neqns)
write(fileno) (k_coeffs(i), i=1,ncoeff)
write(fileno) (k_ptrs(i), i=1,neqns)
write(fileno) (k_indexes(i), i=1,ncoeff)
formatted file
--------------
write(fileno,9500) neqns, ncoeff
write(fileno,9510) (k_diag(i), i=1,neqns)
write(fileno,9510) (p_vec(i), i=1,neqns)
write(fileno,9510) (k_coeffs(i), i=1,ncoeff)
write(fileno,9520) (k_ptrs(i), i=1,neqns)
write(fileno,9520) (k_indexes(i), i=1,ncoeff)
9500 format(2i10)
9510 format(4e20.12)
9520 format(7i12)
2.10.16 Output of MPCs for Tied Contact
The tie mesh processors generate multi-point constraints to enforce the displacements across
topologically dissimilar element faces. An output table of the generated constraints may be
requested with the following command:
display (tied) (mesh) mpcs

on
o

Chapter 2 (Updated: 5-10-2013) 2.10-15 Model Denition


Users Guide - WARP3D Compute
2.11 Compute Requests
Solution For Load Steps
The nonlinear (and dynamic) solution for a series of one or more load steps is requested with
the command
compute displacements (for) loading < nonlinear load id : label > (for) steps < integer list >
A comma may be used anywhere in the line for continuation. WARP3D compares the last step
number solved against the list of steps provided. A list of steps for computation is generated
from this process and computations initiated. For example, let steps 1-10 be analyzed in the
rst compute command. The second compute command then requests computation for steps
20-25. WARP3D automatically inserts steps 11-19 into the list of steps for computation.
WARP3D veries the data provided in this command for correctness, e.g., the nonlinear
load must exist and the steps requested must be dened in that load step. When errors are
encountered, the command is ignored and a new input line read.
Once this command is accepted and computations begin, the user cannot intervene in the
solution process until the analysis for all steps in the list is completed.
Examples of compute commands are:
compute displacements load test steps 1-20
compute displacements for loading crush for steps 15-30
Domain Integral (J) and Interaction Integrals (II)
Once the solution for a load step is available, a domain integral evaluation to compute the
J-integral may be requested. For linear-elastic analyses, a family of interaction integrals are
available to compute mixed-mode stress intensity factors and the non-singular T-stresses. The
domain(s) for computation must be dened immediately prior to the compute request. Chapter
4 describes commands to dene domains for J computation. The compute command has the
form
compute

domain
interaction

(integral)
Chapter 2 (Updated: 12-12-2012) 2.11-1 Model Denition
Users Guide - WARP3D Output Requests
2.12 Output Requests
The output command provides computational results and model information in six forms:
conventional printed output with optional page and column headers using a narrow (80) or wide (132)
column format. Exponential formatting of oating point values is available as an option. Output is
directed to the window executing WARP3D or to a text le (ASCII).
a sequential binary (unformatted) le of computed results in the form of packets. Written using
Fortran I/O. A very convenient output form to support development of customized post-processing
programs that search through results, compute secondary quantities, build input les for plotting
software, etc.
nodal result les of displacements, velocities, accelerations, temperatures, strains, stresses in either
binary (unformatted) or ASCII formats. These sequential les are readable without modication by
Patran
1
for post-processing. The unformatted les are written using Fortran I/O.
element result les of strains, stresses in either binary (unformatted) or ASCII formats. These se-
quential les are readable without modication by Patran for post-processing. The unformatted les
are written using Fortran I/O.
Patran neutral le (ASCII) for the model includes only model sizes, nodal coordinates, incidences,
constraints.
an ASCII le summarizing various energy terms for each completed load step.
Output commands must be given immediately after the compute command for a load step
WARP3D does not retain results for other than the current load step. For example,
.
compute displacements for steps 10-20
output displacements nodes 100-20 by -2
compute displacements for steps 21-30
.
The output command above prints results for load step 20. No results are printed for steps 10-
19 using the above command sequence. However packet type output maybe generated during
solution for steps 10-19 as described subsequently.
2.12.1 Printed Output
The command to request printed results directed to the current output device has the form
output [< options >] < quantity > (for)

nodes
elements

< integer list >


where <quantity>is one of the following types of results: displacements, velocities, accelerations,
temperatures, strains, stresses, reactions. The repeatable <options> include wide, eformat,
precision, noheader, totals (only).
The destination for printed results is the current output device specied by the user. The
output device is either a sequential, formatted (ASCII) le or the terminal/command window
in which WARP3D began execution. An output le is declared using: (1) standard output via
1
MSC Software Corporation.www.mscsoftware.com
Chapter 2 (Updated: 5-23-2013) 2.12-1 Model Denition
Users Guide - WARP3D Output Requests
I/O redirection (i.e., the < le name) convention of Windows, Linux, OS X on the program
invocation line in the shell window, or (2) through the *output to <le>command available in
WARP3D (refer to Section 2.15 for a description of all * commands).
More notes on use of the output command:
By default, output routines format numerical values and headers to t on an 8.5 in. 11 in page
oriented in portrait mode. The wide option permits extension of output up to 132 columns for
printing in the landscape orientation
Numerical results are printed with an f12.6 format. An e12.5 format is requested with the eformat
option. These precision option increases these elds to f26.16 and e26.16.
The noheader option suppresses the printing of all identifying labels. This simplies greatly the
development of post-processing type programs that read through the ASCII result les using Python,
Perl, ...
When a list of elements is specied for output of displacements, velocities, accelerations, temperatures
or reactions, results are printed for the nodes of each element in the list (not the merged set of nodes
for all elements in the list).
Only lists of elements are permitted for output of strains and stresses.
When the <integer list> of elements or nodes is omitted, results are printed for all elements or nodes
of the model.
Reactions are external forces required for equilibrium at constrained nodal dof. At unconstrained
nodal dof they are the remaining force imbalance due to nonlinear response and or linear equation
solving. These forces include the eects of inertia loading on the model. Separate algebraic sums of
the X, Y, Z components of these forces are printed following the nodal results to assist in the checking
of reactions. The totals only option suppresses printing of reaction values for individual nodes in the
node list only the summed values are printed.
All strain-stress quantities refer to the global Cartesian coordinate system for the model.
All displacements, velocities, accelerations, reactions are in the global X, Y, Z coordinate system even
when a local coordinate system is specied at nodes.
The location/number of strain points for output is specied via the element logical properties:
gausspts, nodpts or center output (see element descriptions in Chapter 3). Node point values are
extrapolated from the interior integration point values. The center-point values are numerical aver-
ages of integration point values. The default output location is gausspts.
The number of strain-stress items printed for each element is specied in the element properties. The
element logical property long requests an extended set of strain-stress results at the output points.
The additional quantities include principal values, direction cosines for principal directions, state
variables provided by the material models, etc. The short output option in the element properties is
the default.
The following tables dene the printed output values:
Strain output:
short option values

x
,
y
,
z
,
xy
,
yz
,
xz
(where
ij
= 2
ij
; note ordering of transverse strains)

eff
=

2
3

(
x

y
)
2
+ (
y

z
)
2
+ (
x

z
)
2
+ 1.5(
2
xy
+
2
yz
+
2
xz
)
long option includes these additional values
I
1
=
x
+
y
+
z
I
2
=
2
xy

2
yz

2
xz
+
x

y
+
y

z
+
x

z
Chapter 2 (Updated: 5-23-2013) 2.12-2 Model Denition
Users Guide - WARP3D Output Requests
I
3
=
x

2
yz

xy
(
xy

yz

xz
) +
xz
(
xy

yz

xz
)

1

2

3
(principal values)

1
, m
1
, n
1
(direction cosines for
1
)

2
, m
2
, n
2
(direction cosines for
2
)

3
, m
3
, n
3
(direction cosines for
3
)
Stress output:
short option values

x
,
y
,
z
,
xy
,
yz
,
xz
(note ordering of transverse shear stresses)

vm
=
1

(
x

y
)
2
+ (
y

z
)
2
+ (
x

z
)
2
+ 6(
2
xy
+
2
yz
+
2
xz
)
c
1
, c
2
, c
3
(state/history variables provided by material model output routine)
long option includes these additional values
I
1
=
x
+
y
+
z
I
2
= (
2
xy
+
2
yz
+
2
xz
) +
x

y
+
y

z
+
x

z
I
3
=
x

2
yz

xy
(
xy

yz

xz
) +
xz
(
xy

yz

xz
)

1

2

3
(principal values)

1
, m
1
, n
1
(direction cosines for
1
)

2
, m
2
, n
2
(direction cosines for
2
)

3
, m
3
, n
3
(direction cosines for
3
)
Examples of output commands are
output wide eformat precision displacements for nodes 1-300 by 2
output stresses elements 900-1500 by 2 300-500
output accelerations for elements 20-40 100-300 by 3
output temperatures for nodes 3-900 by 3
where values are printed in the order indicated by the <integer list>.
2.12.2 Binary Packets File
ASCII les of printed results as described in the above section are formatted for direct examina-
tion by analysts using a text processor, for sending to a printer, for e-mailing to a collaborator,
etc. However, the les are not well suited for use by custom post-processing programs written
in a programming language (C, C++, Fortran) or a scripting language (Python, Perl). Users
frequently develop such programs to gather information, for example, to generate input les
for plotting software.
To provide a much cleaner and directly accessible representation of the results for these
purposes, WARP3D can generate a sequential, binary le of results in the form of packets.
Chapter 2 (Updated: 5-23-2013) 2.12-3 Model Denition
Users Guide - WARP3D Output Requests
The binary le is written via Fortran I/O as an unformatted le type.
2
A packet contains a
specic type of result, e.g., nodal reactions, written over several logical records in the le. The
rst (header) record of each packet has an identical format which contains the packet type (an
integer), the load step number, the Newton iteration number and the number of subsequent
logical records in the le for that packet. This approach enables post-processing programs to
skip easily over packets of no interest or not yet supported by the post-processing program
(e.g., use the statement read(packets le) with no listed variables to skip all information in the
next logical record). This approach also enables the WARP3D developers to implement new
types of packets without breaking already available programs for post-processing written by
users.
By default, various WARP3D processors do not write results into a packets le. The user
must rst authorize packets processing and provide the name of the le to contain the packets.
The crack growth processors, for example, then insert packets into the le at each load step
without further action by the user. The output command, given after a compute displacement
... command, provides the packet option to request insertion of result packets into the le, e.g.,
displacements at a list of nodes.
The command to enable-disable the generation of packets and the name of the packets le
is part of the nonlinear solution parameters described in Section 2.10. The command has the
form
binary packets

on
o

(le < le name : string >)


where le name must be present with the on option. If the specied le exists, the le is opened
in append mode. WARP3D retains the packet le name and the on, o option as part of the
analysis restart database. An example is
nonlinear analysis parameters
solution type direct sparse
.
binary packets on file "packets_pipe_crack"
.
The output command also provides the packets option to have output processors insert
packets into the le. Commands to request output of packets may be intermixed with output
commands to generate printed results. The command to request packets generation has the
form
output packets < quantity > (for)

nodes
elements

< integer list >


where <quantity>is one of the following types of results: displacements, velocities, accelerations,
temperatures, strains, stresses, reactions.
2
Fortran unformatted I/O has a logical record structure. Each read/write statement processes at least one
logical record of potentially variable length which may contain one or more physical records of the le. Fortran
I/O hides the physical structuring of the le. To maintain the logical record structure, Fortran I/O routines
insert additional information in the le. Unformatted les in C and C++ do not have this concept of logical
records. Consequently, post-processing codes in C/C++ must recognize and process the additional structuring
information present in the Fortran style, unformatted les.
Chapter 2 (Updated: 5-23-2013) 2.12-4 Model Denition
Users Guide - WARP3D Output Requests
Notes on use of the output packets command:
When a list of elements is specied for output of displacements, velocities, accelerations or reactions,
packets are inserted for the nodes of each element in the list (not the merged set of nodes for all
elements in the list).
Only lists of elements are permitted for output of packets containing strains and stresses.
Packets for temperatures are available only for lists of nodes. Two values are provided for each node:
(a) total temperature (initial + all increments), (b) initial (reference) temperature dened with the
initial conditions command in the model input.
When the <integer list> of elements or nodes is omitted, the output processor inserts packets for
all elements or nodes of the model.
Reactions denote external forces required for equilibrium at constrained nodal dof. At unconstrained
nodal dof, they denote the remaining force imbalance due to nonlinear response and/or linear equa-
tion solving. These forces include the eects of inertia loading on the model. Separate algebraic sums
of the X, Y, Z components of these forces are inserted in packets following the nodal results to assist
in the checking of reactions. The totals only option given in the command before or after the word
packets suppresses inclusion of individual node reactions in the packets; only the summed values
appear in the reaction packets.
All strain-stress quantities refer to the global Cartesian coordinate system for the model.
All displacements, velocities, accelerations, reactions are in the global X, Y, Z coordinate system even
when a local coordinate system is specied at nodes.
The location/number of strain points for the packet is specied via the element logical properties:
gausspts, nodpts or center output (see element descriptions in Chapter 3). Node point values are ex-
trapolated from the interior integration point values. The center-point values are numerical averages
of integration point values. The default output location is gausspts.
The number of strain or stress values for each element is specied in the element properties. The
element logical property long requests an extended set of strain-stress results at the output points.
The additional quantities include principal values, direction cosines for principal directions, state
variables provided by the material models, etc. The short output option in the element properties is
the default.
Output to packets for domain integral results is invoked by including a command in the domain
denition (see Chapter 4). It is still necessary, however, to enable the generation of packets using
the binary packets on ... command described above.
Tables in the previous section summarize the element strain and stress packet quantities (they
are same as printed values). Examples of commands for packet generation are
output packets displacements for nodes 1-300 by 2
output packets stresses elements 900-1500 by 2 300-500
output packets accelerations for elements 20-40 100-300 by 3
Appendix F describes each type of result packet currently implemented. The appendix also
includes a complete Fortran program that demonstrates an approach to read and process the
binary packets le. Most users should nd this program a very good starting point to develop
their own customized post-processor program.
2.12.3 Patran Compatible Result Files
The Patran software has extensive capabilities to post-process nite element results. Patran
reads and displays results computed by various nite element codes and communicated through
Chapter 2 (Updated: 5-23-2013) 2.12-5 Model Denition
Users Guide - WARP3D Output Requests
nodal and element result les. The simple structure of Patran results les makes them quite
popular to store/share computed results with other modeling and post-processing software.
WARP3D provides the capability to write such Patran compatible results les to support post-
processing tasks. The command to request Patran compatible result les has the form
output patran

binary
formatted

nodal
element

< quantity >


where <quantity>is one of the following types of results: displacements, velocities, accelerations,
reactions, temperatures, strains, stresses.
Both binary and formatted results are sequential les created with Fortran open statements
and written with Fortran write statements (the binary le is type unformatted in Fortran).
Binary les often have a substantially smaller size but may not be portable between Windows
and Linux/OS X. Formatted (ASCII) les provide the portability but with larger sizes and
further can be examined easily with standard text editors, e-mailed, etc.
WARP3D generates the Patran compatible results les with assigned names that begin
with four letters followed by the 5 digit load step number. Nodal result les begin with the
letters wn; element result les with the letters we. The n and e letter is followed by the letter
b for binary les or the letter f for formatted les. The fourth letter in the le name denotes
the physical quantity: d - displacements, v - velocities, a - accelerations, t - temperatures, r -
reaction forces, e - strains and s - stresses. Element results les are available only for strains
and stresses. For example, the le webs00005 contains element stress results for step 5 in a
binary le.
The Patran result les have the structure of a two-dimensional array. Each row has the
data for a single node or element. The array columns set the values for each node or element.
For nodal les of displacements, velocities, accelerations and reactions, each node has 3 data
columns for the global X, Y, Z components.
Temperature results are available only in a nodal results le. Two values are provided for
each node. Data column 1 has the total temperature (initial + all increments). Data column
2 has the initial (reference) temperature dened with the initial conditions command in the
model input.
Figure 2.10 summarizes the data column assignments for Patran strain-stress results les.
The rst six strain-stress values that appear at each model node are the numerical average for
the contribution of each element at the node. The strain-stress invariants, principal values and
directions are computed from these averaged nodal values. The eective strain, Mises equivalent
stress, energy density and the three material model state variables are rst extrapolated from
integration points to the nodes and then averaged.
Element result les for strains and stresses adopt the column assignments listed in Fig. 2.10.
A single set of values given for each element is obtained by simple averaging of integration point
values within each element. The rst six strain-stress values that appear for the element are the
numerical average for the contribution of each integration point. The strain-stress invariants,
principal values and direction cosines are computed from these averaged values. The eective
strain and Mises equivalent stress are computed from the averaged values of the components.
Chapter 2 (Updated: 5-23-2013) 2.12-6 Model Denition
Users Guide - WARP3D Output Requests
The energy density and the three material model state variables are the average of integration
point values.
Appendix A provides skeleton Fortran programs to read the binary and formatted forms
of the nodal results les. WARP3D generated (ASCII) versions of these les are compatible
with the current version of Patran and all versions of Patran for the past decade. The Patran
results le formats are relatively simple and enjoy widespread adoption as a common format
for sharing nite element results.
Notes on Patran result les:
strains and stresses at nodes are obtained using a two step process: (1) extrapolation of integration
point values to element nodes and then (2) numerical averaging of values for all elements connected
to a node. Each element connected to the node has the identical weight factor in computing the
average value for a nodal result.
invariants, principal values, direction cosines, the eective strain (
eff
), mises eective stress (
vm
)
and the work density (U
0
) are computed using the averaged nodal results for the strain and stress
components. This leads to a likely inconsistency in nonlinear solutions. During the solution, stresses
at element integration points derive from nonlinear constitutive models acting on strains computed
at the integration points. Such stresses extrapolated to the nodes and then averaged for all elements
connected to a node likely will not match the values that would have been computed by rst extrap-
olating/averaging strains and then updating stresses at model nodes using the nonlinear constitutive
model. Example: consider the simple mises plasticity material model with perfectly plastic ow. After
the extrapolation/averaging process,
vm
at some nodes may exceed the yield stress.
material model state/history variables (c
1
, c
2
, c
3
) are the extrapolated and then averaged nodal
values. Depending on the material model, the extrapolation/averaging of c
1
, c
2
, c
3
may have no
meaningful interpretation.
it is not possible, at present, to specify a list of nodes or elements to appear in the Patran results
les. Results are written for all nodes or elements in the model.
Patran opens and reads the results les which also include the number of nodes or elements
and the number of data columns. However, there is no inherent connection between the number
and ordering of data columns and various physical quantities, i.e., Patran is unaware that
column 12 of the strains le contains the second principal strain value.
To provide this connection, Patran asks the user for the name of a template le when it
opens a results le for post-processing. The (ASCII) template le associates each data column
with a symbolic name (e.g., sigma xx) and informs Patran of the type of value (scalar, vector,
tensor) in each column. Patran then displays the symbolic names rather than data column
numbers in menus for convenience in post-processing tasks.
We provide a set of template les to facilitate use of Patran for post-processing. These are
included in the WARP3D distribution in the patran templates directory. They should be copied
into the appropriate Patran directory on your computer, usually the res templates directory of
the Patran installation.
2.12.4 Patran Compatible Neutral File for Model
The Patran neutral le is a widely adopted format to describe the various parts of a nite
element model (coordinates, constraints, etc.). This ASCII le contains packets of information,
e.g., the coordinates of a node are stored in a packet. There are 20+ types of such packets with
model information. The simple ASCII format of the le insures portability and ease of use.
Chapter 2 (Updated: 5-23-2013) 2.12-7 Model Denition
Users Guide - WARP3D Output Requests
The patwarp program (Appendix C) provided with the WARP3D distribution reads Patran
neutral les and generates the corresponding WARP3D input le using the commands described
in this chapter.
Occasionally a WARP3D input le is generated by some other means and a Patran neutral
le for the model is needed. The command described here generates the neutral le containing
just the essential information for the model.
The command to request generation of a Patran neutral le has the form
output patran neutral (< name of le : label or string >)
If a name for the neutral le is omitted, the default name is structure name.neutral where
structure name is the label supplied in the structure command of the WARP3D input le
(e.g., beam.neutral ). When the specied lename already exists, the current time (hr:min:sec)
is appended to the lename (e.g., beam.neutral 12:00:01).
The following information about the model is included in the neutral le:
neutral le header records required by Patran
number of nodes and elements
coordinates of all model nodes
element types and incidences for all model elements. The 8 and 20-node elements are dened as
HEX/8/#, or HEX/20/# where the Patran conguration code (#) for the element is assigned the
material number given to the element during WARP3D input. For the 9, 12 and 15 node transition
elements, the elements are dened as HEX/20/# but with zeroes in the incidence lists for the missing
mid-side nodes. The Patran conguration code (#) for the element is assigned the material number
given to the element during WARP3D input. Tetrahedral elements are dened as TET/4/# or
TET/10/#, where the Patran conguration code (#) for the element is again assigned the material
number given to the element during WARP3D input. WARP3D interface elements are written into
the neutral le: inter 8 is a HEX/8/#; the trint6 is a WED/6/# (wedge element). Patran does not
have a wedge element corresponding to the trint12 interface element the element is written as a
WED/6/# with only corner nodes included.
constraints (zero and non-zero) imposed on model nodes
At present, no loading information is written to the neutral le.
2.12.5 Energy File
Once the solution for a load step has converged, WARP3D appends newly updated values
of various energy quantities for the model. This le is named energy and is located in the
directory in which WARP3D was initiated. On restart analyses, WARP3D opens the energy
le in append mode and adds additional results as computations continue.
2.12.6 Convert Binary Packets to ASCII
The unformatted (binary) sequential le of packets is portable between Linux and OS X sys-
tems. Such portability does not exist between Windows and Linux/OS X systems. To provide
some increased portability, the convert binary packets command is available to write an ASCII
version of the binary packets le. The command has the form
Chapter 2 (Updated: 5-23-2013) 2.12-8 Model Denition
Users Guide - WARP3D Output Requests
convert (binary) (packets)

[< packet number : integer >]


all

(to) (le) < label or string >


A list of specic packet types may be specied or all packet types the default if no packet
list is specied. If omitted, the default name for the generated ASCII le is the name of the
binary packets le with the extension .tpf. An existing ASCII le with the specied name is
overwritten. An example is
convert binary packets 1-10 20 22 to file converted_file.tpf
A summary of converted packets prints upon completion of the operation. The following table
lists packet types converted at present with the command. Other packet types if present are
ignored.
The convert binary packets command is intended to given immediately prior to the stop
command during the analysis.
Chapter 2 (Updated: 5-23-2013) 2.12-9 Model Denition
Users Guide - WARP3D Output Requests
Data Column Strain Value Data Column Stress Values
1
x
1
x
2
y
2
y
3
z
3
z
4
xy
4
xy
5
yz
5
yz
6
xz
6
xz
7
eff
7 U
0
8 I
1
8
vm
9 I
2
9 c
1
10 I
3
10 c
2
11
1
11 c
3
12
2
12 I
1
13
3
13 I
2
14
1
14 I
3
15 m
1
15
1
16 n
1
16
2
17
2
17
3
18 m
2
18
1
19 n
2
19 m
1
20
3
20 n
1
21 m
3
21
2
22 n
3
22 m
2
23 n
2
24
3
25 m
3
26 n
3
Fig. 2.10 Column numbers and strain-stress values for Patran compatible result les (ASCII and
binary)
Chapter 2 (Updated: 5-23-2013) 2.12-10 Model Denition
Users Guide - WARP3D Output Requests
Packet Type No. Packet Type No.
nodal displacements 1 CTOA growth: non-constant release 18
nodal velocities 2 CTOA: constant release 19
nodal accelerations 3 killed Gurson elements 20
nodal reactions 4 killed SMCS elements 21
Gurson elements: no adaptive 5 SMS elements: no load reduction 22
Gurson elements: adaptive 6 SMS elements: auto load reduction 23
cohesive elements (simple) 7 accumulated loading factors 24
CTOA growth: constant front 8 [currently unused] 25
CTOA growth: non-constant front 9 [currently unused] 26
killed cohesive elements 10 I-integral results: SIFs 27
displacement for element nodes 11 I-integral results: T-stresses 28
velocities for element nodes 12
accelerations for element nodes 13
reactions for element nodes 14
element stresses 15
element strains 16
J-integral results 17
Fig. 2.11 Supported packet types with the convert binary packets command.
Chapter 2 (Updated: 5-23-2013) 2.12-11 Model Denition
Users Guide - WARP3D Analysis Restart
2.13 Analysis Restart
Create a Restart File
To maintain the highest possible performance, WARP3D allocates all data structures in memory
during execution and does not use databases on disk to temporarily hold (swap) data arrays. At
completion of the solution for a load step, the user may request creation of a binary (sequential)
le of all data required to resume execution at that point in the solution. Only the results and
status of the most recently completed load step are stored in the restart database. The default
form of the save command is simply:
save
The data le created with this command has the name: @ db where @ denotes the rst 8
characters of the <structure id> (see Section 2.1).
An explicit name for the restart le may be specied with the command
save (to) le) < le name : label or string >
where a <string> must be used if the le name starts with/or contains special characters, e.g.,
the restart le named ct 23.wrp must be enclosed within single or double quotes.
Examples of the save command are
save
save to file bar_step_450
save to file "ct_230.wrp"
Restart le sizes increase with the model size and solution characteristics. Restart les for large
models may easily reach hundreds of MB to multiple GB in size.
In a typical analysis, the solution is advanced some number of load steps then a restart
le generation is requested. Execution can be continued which makes the restart le provide
a solution check-point. WARP3D can be also be terminated after writing the restart le and
then executed later to output results for the load step in a restart le and/or to continue the
solution for additional load/time steps. The explicit naming feature for restart les enables
creation of a series of unique restart les at various points in the analysis.
Access a Restart File
To restart execution of WARP3D, the rst (non-comment) command must be
retrieve structure < structure id : label >
restart structure < structure id : label >
or using an explicit name for the restart le
retrieve (from) le < le name : label or string >
restart (from) le < le name : label or string >
Chapter 2 2.13-1 Analysis Restart
Users Guide - WARP3D Analysis Restart
where a <string> must be used if the le name starts with/or contains special characters. The
keywords retrieve and restart are synonyms in this command.
Once the restart le is opened and read into memory, WARP3D displays a message indi-
cating the load step number n for the restart le and the model solution time completed in
the analysis. Commands to request output, to analyze additional load steps, to dene new load
steps, dene new loads, solution parameters, etc. may then be given as usual.
Chapter 2 2.13-2 Analysis Restart
Users Guide - WARP3D Table Command
2.14 Table Command
The table command provides the capability to store signicant amounts of numerical data in
a convenient 2-D array format and to dene various aspects of the model. This new capability
is designed to be extended simply and rapidly as new areas for the application of tables evolve
in the code. At present, the table command supports the simplied denition of aerodynamic
pressure loadings on element surfaces for unsteady, high-speed ight following the concepts of
third order piston theory.
2.14.1 General Form
A table denes a 2-D array of numerical values. All tables have the following components:
a user-specied name for identication (up to 24 characters)
a specied number of data rows that will be input
the type (or purpose) of table, e.g., piston
the identifying label (name) for each column of data in the table; this feature enables users
to order columns of a given type based on their preference (the type of table implicitly sets
the required number of data values for each row)
a sequence of input lines with the numerical values for each row of the table
The command to initiate a table denition has the form:
table < table id : label > rows < integer > type < label >
and is followed by a command to dene the names and ordering of data columns in the table
columns [< column id : label > (, )]
where the list may (as required) span across multiple input lines continued with commas. The
label type sets the number of columns for each row and names of each column given in the
following sections. There is no pre-dened limit on the number of denable data rows in a table.
Note: an existing table is over-written with a new denition.
All subsequent data lines then have the general form
[< column value : numr > (, )]
An example table denition is
table example rows 30 type app_3
columns A_1 B_1 C_1
0.0 -3.0 6.2
1.0 4.33 -9.11
-20.0 42.0 -100.004
.
.
.
-45.6 100.1 61.4
Chapter 2 2.14-1 Table Command
Users Guide - WARP3D Table Command
Note: The preceding example does not dene an actual table in WARP3D.
When a table contains many rows, it may prove convenient to place the data rows into a
separate le and then use the WARP3D *input ... utility command as in
table example rows 3000 type app_3
columns A_1 B_1 C_1
*input from file big_data_file
The save and restart capabilities in WARP3D fully support the table features.
2.14.2 Table Type: piston
Aircraft structural elements generate unsteady aerodynamic pressure loads related to the uid
velocity and the local deformation. Piston theory provides a simple method to calculate approx-
imate aerodynamic pressures at relatively large ight Mach numbers on nearly plane surfaces
at a low inclination to the free stream. WARP3D incorporates a third order version of piston
theory as described in [1, 2] to dene the instantaneous pressure loading on surfaces of solid
elements exposed to the ow stream. The pressure is determined by
p
p
3
= 1 +

M
3

V
p
+
+ 1
4
M
2
3

V
2
p
+
+ 1
12
M
3
3

V
3
p

(2.14.1)
where p sets the local pressure on the aircraft surface, p
3
represents the undisturbed ow
pressure at the panels leading edge, denotes the isentropic exponent (equal to the specic
heat ratio of air), and M
3
provides the Mach number. The term

V
p
indicates the normalized
piston velocity, dened as having a direction normal to the approach ow at the panel leading
edge:

V
p
=

1
U
3
w
t
+
w
s

(2.14.2)
where U
3
denotes the velocity (magnitude) at the panels leading edge. The term w indicates
the displacement perpendicular to the aircrafts surface. Eq (2.14.2) includes partial derivatives
of w with respect to time and the direction of uid ow, s.
Piston loads are re-computed at the beginning of every load (time) step in the solution
to reect the current displacement derivatives with respect to time and ow direction in

V
p
and also possible changes in parameters required in Eq (2.14.1). The surface pressures from
the piston loading do not change during equilibrium iterations over a load (time) step. Piston
pressure values (p) are based on the geometry and displacements at the parametric center of
the element surface.
Piston loading histories are dened in a table using the type command piston. The 8 data
columns to dene a piston loading are:
time model time (secs). Time must start at zero and increase monotonically
mach mach number (M
3
)
ow pressure (p
3
)
Chapter 2 2.14-2 Table Command
Users Guide - WARP3D Table Command
velocity ow velocity (U
3
)
isentropic ()
x direction global X-component of ow direction (s
x
)
y direction global Y -component of ow direction (s
y
)
z direction global Z-component of ow direction (s
z
)
Note: (x, y, z) components will be normalized to dene a unit direction vector.
Piston properties for model solution times between tabular values will be computed via
linear interpolation. At model solution times beyond the last table row, piston properties remain
xed at the values specied for the last row.
An example table denition for piston loading is
table simulation_1 rows 5 type piston
columns time flowpressure mach velocity isentropic,
xdirection ydirection zdirection
0.0 0.006548 1.82093 22888.0 1.4 1.0 0.0 0.0
0.5 0.006453 1.83688 23058.0 1.4 1.0 0.0 0.0
1.0 0.006358 1.85281 23227.0 1.4 1.0 0.0 0.0
2.0 0.006358 1.85281 23227.0 1.4 1.0 0.0 0.0
3.0 0.000000 1.85281 23227.0 1.4 1.0 0.0 0.0
Tables of type piston simplify denitions of the aerodynamic loading histories applied to
the faces of solid elements in the nite element model (see Chapter 3 for loadings on solids
elements). An example is
loading model_set_1
element loads
16 face 4 pressure -1.0
5 16 19 20 face 1 piston simulation_1
3-10 body by -1.3
The associated table (here, simulation_1) must be set prior to dening an element loading of
type piston.
2.14.3 References
[1] M. J. Lighthill. Oscillating airfoils at high mach numbers. Journal of Aeronautical Sciences, Vol. 20,
No. 6, June 1953, pp. 402406.
[2] H. Ashley and G. Zartarian.Piston Theory A New Aerodynamic Tool for the Aeroelastician. Journal
of Aeronautical Sciences, Vol. 23, No. 12, December 1956, pp. 11091118.
Chapter 2 2.14-3 Table Command
Users Guide - WARP3D Utility (*) Commands
2.15 Utility (*) Commands
Several utility commands are provided to manipulate input-output les, to control command
echo, etc. Each command begins with an *. These commands may be given at any time during
input.
*echo Command
The *echo command controls the echoing of input commands to the current output device.
By default, all commands are echoed. The *echo command has the form
echo

on
o

*input Command
The *input command controls the location (stream) from which input commands are read
for processing. By default, the input stream is the users interactive display (window) or the
Windows/Linux/Mac stdin device. The input stream can be switched to a disk le or switched
back to the interactive display
input (from)

display
(le) < le name : label or string >

where the <string> form is required with le names not meeting the denition of a <label>.
*input from le ... commands may be contained within referenced input les to create an
input stack up to 10 levels deep. When an end-of-le condition is reached on the current
le, the stack is popped to resume reading from the previous le. When reading of the last
le completes, the input stream returns to the users display. In a batch (background) job, the
program is terminated by the WARP3D command processor if an end-of-le condition (EOF)
occurs at the highest level.
*output Command
The *output command controls the location (stream) from which usual WARP3D output is
directed. By default, the output stream is the users interactive display (window) or the Win-
dows/Linux/Mac stdout device. The output stream can be switched to a disk le or switched
back to the interactive display
output (to)

display
(le) < le name : label or string >

where the <string> form is required with le names not meeting the denition of a <label>.
*time Command
The *time command outputs the elapsed wall time in seconds for the job.
Chapter 2 2.15-1 Utility Commands
Users Guide - WARP3D Utility (*) Commands
*reset Command
When the WARP3D command processors read and interpret the command stream, errors of
various types may be detected. When errors are encountered, the command processors set an
internal ag .true. to prevent a compute command from attempting a solution. This internal
ag can be set to the no error condition with the *reset command, which has the form
reset(error)(ag)
Chapter 2 2.15-2 Utility Commands
Users Guide - WARP3D User List Command
2.16 User Named List Command
The list command provides the capability to dene a named lists of element and node numbers
for convenient reference in subsequent commands. The command has the general form
list < list id : string > < list denition > (display)
where multiple approaches to specify entries in the list (<list denition>) are described in
sections below. The concept here is a a simple list of integers there exists no association
within the denition of entries to either nodes or elements. No limit exists on the number of
entries in the list. An example of the simplest list command is
list "right_edge" 1-500 900-8000 by 3 14600-18885,
80000-120000 by 4 display
The named list right edge may then be used in any subsequent input command that requires
an <integer list>. In the element denition portion of input, the list could be used as
elements
"right_edge" type q3disop material ofhc_cu ....
The display option at the end of each list command prints all entries in the list to the current
output device. If a list command refers to an existing list, the existing list is discarded and
redened with the new input. Named lists are saved and restored during analysis restarts.
list is a highest level command in WARP3D at the same level as elements, coordinates,
constraints, loading, compute, output ...
2.16.1 General Form
The simplest form to create a named list employs the standard <integer list> features of the
WARP3D input system (see Chapter 1)
list < list id : string > < integerlist > (display)
with the right edge example above having this form.
2.16.2 Nodes Located on a Coordinate Plane, Line, or Point
This form generates entries in a list as nodes having coordinates that lie on: (1) a coordinate
plane, (2) a line parallel to a coordinate axis or (3) a point. Coordinates of all nodes in the
model are compared against the specications using a relative tolerance. The user species
an (optional) absolute tolerance tol
abs
in the command the default value is 10
6
. The code
computes the physical dimension of the model in each of the global x, y, z directions as x =
x
max
x
min
, y = y
max
y
min
, z = z
max
z
min
. The relative tolerance (a physical distance)
for comparison becomes
tol
rel
= tol
abs
max( x, y, z)
Chapter 2 2.16-1 User List Command
Users Guide - WARP3D User List Command
The list then consists of nodes with coordinates that satisfy the geometry specication within
the (relative) tolerance distance. The number of nodes in the new list is always provided at
completion of the command.
The <list denition> has the form
_
_
_
_
_
x
y
z
_
_
_
(=) < numr >(, )
_
_
(tolerance < tol
abs
: numr >)
where display may also be included at the end of the command. The ordering of x, y, z values
here is immaterial.
The specication of: (a) one of three (x, y, z) coordinate values denes a coordinate plane
for comparison; (b) two of three (x, y, z) coordinate values denes a line parallel to a coordinate
axis for comparison; (c) all three (x, y, z) coordinate values denes a point for comparison.
Example create a list containing all nodes that lie on the plane z = 24.3 within the default
(absolute) tolerance of 10
6
and display entries in the new list
list "ex_1" z = -24.3 display
Example create a list containing all nodes that lie on the line x = 4.1, y = 12.6 within
a relaxed absolute tolerance and do not display entries in the new list (only the number of
entries)
list "ex_2" x = 4.1 y = 12.6 tolerance 0.0005
Example create a list containing all nodes that lie at the location x = 100.3, y = 85.5, z =
800.1 within the default tolerance and display entries in the new list
list "ex_3" x = -100.3, y = 85.5, z = 800.1 dsiplay
2.16.3 Nodes Located on a General Plane
This form generates entries in a list as nodes having coordinates that lie on a general plane. The
plane is dened by coordinates of a point (on the plane) and components of a vector normal
to the plane. The <list denition> has the form
plane point x(=) < numr > y(=) < numr > z(=) < numr > (, )
normal nx(=) < numr > ny(=) < numr > nz(=) < numr > (, )
(tolerance < tol
abs
: numr >)
where display may also be included at the end of the command. The ordering of coordinates
dening the plane point and components of the normal are xed with no default values all
coordinates and components must be specied. Components of the normal vector to the plane
Chapter 2 2.16-2 User List Command
Users Guide - WARP3D User List Command
are not required to dene a unit vector. The command is rather long and may be continued
over multiple, physical input lines with commas as indicated above.
Example create a list having all nodes that lie on the plane containing the point x = 10.4, y =
80.1, z = 24.3 with a normal vector (3, 4, 5) and with the default tolerance and display entries
in the new list
list "ex_1" plane point x 10.4 y -80.1 z -24.3,
normal nx = 3 ny = 4 nz = 5 display
The process to locate nodes on the plane is: (1) construct a vector between the specied (plane)
point and a model node, (2) form the dot product with a unit vector normal to the plane, (3)
compare the absolute value of the dot product with the relative tolerance (i.e., distance) value
having the same denition as in the previous section, (4) if the magnitude of the dot product
is tol
rel
, the node is considered to lie on the specied plane and is included in the new list.
2.16.4 Nodes Located on a Cylindrical Surface
This form generates entries in a list as nodes having coordinates that lie on an open cylindrical
surface. The cylinder is dened by coordinates of two points along the axis and a radius. The
<list denition> has the form
cylinder rst x(=) < numr > y(=) < numr > z(=) < numr > (, )
second x(=) < numr > y(=) < numr > z(=) < numr > (, )
radius < numr > (tolerance < tol
abs
: numr >)
where display may also be included at the end of the command. The ordering of coordinates
dening points on the axis and the radius are xed. There are no default values provided for the
the two points or the radius. The command is rather long and may be continued over multiple,
physical input lines with commas as indicated above.
Example create a list containing all nodes that lie on the cylinder of radius 10.5 with an axis
that has two two points (2, -4, 10) and (50.2, 80.8, -60.1)
list "ex_1" cylinder first 2 -4 10 second 50.2 80.8 -60.1,
radius 10.5 tolerance 0.0001 display
The process to locate nodes is: (1) compute the perpendicular distance from a node to the
cylinder axis; (2) subtract the specied radius, (3) compare the absolute value of the dierence
to the relative tolerance (distance) dened by radius tol
abs
, (4) if the distance is within the
tolerance, the node is considered to lie on the cylindrical surface.
2.16.5 Nodes Located on a Spherical Surface
This form generates entries in a list as nodes having coordinates that lie on a spherical surface.
The sphere is dened by coordinates of an origin and a radius. The <list denition> has the
form
sphere origin x(=) < numr > y(=) < numr > z(=) < numr > (, )
radius < numr > (tolerance < tol
abs
: numr >)
Chapter 2 2.16-3 User List Command
Users Guide - WARP3D User List Command
where display may also be included at the end of the command. The ordering of coordinates
dening the origin and the radius are xed. There are no default values provided for the the
origin or the radius. The command is rather long an may be continued over multiple, physical
input lines with commas as indicated above.
Example create a list containing all nodes that lie on the sphere of radius 10.5 with an origin
located at (20, -30, 50.9)
list "ex_1" sphere origin x=20 y=-30 z=50.9,
radius 10.5 tolerance 0.0001 display
The process to locate nodes is: (1) compute the distance from a node to the specied origin; (2)
subtract the specied radius, (3) compare the absolute value of the dierence to the relative
tolerance (distance) dened by radius tol
abs
, (4) if the distance is within the tolerance, the
node is considered to lie on the cylindrical surface.
2.16.6 Display Entries in an Existing List
The entries in an existing list may be output at any time with the command
list < list id : string > (display)
Chapter 2 2.16-4 User List Command
Users Guide - WARP3D Hex Elements
Chapter 3
Elements and Material Models
3.1 Isoparametric Hex Elements
These isoparametric, hexahedral brick elements with linear and quadratic displacement
elds provide the fundamental meshing capability for solids in WARP3D. The 8-node ele-
ment (l3disop) employs a conventional tri-linear displacement eld. With the B modications
of Hughes [1], the element exhibits minimal volumetric locking under fully incompressible ma-
terial response and exhibits slightly improved bending response. This element performs well
under nite deformations encountered near severe discontinuities and crack fronts. A simple
stabilization scheme may be invoked should hour-glassing modes appear (infrequently experi-
enced in this elements). Unfortunately, the element exhibits shear locking when subjected to
very strong bending elds.
The 20-node element provides a quadratic displacement eld with the ability to model crack
front singularities in a focused mesh with element shapes collapsed into wedges. With a reduced
order of Gauss quadrature, this element resolves accurately the strong bending elds without
shear locking; moreover, the reduced integration order also eliminates volumetric locking under
fully plastic deformation. Thin shell structures are modeled accurately with just one element
through the thickness when combined with the reduced integration unless the analysis requires
precise resolution of through thickness yielding. In such cases multiple elements dened through
the thickness becomes necessary to locate Gauss points near the outer surfaces.
The 9, 12 and 15-node elements have selected quadratic edges that enable transitions be-
tween the 8 and 20-node elements while maintaining full displacement compatibility. The pat-
warp program converts user-dened 8-node elements into these transition elements based on
shared faces/edges between 8 and 20-node elements in the model. In the Patran neutral le
(produced by Patran or other mesh generators), simply connect 8-node and 20-node elements
without concerns for displacement compatibility.
Transitions from coarse to ne meshes of the same element type or dierent element types
may also be accomplished using the tie-mesh approach with multipoint constraints (Section
2.7).
The element formulations support geometrically nonlinear analysis (large displacements,
rotations, nite strains), materially nonlinear analysis and combined geometric/material non-
linear analysis.
For dynamic analyses, the diagonal (lumped) mass matrix derives from scaled terms of the
consistent mass matrix.
All element computations take place in the global coordinate system for the model. Strains
and stresses output by the model reference the global coordinate axes.
For modeling initially sharp crack fronts, these elements are frequently degenerated or
collapsed into a wedge shape. While this modeling technique causes no problems for a small-
strain analysis, diculties in Newton convergence of the global solution may be experienced
Chapter 3 (Updated: 9-4-2012) 3.1-1 Elements and Material Models
Users Guide - WARP3D Hex Elements
1
3
4
7

5
2
8
soparametric Coordinates of Nodes
1
3
4
12

10
9
2
11
/3d/so
ts12/so
1
3
4
12
10
9
11
ts15/so
14
13
15
2
Node
1 --1 --1 1
2 --1 --1 --1
3 --1 1 --1
4 --1 1 1
Node
5 1 --1 1
6 1 --1 --1
7 1 1 --1
8 1 1 1
1
3
4
12
10
9
11
q3d/so
14
13
15
2
16
17
18
19
20
5
6
7
8
3
WA83u and Abaqus node
orderlngs are ldenucal for 8-node
and 20-node elemenLs
Fig. 3.1.1 Local node ordering for the isoparametric hex elements. Isoparametric coordinates for the
element corner nodes are listed.
when the collapsed elements have the geometric nonlinear formulation. The remedy involves
modeling the crack front as a very small tube (i.e., a keyhole) or to model the crack tip as an
initially blunt notch with a root radius comparatively small compared to the crack length or
remaining ligament length.
3.1.1 Node and Integration Point Ordering
Figures 3.1.1 and 3.1.2 show the ordering of nodes for the elements and the orientation of
parametric axes (, , ). The 9, 12, 15 and 20-node elements retain the same numbering for
the 8 corner nodes dened for the l3disop element. Note: the node ordering for the 20-node
element matches that used in Abaqus.
These elements have mass, stiness and internal forces computed using quadrature. Figure
3.1.3 tabulates the locations of integration points in parametric coordinates. The 8-node element
is always evaluated using a conventional (2,2,2) Gauss quadrature. The same (2,2,2) is dened
as the default order for the 9, 12, 15 and 20-node elements. For these elements, two additional
integration rules are provided as options: a 9-point rule and a 14-point rule. The 9 and 14
point rules are especially useful for the 20-node brick to suppress hourglass modes. Fracture
mechanics models constructed with 20-node elements tend to develop hourglass modes in those
Chapter 3 (Updated: 9-4-2012) 3.1-2 Elements and Material Models
Users Guide - WARP3D Hex Elements
1
3
4
7
!
"
6
#
5
2
8
soparametric Coordinates of Nodes
1
3
4
!
9
2
!"#$%&'
(%)$%&'
" ! # Node
1 --1 --1 1
2 --1 --1 --1
3 --1 1 --1
4 --1 1 1
" ! # Node
5 1 --1 1
6 1 --1 --1
7 1 1 --1
8 1 1 1
3
Fig. 3.1.2. Local node ordering for the isoparametric hex transition element ts9isop element. Isopara-
metric coordinates for the element corner nodes are listed.
elements located on the crack plane just behind the front. Hourglass modes can also appear
in those elements with multiple free faces, especially those subjected to applied loading. The
9 point and 14 point rules oer a remedy for the hour glass modes but at the cost of some
increased computation time and memory storage.
To eliminate potential errors due to strongly varying element shapes, the mass matrix and
equivalent forces for applied body forces are evaluated with the 14-point rule for the 9, 12, 15
and 20-node elements. Similarly, the equivalent loads for applied face tractions are evaluated
using a (3, 3) Gauss rule. These procedures are applied independent of the integration order
specied by the user. The user specied integration order is applied for stiness and internal
force computations and for strain-stress updating.
Element results are frequently output at the center point which corresponds to parametric
location ( = 0, = 0, = 0).
Isoparametric elements provide a powerful capability to model the geometry of irregularly
shaped bodies. The parent element in parametric coordinates is mapped into the global Carte-
sian space using (current) coordinates of the nodes and the linear interpolation functions. The
element behavior remains adequate unless the mapped shape becomes unreasonable (either the
initial, undeformed shape or the current shape for geometric nonlinear analyses). Corner angles
on each face must be > 0
o
and < 180
o
. The best element response is obtained for angles within
the range 90
o
30
o
. Very large aspect ratios should be avoided if possible. The best element
behavior derives from a cubical shape; however, rectangular prism shapes with aspect ratios
of 10-20 are commonly used without undue loss of accuracy, especially if the strain eld varies
gently in the longer direction.
Element routines check for badly distorted elements by examining the determinant of the
coordinate Jacobian at the integration points (using the current nodal coordinates for geometric
nonlinear analysis). Zero or negative values indicate a severely distorted element. Messages
identifying these problems are printed with information about the element.
Chapter 3 (Updated: 9-4-2012) 3.1-3 Elements and Material Models
Users Guide - WARP3D Hex Elements
1
3
4
7
!
"
6
#
5
2
8
!
3
Coordinates of Gauss Pts.
" ! # Point
1 --a --a --a
2 --a a --a
3 a --a --a
4 a a --a
5 --a --a a
6 --a a a
7 a --a a
8 a a a
a=0.57735
9 0 0 0
!!!!! "#$ %&'()*+,
Coordinates of Pts.
" ! # Point
1 --a 0 0
2 a 0 0
3 0 --a 0
4 0 a 0
5 0 0 --a
6 0 0 a
7 --b --b b
8 --b --b --b
a=0.795822
9 --b b --b
-.&'()*+,
11 b --b b
12 b --b --b
13 b b --b
10 --b b b
14 b b b
b=0.758787
Fig. 3.1.3. Location of integration points in isoparametric coordinates.
For edges of elements having mid-side nodes, the nodes must be located initially within
a narrow range from the geometric center of the element edge unless mid-side nodes are
intentionally moved to the quarter-point at a crack front for linear-elastic analyses.
3.1.2 Element Properties
Table 3.1 summarizes the user-assignable values that control element behavior. Element proper-
ties are dened by the name of the property, a <label>, followed by a value. Logical properties
are set .true. simply by the appearance of the property name. The default behavior for the
l3disop element is: small-strain formulation, (2,2,2) Gauss integration, B formulation, and out-
put of a short list of strains-stresses at the Gauss points. For the ts9isop, ts12isop, ts15isop and
q3disop elements, the default behavior is: small-strain formulation, (2,2,2) Gauss integration,
and output of a short list of strains-stresses at the Gauss points.
3.1.3 Output Options
Printed strain-stress results may be obtained at the integration points (default), the element
nodes or at the parametric center-point of the element (0,0,0). Figures in Section 2.12 dene
each of the strain-stress values output by the element. When the (2,2,2) Gauss integration rule
is specied, nodal values of (
ij
,
ij
) are computed by extrapolation of Gauss point values using
linear, Lagrangian polynomials.
When other integration orders are specied, the nodal values are dened simply as the mean
values of the integration point values since no clear extrapolation procedure exists (values
output at all nodes of an element are identical). Values of invariants, principal values and
Chapter 3 (Updated: 9-4-2012) 3.1-4 Elements and Material Models
Users Guide - WARP3D Hex Elements
Element property Keyword Mode Default Value
Geometrically linear formulation linear logical True
Geometrically nonlinear formulation nonlinear logical False
Material associated with element material label none
Order of integration order string 2x2x2

Use B formulation bbar logical True

Do not use B formulation no bbar logical False

Output (
ij
,
ij
) at integration points gausspts logical True
Output (
ij
,
ij
) at element nodes nodpts logical False
Output (
ij
,
ij
) at element center center output logical False
Output minimal set of (
ij
,
ij
) values short logical True
Output full set of (
ij
,
ij
) values long logical False
9pt rule and 14pt rule are available for 9, 12, 15, and 20-node elements

B is not applicable (or needed) for 9, 12, 15 and 20-node elements


Table 3.1.1 Properties for the hex isoparametric elements.
directions are computed from these extrapolated nodal values. Nodal values of eective strain,
Mises stress, energy density and state variables dependent on the associated material model
are also the corresponding mean values.
The center-point values of (
ij
,
ij
) are the simple numerical average of Gauss point val-
ues. Values of invariants, principal values and directions are computed from these averaged,
center-point values. Values of eective strain, Mises stress, energy density and state variables
dependent on the associated material model are simply averaged. The short option requests
printing of a reduced set of output values. The invariants, principal values and direction cosines
are omitted. This is the default output option.
Note: in analyses with nonlinear material behavior, the stress values output at element
nodes are not those obtained by processing extrapolated or averaged nodal strains through
the nonlinear material model routines. This can lead, for example, to extrapolated or averaged
stresses at a node that do satisfy a yield criterion.
3.1.4 Mass Formulation
The element (diagonal) mass matrix is evaluated once at the start of computations for the rst
load step. Entries of the lumped mass are proportional to the diagonal entries of the element
consistent mass. The proportionality factor preserves the total mass of the element, e.g., the
sum of the diagonal terms for the v
i
accelerations equals the element mass. This procedure
always generates positive values for the lumped mass and leads to optimal convergence rates
with mesh renement (see [2])
The mass matrix diagonal term for each of the three accelerations at node i is then
m
e
ii
=
_
Ve
N
2
i
dV
e
(3.1.1)
Chapter 3 (Updated: 9-4-2012) 3.1-5 Elements and Material Models
Users Guide - WARP3D Hex Elements
where denotes the mass density of the undeformed material. N
i
denotes the usual interpolating
function for the element node i. The scaling factor is given by
=
_
Ve
dV
e
_
_
nen

k
_
Ve
N
2
k
dV
e
_
(3.1.2)
where nen denotes the number of element nodes. A full integration order is employed to evaluate
these integrals.
3.1.5 Element Loads
Loads available for these elements include body forces, face tractions, face pressures and uni-
form temperature changes. In addition, imposed nodal temperatures may dene a non-uniform
temperature eld over the element. Nodal and element temperature loads may be active simul-
taneously and can be mixed with other types of element loadings. A sequence of element load
denitions has the form
element (loads)
< elements : list > < type of loading and parameters >
< elements : list > < type of loading and parameters >

where the <type of element loading> is a body force, a face traction, a face (normal) pressure,
an aerodynamic pressure (piston loading), or a constant temperature over the element volume.
Body Forces
Body forces are specied by the intensity (units of F/L
3
) and the direction along one of the
coordinate axes. The body force intensity is constant over the element. The body force loads
are dened by the command
body (forces)
_
_
_
_
_
bx
by
bz
_
_
_
(=) < force intensity : number > (, )
_
_
Face Tractions
Tractions applied to the faces of elements may have a direction along one of the global coordi-
nate axes or a direction normal to the specied face. Figure 3.1.4 denes the face numbers. The
commands dene the loaded face of the element, the loading intensity (units of F/L
2
), and the
loading direction. When the traction is aligned with one of the coordinate axes, the command
has the form
Chapter 3 (Updated: 9-4-2012) 3.1-6 Elements and Material Models
Users Guide - WARP3D Hex Elements
face (abaqus) < face number : integer > (tractions)
_
_
_
_
_
tx
ty
tz
_
_
_
(=) < intensity : number > (, )
_
_
The abaqus option applies for hex elements and loadings intended for WARP3D faces (4,5).
These faces are ipped from the Abaqus numbering (see Fig. 3.1.4). With this option, the
input translators change the specied face number 5 to 4 and 4 to 5 before continuing as a
convenience for users having Abaqus input les for the model.
For a normal (pressure) loading, use a command of the form
face (abaqus) < face number : integer > pressure (=) < intensity : number >
where a positive value for the intensity denotes a load directed into the face, i.e., a positive
pressure loads the face in compression.
1
3
4
7
6
5
2
8
soparametric Coordinates of Nodes

Node
1 --1 --1 1
2 --1 --1 --1
3 --1 1 --1
4 --1 1 1
5 1 --1 1
6 1 --1 --1
7 1 1 --1
8 1 1 1
Face No. Nodes
1 1--2--3--4
2 5--8--7--6
3 1--5--6--2
4 4--8--7--3
5 2--6--7--3
6 1--5--8--4

WA83u, Abaqus faces 1-3 and 6 are


ldenucal. WA83u faces (4,3) =
Abaqus faces (3,4).
Fig. 3.1.4. Face numbers for applying tractions to the isoparametric elements.
Piston Model Pressures
Aircraft structural elements generate unsteady aerodynamic pressure loads related to the uid
velocity and the local deformation. Piston theory provides a simple method to calculate approx-
imate aerodynamic pressures at relatively large ight Mach numbers on nearly plane surfaces
at a low inclination to the free stream. WARP3D incorporates a third order version of piston
theory as described in [4, 5] to dene the instantaneous pressure loading on surfaces of solid
elements exposed to the ow stream. The pressure is determined by
Chapter 3 (Updated: 9-4-2012) 3.1-7 Elements and Material Models
Users Guide - WARP3D Hex Elements
p
p
3
= 1 +
_
M
3

V
p
+
+ 1
4
M
2
3

V
2
p
+
+ 1
12
M
3
3

V
3
p
_
(3.1.3)
where p sets the local pressure on the aircraft surface, p
3
represents the undisturbed ow
pressure at the panels leading edge, denotes the isentropic exponent (equal to the specic
heat ratio of air), and M
3
provides the Mach number. The term

V
p
indicates the normalized
piston velocity, dened as having a direction normal to the approach ow at the panel leading
edge:

V
p
=

1
U
3
w
t
+
w
s

(3.1.4)
where U
3
denotes the velocity (magnitude) at the panels leading edge. The term w indicates
the displacement perpendicular to the aircrafts surface. Eq (3.1.4) includes partial derivatives
of w with respect to time and the direction of uid ow, s.
Piston loads are re-computed at the beginning of every load (time) step in the solution to
reect the current displacement derivatives with respect to time and ow direction in the above
equation and also possible changes in parameters required in Eq (3.1.3). The surface pressures
from the piston loading do not change during equilibrium iterations over a load (time) step.
Piston pressure values (p) are based on the geometry and displacements at the parametric
center of the element surface.
The following command sets piston loads on element surfaces:
face (abaqus) < face number : integer > piston < table : string >
A table of type piston must be dened prior to dening the piston loading command. The
piston table provides a loading history based on ow pressure, Mach number, velocity, isentropic
exponent, and the uid ow direction with time.
Uniform Temperature
A uniform temperature change over the element may be imposed through element loads. The
command has the form
temperature (=) < value : number > (, )
Multiple Loads Dened on Same Element
Element loads are additive if the same element number and loading direction appear in two
dierent loading commands the sum of two loads is applied to the model. An example sequence
to dene a loading condition and a set of element loads is
element loads
1-40 620-800 by 2 face 6 pressure -2.1 temperature 32.4
140 face 3 tractions tx -0.5 ty 14.34 tz 42.6
3256-4000 body forces bz 12.3 bx -32.4
20 body force bx -3
Chapter 3 (Updated: 9-4-2012) 3.1-8 Elements and Material Models
Users Guide - WARP3D Hex Elements
In the above example, element 20 has a normal pressure on face 6, a temperature increment, and
a body force in the x direction. Specications for dierent loading types for a list of elements
may be combined onto a single line if desired.
Large Displacement Eects on Loads
When the analysis includes geometric nonlinear eects (large displacements), equivalent loads
for the incrementally applied surface tractions and pressures are re-computed at the beginning
of each load step using the current (deformed) geometry of the elements.
3.1.6 Strains-Stresses for Large Displacement Formulation
The nonlinear property requests a geometrically nonlinear element formulation. Stress values
output by the element are then the Cauchy (true) stresses. The Cauchy stress denes tractions
over internal surfaces in the deformed conguration with stress components,
ij
, aligned with
the global coordinate axes for the model. The symmetric Cauchy stress tensor is dened by the
equilibrium conditions
_
S
n dS =
_
V

dV (3.1.5)
where n denes a unit outward normal to the deformed surface S, and V denotes the deformed
volume of the body.
The increment of strain that advances the solution from load step n to n + 1 is given by
= B

x
n+
1
2

u (3.1.6)
where the B (linear-strain) displacement matrix is evaluated at the mid-step deformed cong-
uration of the element. Then corresponds to a nite increment of the rate of deformation
tensor, D
n+1/2
t, over the step. For the 8-node, linear displacement element, B in the above
is replaced by B. The corresponding increment of unrotated strain, d, is given by (see Chapter
1 discussion on nite-strain plastictiy)
d = R
T
n+
1
2
D
n+
1
2
R
n+
1
2
t (3.1.7)
where R is the rotation component of the polar decomposition of the deformation gradient
F = RU. Increments d over load steps all refer to the orthogonal coordinate system B
u
on
the right side of the polar decomposition gure in nite-strain discussions in Chapter 1. These
increments may be summed and then rotated to the nal (deformed) conguration for output
purposes via the current (n = k) R

D = R
_
n=k

n=1
d
_
R
T
(3.1.8)
where the symmetric tensor denoted

D then denes an approximate logarithmic strain measure
for the current deformed conguration expressed with components in the global coordinate axes.
Shear terms in the output follow the usual engineering denition, i.e.,
xy
= 2
xy
.
Chapter 3 (Updated: 9-4-2012) 3.1-9 Elements and Material Models
Users Guide - WARP3D Hex Elements
An example illustrates interpretation of the strain output. Using hex elements, dene a
simple axial bar with initial length L
0
and a deformed length denoted L at each stage of
deformation. The bar lies initially along the global X-axis and is loaded to signicant elastic-
plastic elongation using a number of load steps. The output strain
xx
for this elongation
loading corresponds to the usual logarithmic (true) strain provided a sucient number of load
steps are used to approximate the dening integral

xx
=

d
11
=

u
L

_
dL
L
(3.1.9)
Now dene additional load steps with displacement constraints that impose a +90-degree
rigid rotation of the bar around the Z-axis. The rotation process dened by Eq (3.1.8) provides
output strain values with
yy
now having the
xx
value prior to the rotation. Similarly, the
output
xx
has the
yy
value prior to rotation. The output values of Cauchy stress follow a
similar result from the imposed rigid-body rotation (i.e.,
yy
is the (true) axial stress).
3.1.7 The B Formulation (8-node element)
Many methods to alleviate volumetric locking under nearly incompressible material behav-
ior in fully integrated, linear elements have been proposed in the literature. The so-called B
framework (Hughes [1]) implemented for the l3disop element in WARP3D is outlined below.
The strains are divided into deviatoric and dilatational parts in the following manner.

ij
=
dev
ij
+
dil
ij

dil
ij
=
1
3

ij
k=3

k=1

kk

dev
ij
=
ij

dil
ij
(3.1.10)
The strain-displacement matrix, B, is divided divided into dilatational and deviatoric parts in
the same manner as
B = [B
1
B
2
. . . B
n
] (3.1.11)
where,
B
i
=
_

_
B
1
0 0
0 B
2
0
0 0 B
3
B
2
B
1
0
0 B
3
B
2
B
3
0 B
1
_

_
B
dil
i
=
1
3
_

_
B
1
B
2
B
3
B
1
B
2
B
3
B
1
B
2
B
3
0 0 0
0 0 0
0 0 0
_

_
B
dev
i
= B
i
B
dil
i
(3.1.12)
with the subscript i omitted for clarity on each term inside the [ ] and
B
i1
=
N
i
x
B
i2
=
N
i
y
B
i3
=
N
i
z
(3.1.13)
Chapter 3 (Updated: 9-4-2012) 3.1-10 Elements and Material Models
Users Guide - WARP3D Hex Elements
The dilatational contribution to the stiness causes locking for near incompressible condi-
tions and is replaced the dilatational part of the strain-displacement matrix with a modied
dilatational part, B
dil
. The strain-displacement matrix is replaced by B dened as:
B
i
= B
dev
i
+B
dil
i
where B
dil
i
=
1
3
_

_
B
1
B
2
B
3
B
1
B
2
B
3
B
1
B
2
B
3
0 0 0
0 0 0
0 0 0
_

_
(3.1.14)
where again the subscript i on each term in the [ ] has been omitted. The B matrix can then
be written out explicitly in the following form (with subscript i omitted inside [ ])
B
i
=
1
3
_

_
2B
1
+B
1
B
2
B
2
B
3
B
3
B
1
B
1
2B
2
+B
2
B
3
B
3
B
1
B
1
B
2
B
2
2B
3
+B
3
3B
2
3B
1
0
0 3B
3
3B
2
3B
3
0 3B
1
_

_
(3.1.15)
Mean Dilatation
Several options for dening B
dil
i
have been proposed in the literature. Here we use the mean
dilatation approach suggested by Nagtegaal, et al. [3]. A volume averaged (mean)

B
i
matrix
is computed over the element as

B
i
=
1
V
e
_
Ve
B
i
dV
e
(3.1.16)
with B
dil
i
at each Gauss point taken as the dilatational component of

B
i
as in Eq. (3.10). To
save computations, only the three terms needed from

B
i
to compute B
dil
i
are actually evaluated
B
i1
=
N
i
x
=
1
V
e
_
Ve
N
i
x
dV
e
(3.1.17)
B
i2
=
N
i
y
=
1
V
e
_
Ve
N
i
y
dV
e
(3.1.18)
B
i3
=
N
i
z
=
1
V
e
_
Ve
N
i
z
dV
e
(3.1.19)
using the standard (2,2,2) Gauss quadrature.
This formulation provides an element with the same dilatational strain and mean stress at
each of the (2,2,2) Gauss points. When plane strain constraints are imposed on the B element,
the
z
is not restricted to 0 at each Gauss point, but is only restricted to 0 over the element as
a whole, i.e., for center output the
z
value is zero.
Chapter 3 (Updated: 9-4-2012) 3.1-11 Elements and Material Models
Users Guide - WARP3D Hex Elements
Large Displacement Form
When large displacement eects are present, the current coordinates of the element nodes are
adopted to form B to compute virtual strains for internal force computation as in
IF
e
=
_
Ve
B
T
(x
n+1
)
n+1
dV
e
(3.1.20)
where denotes the Cauchy stresses and V
e
the current (deformed) element volume at n + 1.
Hourglass Stabilization
The B modication which enforces constant pressure throughout the element can introduce
spurious hourglass modes. A classic example which illustrates this element behavior involves
nite compression of a plane-strain block, where the ends are restrained from lateral expan-
sion. The dierences between deformed shapes with and without the B modication are quite
surprising.
A simple stabilization procedure suggested by Nakamura and Parks [6] often helps to sup-
press this behavior. A specied fraction of the usual B
dil
i
replaces a similar fraction of B
dil
i
as
B
i
= B
dev
i
+B
dil
i
+
_
B
dil
i
B
dil
i
_
(3.1.21)
When = 0.0, the full B form of the element is obtained; when = 1.0, the conventional B
matrix for the 8-node element results. No extra computational costs incur for > 0.
Users specify the value of in the nonlinear solution parameters for the analysis with the
command (see Section 2.10 on Solution Parameters) bbar stabilization factor <numr>. The
default value of is 0.0.
Mean Dilatation for Deformation Gradients, F
Some material models require access to the deformation gradients at n and n + 1 for direct
computation of strain-like terms (e.g., the UMAT material model and various crystal plasticity
models). A mean-dilatation form for the deformation gradient F at an integration point is
computed using the modication
F = F


J
J

1
3
(3.1.22)
where J = det(F) and the

J is the average value of J over the deformed element volume
computed by

J =
V
V
0
=
1
V
0
_
V
0
J dV
0
. (3.1.23)
and V
0
is the undeformed element volume. Note that use of F does not aect R computed in
the polar decomposition.
Chapter 3 (Updated: 9-4-2012) 3.1-12 Elements and Material Models
Users Guide - WARP3D Hex Elements
3.1.8 Collapsed Elements for Fracture Analyses
For linear-elastic crack analyses, it often proves convenient to model a sharp crack tip that does
not open under loading. To support this modeling option, simply collapse one face of a hex
element to a line by repeating node numbers in the incidence list. In Fig. 3.1.1, for example,
this option can be invoked by assigning the same structure node number for element nodes 4
and 8 of the l3disop element and a dierent structure node number for elements nodes 1 and
5.
During input processing, the input translators issue a warning message for each element
with repeated nodes in an element incidence list. When this modeling approach is intentional,
just ignore the warning messages.
For nonlinear analyses, crack front elements often have a face collapsed to a line but with
unique node numbers retained for all nodes. This scheme allows blunting deformations of the
crack front under increased loading. The crack front elements thus have a topologically unique
denition but geometrically coincident nodes (at least before loading). This modeling approach
creates no diculties in the element computations.
3.1.9 Temperature Gradients in Linear Displacement Elements
When users specify temperatures at nodes of the model, non-zero temperature gradients may
occur across elements. Elements with linear displacement approximations behave very poorly
under such loadings (i.e., they exhibit shear locking). To alleviate this behavior, the element
processors that compute strains rst average the temperatures on the element nodes (imposed
through the structure level nodal temperature loadings) to construct a uniform temperature
change over the element. This value is added to any specied uniform temperature change
imposed through the element uniform temperature loads (described above).
3.1.10 Material Property Gradients in Linear Displacement Elements
Materials with temperature dependent elastic properties or functionally graded materials (elas-
tic properties specied at model nodes) can generate strong gradients of strain and stress within
elements subjected to otherwise simple loadings. Elements with linear displacement elds may
develop severe locking under such conditions. To help alleviate this eect, a single set of material
properties is constructed and used in the computations for all the Gauss points of each element
with linear displacement elds. A model constructed with these elements then accommodates
the gradient eects through the usual jumps in strain-stress values across element boundaries.
Simple averaging of FGM properties specied for the model nodes incident on the element
or averaging of the temperatures for the element nodes before element level computations
accomplishes this smoothing eect. This averaging process is performed for all solid (hex)
elements but the q3disop element.
3.1.11 Examples
The following examples illustrate the specication of hex elements in a model.
structure cct
c
material a533b
Chapter 3 (Updated: 9-4-2012) 3.1-13 Elements and Material Models
Users Guide - WARP3D Hex Elements
properties ....
c
number of nodes 25642 22092
c
elements
14000-22092 type l3disop nonlinear material a533b order 2x2x2,
long bbar center_output
2000-4000 type q3disop linear material a533b order 2x2x2,
long nodpts
c
3.1.12 References
[1] T. R. Hughes. Generalization of selective integration procedures to anisotropic and nonlinear media.
International Journal for Numerical Methods in Engineering, Vol 15, No 9, pages 1413-1418, 1980. DOI:
10.1002/nme.1620150914
[2] O. C. Zienkiewicz and R. L. Taylor. Finite Element Method For Solid And Structural Mechanics.
6th Edition. Butterworth-Heinemann. 2005.
[3] J.C. Nagtegaal, D.M. Parks, J.R. Rice. On numerically accurate nite element solutions in the fully
plastic range. Computer Methods in Applied Mechanics and Engineering, Vol 4, No 2, pp. 153177, 1974.
DOI 10.1016/0045-7825(74)90032-2.
[4] M. J. Lighthill. Oscillating airfoils at high mach numbers. Journal of Aeronautical Sciences, Vol. 20,
No. 6, June 1953, pp. 402406.
[5] H. Ashley and G. Zartarian.Piston Theory A New Aerodynamic Tool for the Aeroelastician. Journal
of Aeronautical Sciences, Vol. 23, No. 12, December 1956, pp. 11091118.
[6] T. Nakamura and D. M. Parks. Three-Dimensional Stress Field Near the Crack Front of a Thin
Elastic Plate. Journal of Applied Mechanics, Vol. 55, No 4, pp. 805813, 1988.
Chapter 3 (Updated: 9-4-2012) 3.1-14 Elements and Material Models
Users Guide - WARP3D Tet Elements
3.2 Solid Elements: tet4, tet10
With the continuing development of automatic mesh generators for complex, 3-D geome-
tries, tetrahedral elements have become essential for general nite element modeling of solids.
WARP3D provides a family of linear and quadratic tetrahedral elements based on an isopara-
metric formulation for solid modeling. The 4-node element (tet4) employs a conventional trilin-
ear displacement eld. This constant strain element is analogous to a constant strain triangle
element in 2-D. The 10-node element (tet10) provides a quadratic displacement eld with the
ability to better represent bending deformations without severe shear locking. Under fully in-
compressible plastic deformations, tet10 exhibits minimal volumetric locking (even when the
element edges are curved).
The element formulations support geometrically nonlinear analysis (large displacements,
rotations, nite strains), materially nonlinear analysis and combined geometric/material non-
linear analysis.
For dynamic analyses, the diagonal (lumped) mass matrix derives from the scaled terms of
the consistent mass matrix.
To support analyses with functionally graded materials (FGMs), the tet elements utilize
material properties dened at the model nodes when specied in the input (see Section 2.2).
All element computations take place in the global coordinate system for the model. Strains
and stresses output by the model reference the global coordinate axes.
For modeling initially sharp crack fronts in linear-elastic fracture mechanics, the mid-side
nodes of the tet10 element are often moved to the quarter-point position along the edge to
better model the strain singularity.
3.2.1 Node and Integration Point Ordering
Figure 3.2.1 shows the ordering of nodes for the elements and the orientation of the parametric,
tetrahedral coordinate axes s
1
, s
2
, s
3
, s
4
. Note: that the node ordering for these elements follows
the same order in Abaqus for elements C3D4, C3D10. Patran also uses this same ordering.
All computed quantities for these elements are evaluated using numerical quadrature. Figure
3.2.2 tabulates the locations of integration points in the parametric triangular coordinates. The
default order of integration for the tet4 element is the simple one point rule (1pt rule) with
coordinates s
1
= s
2
= s
3
= s
4
= 0.25. For the 10-node element, the stiness and internal forces
are computed with the 4-point rule by default. Strain-stress values are computed, updated and
output at these 4 integration points as well. A 5-point rule is also provided as indicated in
Fig. 3.2.2. The element mass matrix and equivalent nodal forces for applied body loads are
computed with a 15-point rule (tet10) and a 4-point rule (tet4). Equivalent nodal forces for
tractions applied on the element faces are computed with a 7-point rule.
Simple patch tests performed on a mesh containing initially distorted tet10 elements reveals
better performance for the 5-point integration rule, i.e., the number of correct signicant digits
in the computed displacements, strains, stresses increases signicantly.
Element results are frequently output at the center-point which corresponds to parametric
location s
1
= s
2
= s
3
= s
4
= 0.25. The values are simple averages of the integration point
values.
Chapter 3 (Updated: 12-12-2011) 3.2-1 Elements and Material Models
Users Guide - WARP3D Tet Elements
1
4
s

2
soparametric (Tetrahedral) Coordinates of Nodes

Node
1 1 0 0
10
9
5
6
7
8
3
s

1
4
s

3
s

0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
5 0.5 0.5 0 0
6 0 0.5 0.5 0
7 0.5 0 0.5 0
8 0.5 0 0 0.5
9 0 0.5 0 0.5
10 0 0 0.5 0.5
A// EJges May
Be CuroeJ
Fig. 3.2.1 Local node ordering for the isoparametric tetrahedral elements. Tetrahedral coordinates for
the element nodes are listed. Node ordering is the same as used in Abaqus.
Isoparametric elements provide a powerful capability to model the geometry of irregularly
shaped bodies. The parent element in parametric coordinates is mapped into the global Carte-
sian space using (current) coordinates of the nodes and the interpolation functions. The element
behavior remains adequate unless the mapped shape becomes unreasonable (either the initial,
undeformed shape or the current shape if geometric nonlinear analysis). Large aspect ratios
should be avoided if possible. The best element behavior derives from a equilateral shape.
Element routines check for badly distorted elements by examining the determinant of the
coordinate Jacobian at the integration points (using the current nodal coordinates for geometric
nonlinear analysis). Zero or negative values indicate a severely distorted element. Messages
identifying these problems are printed with information about the element.
For edges of the 10-node element, mid-side nodes must be located initially within a narrow
range from the geometric center of the element edge, unless the user intentionally places them
at the 1/2 or 1/4 point location to model singularities at crack fronts.
Chapter 3 (Updated: 12-12-2011) 3.2-2 Elements and Material Models
Users Guide - WARP3D Tet Elements
a = 0.5854102, b = 0.1381966
4 Point RuIe {4pt_ruIe)
1
4

2
3

Point
1 a b b

b
2 b a b b
3 b b a b
4 b b b a
a = 1/2, b = 1/6
5 Point RuIe {5pt_ruIe)

Point
1 c c c

c
2 a b b b
3 b a b b
4 b b a b
c = 0.25
5 b b b a
Fig. 3.2.2. Location of integration points for tetrahedral elements.
3.2.2 Element Properties
Table 3.2 summarizes the user-assignable values that control element behavior. Element proper-
ties are dened by the name of the property, a <label>, followed by a value. Logical properties
are set .true. simply by the appearance of the property name. The default behavior for the tet4
element is: small-strain formulation, 1-point integration, and output of a short list of strains-
stresses at the integration point. For the tet10 element, the default behavior is: small-strain
formulation, 4-point integration, and output of a short list of strains-stresses at the integration
points.
3.2.3 Output Options
Printed strain-stress results may be obtained at the integration points (default), the element
nodes or at the parametric center-point of the element. Figures in Section 2.12 dene each of
the strain-stress values output by the element.
To generate nodal values of
ij
,
ij
for output, the code adopts the following procedures.
For the tet4 element, all nodal values are identical as this is a constant strain element. For the
tet10 element, each corner node has a nearby integration point for both the 4 and 5 point rules.
The four corner nodes are assigned values computed for the nearby integration point. Element
mid-side node values are obtained by averaging values of the adjacent corner nodes. Values of
invariants, principal values and directions are then computed from these nodal values. Values
of eective strain, Mises stress, energy density and state variables dependent on the material
model are taken as the integration point values for the four corner nodes and the averaged
Chapter 3 (Updated: 12-12-2011) 3.2-3 Elements and Material Models
Users Guide - WARP3D Tet Elements
Element property Keyword Mode Default Value
Geometrically linear formulation linear logical True
Geometrically nonlinear formulation nonlinear logical False
Material associated with element material label none
Order of integration order string see notes

Output (
ij
,
ij
) at integration points gausspts logical True
Output (
ij
,
ij
) at element nodes nodpts logical False
Output (
ij
,
ij
) at element center center output logical False
Output minimal set of (
ij
,
ij
) values short logical True
Output full set of (
ij
,
ij
) values long logical False
4pt rule is the default for tet10, 1pt rule is default for tet4. A 5pt rule is also available and may be
preferable (see discussion above).
Table 3.2.1 Properties for the tet elements.
values at mid-side nodes.
The center-point values of
ij
,
ij
are the simple numerical average of integration point
values. Values of invariants, principal values and directions are computed from these averaged,
center-point values. Values of eective strain, Mises stress, energy density and state variables
dependent on the material model are simply averaged.
The short option requests printing of a reduced set of output values. The invariants, prin-
cipal values and direction cosines are omitted. This is the default output option.
Note: in analyses with nonlinear material behavior, the stress values output at element
nodes are not those obtained by processing extrapolated or averaged nodal strains through
the nonlinear material model routines. This can lead, for example, to extrapolated or averaged
stresses at a node that do satisfy a yield criterion.
3.2.4 Mass Formulation
The element (diagonal) mass matrix is evaluated once at the start of computations for the rst
load step. Entries of the lumped mass are proportional to the diagonal entries of the element
consistent mass. The proportionality factor preserves the total mass of the element, e.g., the
sum of the diagonal terms for the v
i
accelerations equals the element mass. This procedure
always generates positive values for the lumped mass and leads to optimal convergence rates
with mesh renement.
The mass matrix diagonal term for each of the three accelerations at node i is then
m
e
ii
=
_
Ve
N
2
i
dV
e
(3.2.1)
where denotes the mass density of the undeformed material. N
i
denotes the usual interpolating
function for the element node i. The scaling factor is given by
Chapter 3 (Updated: 12-12-2011) 3.2-4 Elements and Material Models
Users Guide - WARP3D Tet Elements
=
_
Ve
dV
e
_
_
nen

k
_
Ve
N
2
k
dV
e
_
(3.2.2)
where nen denotes the number of element nodes. To compute the exact element volume with
highly curved edges, a 15-point rule is employed for the tet10 element. A 4-point rule is adopted
for the tet4 element.
Face No. Nodes
1 1--2--3
2 1--4--2
3 2--4--3
4 3--4--1
1
4
!
!
2
3
!
"
!
#
!
$
!$"!
#
"!
"
"!
!
Fig. 3.2.3. Location of integration points for tetrahedral elements. Note: Face numbers are the same as
used in Abaqus.
3.2.5 Element Loads
Loads available for these elements include body forces, face tractions, face pressures and uni-
form temperature changes. In addition, imposed nodal temperatures may dene a non-uniform
temperature eld over the element. Nodal and element temperature loads may be active simul-
taneously and can be mixed with other types of element loadings. A sequence of element load
denitions has the form
element (loads)
< elements : list > < type of loading and parameters >
< elements : list > < type of loading and parameters >

where the <type of element loading> is a body force, a face traction, a face (normal) pressure,
an aerodynamic pressure (piston loading), or a constant temperature over the element volume.
Chapter 3 (Updated: 12-12-2011) 3.2-5 Elements and Material Models
Users Guide - WARP3D Tet Elements
Body Forces
Body forces are specied by the intensity (units of F/L
3
) and the direction along one of the
coordinate axes. The body force intensity is constant over the element. The body force loads
are dened by the command
body (forces)
_
_
_
_
_
bx
by
bz
_
_
_
(=) < force intensity : number > (, )
_
_
Face Tractions
Tractions applied to the faces of elements may have a direction along one of the global coordi-
nate axes or a direction normal to the specied face. Figure 3.2.3 denes the face numbers. The
commands dene the loaded face of the element, the loading intensity (units of F/L
2
), and the
loading direction. When the traction is aligned with one of the coordinate axes, the command
has the form
face < face number : integer > (tractions)
_
_
_
_
_
tx
ty
tz
_
_
_
(=) < intensity : number > (, )
_
_
For a normal (pressure) loading, use a command of the form
face < face number : integer > pressure (=) < intensity : number >
where a positive value for the intensity denotes a load directed into the face, i.e., a positive
pressure loads the face in compression.
Piston Model Pressures
Aircraft structural elements generate unsteady aerodynamic pressure loads related to the uid
velocity and the local deformation. Piston theory provides a simple method to calculate approx-
imate aerodynamic pressures at relatively large ight Mach numbers on nearly plane surfaces
at a low inclination to the free stream. WARP3D incorporates a third order version of piston
theory as described in [1, 2] to dene the instantaneous pressure loading on surfaces of solid
elements exposed to the ow stream. The pressure is determined by
p
p
3
= 1 +
_
M
3

V
p
+
+ 1
4
M
2
3

V
2
p
+
+ 1
12
M
3
3

V
3
p
_
(3.2.3)
where p sets the local pressure on the aircraft surface, p
3
represents the undisturbed ow
pressure at the panels leading edge, denotes the isentropic exponent (equal to the specic
heat ratio of air), and M
3
provides the Mach number. The term

V
p
indicates the normalized
piston velocity, dened as having a direction normal to the approach ow at the panel leading
edge:
Chapter 3 (Updated: 12-12-2011) 3.2-6 Elements and Material Models
Users Guide - WARP3D Tet Elements

V
p
=

1
U
3
w
t
+
w
s

(3.2.4)
where U
3
denotes the velocity (magnitude) at the panels leading edge. The term w indicates
the displacement perpendicular to the aircrafts surface. Eq (3.2.4) includes partial derivatives
of w with respect to time and the direction of uid ow, s.
Piston loads are re-computed at the beginning of every load (time) step in the solution to
reect the current displacement derivatives with respect to time and ow direction in the above
equation and also possible changes in parameters required in Eq (3.2.3). The surface pressures
from the piston loading do not change during equilibrium iterations over a load (time) step.
Piston pressure values (p) are based on the geometry and displacements at the parametric
center of the element surface.
The following command sets piston loads on element surfaces:
face < face number : integer > piston < table : string >
A table of type piston must be dened prior to dening the piston loading command. The
piston table provides a loading history based on ow pressure, Mach number, velocity, isentropic
exponent, and the uid ow direction with time.
Uniform Temperature
A uniform temperature change over the element may be imposed through element loads. The
command has the form
temperature (=) < value : number > (, )
Multiple Loads Dened on Same Element
Element loads are additive if the same element number and loading direction appear in two
dierent loading commands the sum of two loads is applied to the model. An example sequence
to dene a loading condition and a set of element loads is
element loads
1-40 620-800 by 2 face 3 pressure -2.1 temperature 32.4
140 face 3 tractions tx -0.5 ty 14.34 tz 42.6
3256-4000 body forces bz 12.3 bx -32.4
20 body force bx -3
In the above example, element 20 has a normal pressure on face 3, a temperature increment, and
a body force in the x direction. Specications for dierent loading types for a list of elements
may be combined onto a single line if desired.
Large Displacement Eects on Loads
When the analysis includes geometric nonlinear eects (large displacements), equivalent loads
for the incrementally applied surface tractions and pressures are re-computed at the beginning
of each load step using the current (deformed) geometry of the elements.
Chapter 3 (Updated: 12-12-2011) 3.2-7 Elements and Material Models
Users Guide - WARP3D Tet Elements
3.2.6 Strains-Stresses for Large Displacement Formulation
The nonlinear property requests a geometrically nonlinear element formulation. See Section
3.1.6 for a complete discussion the tet and hex formulations are identical.
3.2.7 Temperature Gradients in tet4
When users specify temperatures at nodes of the model, non-zero temperature gradients may
occur across elements. Elements with linear displacement approximations behave very poorly
under such loadings (i.e., they exhibit shear locking). To alleviate this behavior, the element
processors that compute strains rst average the temperatures on the element nodes (imposed
through the structure level nodal temperature loadings) to construct a uniform temperature
change over the element. This value is added to any specied uniform temperature change
imposed through the element uniform temperature loads (described above).
3.2.8 Material Property Gradients in tet4
Materials with temperature dependent elastic properties or functionally graded materials (elas-
tic properties specied at model nodes) can generate strong gradients of strain and stress within
elements subjected to otherwise simple loadings. Elements with linear displacement elds may
develop severe locking under such conditions. To help alleviate this eect, a single set of material
properties is constructed and used in the computations for the tet4. A model constructed with
these elements then accommodates the gradient eects through the usual jumps in strain-stress
values across element boundaries.
Simple averaging of FGM properties specied for the model nodes incident on the element
or averaging of the temperatures for the element nodes before element level computations
accomplishes this smoothing eect.
3.2.9 Limitations on Current Use
The tetrahedral elements remain relatively new in WARP3D and as such are not yet fully
integrated into all parts of the code. The following limitations are noted at this time:
tet elements are not supported by the pre-conditioned conjugate gradient solver (PCG)
tet elements are not supported in J-integral computations (domains may not include tet
elements
tet elements are not supported by the patwarp program to perform domain decomposition
for MPI-based parallel execution (patwarp does support the tet elements in the model and
loading denition)
3.2.10 Examples
The following example illustrates the specication of hex elements in a model.
structure cct
c
material a533b
properties ....
c
number of nodes 25642 22092
Chapter 3 (Updated: 12-12-2011) 3.2-8 Elements and Material Models
Users Guide - WARP3D Tet Elements
c
elements
14000-22092 type tet10 nonlinear material a533b order 5pt_rule,
long center_output
2000-4000 type tet10 linear material a533b order 5pt_rule,
long gausspts
c
3.2.11 References
[1] M. J. Lighthill. Oscillating airfoils at high mach numbers. Journal of Aeronautical Sciences, Vol. 20,
No. 6, June 1953, pp. 402406.
[2] H. Ashley and G. Zartarian.Piston Theory A New Aerodynamic Tool for the Aeroelastician. Journal
of Aeronautical Sciences, Vol. 23, No. 12, December 1956, pp. 11091118.
Chapter 3 (Updated: 12-12-2011) 3.2-9 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
3.3 Interface-Cohesive Elements: inter 8, trint6, trint12
Interface elements provide a very general three-dimensional framework to model spontaneous
crack formation and/or crack extension. Mode I crack formation/growth over symmetry planes
becomes a simplied application of the more general 3-D, mixed-mode fracture conguration.
The interface elements consist of two generally non-planar, quadrilateral or triangular surfaces
which connect the congruent faces of two adjacent solid elements (hexahedrals and tets). The
higher-order, triangular interface element may have curved edges as well. When the surfaces
of the two adjacent solid elements deform, the interface element between them experiences
displacement jumps across the two surfaces which generate tractions following a user specied,
linear or nonlinear traction-separation relationship. In the initial undeformed conguration, the
nodes on the two surfaces of the interface elements (i.e., S

and S
+
) are most often dened to
be coincident although this is not a requirement (relatively thin interface elements may facilitate
mesh generation). The interface elements are intended for use with the cohesive constitutive
model described in Section 3.8 and with the crack growth processor dened in Section 5.4.
Figure 3.3.1 shows the three dierent types of interface elements presently available in
WARP3D. The element inter 8 consists of two, 4-node bilinear isoparametric surfaces and
connects the faces of two compatible solid elements (e.g., the l3disop). The two surfaces of
element trint6 have three nodes each and this element joins two 4-node tetrahedral (tet4)
elements. Finally, the element trint12 comprises two 6-node quadratic, parametric surfaces
and connects the faces of two 10-node tetrahedral (tet10) elements. The triangular interface
elements, together with tetrahedral solid elements, provide WARP3D with the capability to
simulate complex, 3-D fracture processes with crack turning and branching.
Finite element models with interface-cohesive elements may or may not have pre-existing
cracks. Interface-cohesive elements often are employed to model spontaneous crack formation
and then growth across multiple locations in the model under increased loading. Pre-exisiting
cracks in the model introduce no diculties in the use of interface-cohesive elements to simulate
their subsequent extension, branching, etc. and their inuence on the formation-extension of
other cracks in nearby material.
Essential concepts of the element formulation for nite deformation analyses are described
by Ortiz and Pandol [1] and others [2]. The present formulation casts the governing equations
on the current rather than initial conguration.
Much of the notation adopted here follows Section 3.8 which describes the cohesive consti-
tutive models.
3.3.1 Element Formulation
This section describes details of the formulation of a general interface element consisting of
2 nnode nodes, where nnode = 4, 3 and 6, for inter 8, trint6 and trint12, respectively.
The interface-cohesive element formulation supports both geometrically linear and nonlinear
(large displacement) analyses. Linear or nonlinear traction-separation, cohesive relationships
(Section 3.8) are assigned to the elements to dene the constitutive response. For geometrically
nonlinear elements, the true traction (Cauchy traction computed in the current conguration)
denes the stress measure for the interface constitutive behavior. For the geometrically linear
(small-displacement) formulation, the traction-separation law employs a stress measure based
on the initial, undeformed conguration.
Chapter 3 (Updated: 6-5-2013) 3.3-1 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
b
d
c
g
a e
f
h
!"#$%&'
h d
f
a
b
e
a
a
b
c c
d
d
e e
f f
#%!"#(
a
a
b
c c
d
g
e
h
i
f
#%!"#)*
f
g
h
i
j j
k k
I
I
Fig. 3.3.1 Assembly of various interface-cohesive elements with two solid elements. Note that the trint12
element may have curved edges.
Consider an interface element with 2 nnode nodes. Nodes 1 nnode lie on the bottom
surface of the element, while nodes (nnode + 1) 2 nnode reside on the top surface. The
mesh generation process should make each pair of top and bottom surface nodes geometrically
coincident in the undeformed conguration (this is not strictly required). Each node has three
translational displacements (u
1
, u
2
, u
3
) in the global Cartesian coordinate system of the model
(X
1
, X
2
, X
3
). The 6nnode nodal displacement vector, d, for the element in global coordinates
may be written
d = (u
1
, u
2
, ...u
2nnode
, v
1
, v
2
, ...v
2nnode
, w
1
, w
2
, ...w
2nnode
)
T
. (3.3.1)
Note the ordering of nodal displacements: u for all nodes with bottom nodes rst, then v, w
for all nodes in the same ordering.
The use of standard interpolation functions enables construction of the continuous displace-
ment elds in global coordinates at each point on the bottom surface, u
b
31
, and on the top
surface, u
t
31
. Writing the displacement functions as u
61
=

u
b
, u
t

T
, we have
u
61
(
1
,
2
) = N
6(6nnode)
d
(6nnode)1
(3.3.2)
Chapter 3 (Updated: 6-5-2013) 3.3-2 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
where the matrix N contains the usual interpolation functions expressed in parametric (surface)
coordinates, N (
1
,
2
) = [N
1
(
1
,
2
) , N
2
(
1
,
2
) , ..., N
nnode
(
1
,
2
)], according to
N =

N 0 0 0 0 0
0 0 N 0 0 0
0 0 0 0 N 0
0 N 0 0 0 0
0 0 0 N 0 0
0 0 0 0 0 N

6(6nnode)
(3.3.3)
where 0 = [0, 0, ..., 0
nnode
]. Figures 3.3.2, 3.3.3, and 3.3.4 show the parametric coordinates
adopted to describe the interface elements. The inter 8 element uses parametric coordinates
(
1
,
2
) to dene surface locations. The triangular interface elements use natural area coordi-
nates such that the three parametric coordinates (
1
,
2
,
3
) are coupled by the usual relation

1
+
2
+
3
= 1.
Global coordinates for points (
1
,
2
) on a surface of the element are found with usual
interpolation of nodal coordinates
X
1
(
1
,
2
) =
nnode

N
i
(
1
,
2
) X
1(i)
(3.3.4)
X
2
(
1
,
2
) =
nnode

N
i
(
1
,
2
) X
2(i)
(3.3.5)
X
3
(
1
,
2
) =
nnode

N
i
(
1
,
2
) X
3(i)
(3.3.6)
where the coordinates for nodes i : 1 nnode refer to those on the bottom surface, the top
surface or for the large displacement formulation the average of top and bottom surface nodal
coordinates to construct a mid-surface.
With these (interpolated) continuous displacement elds at each point on the bottom and
top surfaces, the jump displacement elds (top surface bottom surface) corresponding to
common points in parametric coordinates on the two surfaces is dened by
u
31
(
1
,
2
) = L
36
u
61
(
1
,
2
) (3.3.7)
where the operator matrix L has the simple form
L =

1 0 0 +1 0 0
0 1 0 0 +1 0
0 0 1 0 0 +1

(3.3.8)
where the ordering of terms in each row of L sets the positive sense of jump displacements
as top bottom surface values. Using the above expressions, the relation between element
nodal displacements and the continuous (jump) displacement elds over the element in global
coordinates has the form
u(
1
,
2
) = LNd . (3.3.9)
Cohesive constitutive models link: (1) displacement jumps normal to the top and bottom
surfaces with a corresponding normal traction, and (2) displacement jumps (sliding) in the tan-
gent plane to shear tractions. In general, the identication of normal and sliding displacements
Chapter 3 (Updated: 6-5-2013) 3.3-3 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
requires a transformation of global displacements at nodes on the top and bottom surfaces of
the element to a local (orthogonal) tangent-normal coordinate system (the same as required in
beam and shell elements to identify axial and shear displacements).
Let matrix R
33
dene the rotational transformation for vectors expressed in the global
reference frame X (X
1
, X
2
, X
3
) to an element specic, local orthogonal system (t
1
, t
2
, n) [see
Figs. 3.3.2, 3.3.3, and 3.3.4]. The direction n lies normal to a tangent plane for the element
constructed at location (
1
=
2
= 0) and the (orthogonal) directions t
1
, t
2
lie in the tangent
plane. Positive senses are indicated on the gure with n directed (positive) from S

to S
+
. For
trint6 and trint12, the tangent plane constructed at (
1
=
2
=
3
= 1/3) is used to form R.
Construction of R follows this sequence:
translate element nodes such that element node 1 lies at X = 0;
dene a set of element orthogonal coordinates (x
1
, x
2
, x
3
) where x = X. Construct the
rotation matrix such that x
3
lies normal to the plane containing element nodes 1, 2 and
3. x
2
is in direction of x
3
L
1-2
; with x
1
= L
1-2
/||L
1-2
|| where L
1-2
denotes a vector from
node 1 to 2;
compute the set of coordinates x for each element node i, x
(i)
= X
(i)
compute the coordinate Jacobian, J
23
(in terms of x
1
, x
2
, x
3
) at parametric location (0, 0)
where J
i,j
= x
j
/
i
. This yields two vectors (

t
1
,

t
2
) in the tangent plane but that are not
necessarily orthogonal, e.g.,

t
1
= J
1,1
i
1
+J
1,2
i
2
+J
1,3
i
3
where i
1
, i
2
, and i
3
are unit vectors
aligned with the x axes.
compute n =

t
1

t
2
/||

t
1

t
2
||
compute t
1
=

t
1
/||

t
1
||; then t
2
= n t
1
dene rotation matrix

= [t
1
t
2
n]
T
R =

denes the global - to - tangent plane rotation for displacements.
This same R is used for all parametric locations within the element. This introduces a small
approximation for initially non-planar interface elements. For the geometrically linear formu-
lation, all element level computations refer to the undeformed nodal coordinates and thus R
remains xed over the loading history.
In geometrically nonlinear analyses, the deformed shape-orientation of the interface element
at time t is employed in computations, X
t
= X
0
+ u
t
. The computations construct a middle
surface of the cohesive element in the current conguration using averaged displacements of
corresponding S

and S
+
nodes. The middle surface provides the basis to compute t
1
, t
2
, n
and then R as outlined above (see Fig. 3.3.5).
Finally, the vector of displacement jumps dened relative to the tangent plane and normal
direction at each pair of top and bottom surface nodes, = (
t1
,
t2
,
n
), is given by
= Bd = RLNd . (3.3.10)
Rates (increments) of the displacement jumps and cohesive tractions may be coupled in stan-
dard form through a tangent modulus matrix, D
33
, such that

T = D

(3.3.11)
where

T =


T
t1
,

T
t2
,

T
n

T
and D
ij
= T
i
/
j
.
Chapter 3 (Updated: 6-5-2013) 3.3-4 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
1
2
3
S
+
S

4
3
6
7
8
n
t
1
t
2

2
(1,3)
(3,7)
(2,6)
(4,8)
arameLrlc CoordlnaLes of nodes
lnLegrauon 8ules
olnL

1

2
1 -a -a
2 a -a
3 a -a
4 -a a
2x2gs" (Causs): a = 0.37733
2x2nd" (newLon-CoLes): a = 1.0
node

1

2
1 -1 -1
2 1 -1
3 1 1
4 -1 1
5 -1 -1
6 1 -1
7 1 1
8 -1 1
lnlually Zero
X
1
X
2
X
3
Fig. 3.3.2: Local node numbering for inter 8. Isoparametric coordinates for the element corner nodes
and location of integration points are listed.
3.3.2 Geometrically Linear Elements
The nite element equilibrium equations are derived from the principle of virtual displacements.
In the absence of inertia forces, the virtual work expression for a body containing a cohesive
surface can be expressed in the form,

V
0

T
dV +

S
0-coh

T
T dS
coh
=

S
0-ext
d
T
T
ext
dS +

V
0
d
T
F
ext
dV . (3.3.12)
Here denotes the stress tensor, T
ext
the 3 1 the externally applied tractions on the portion
of the boundary S
0-ext
in the undeformed conguration, with body forces F
ext
. V
0
and S
0-coh
denote volume and internal cohesive areas in the undeformed conguration, respectively. d
represents the virtual displacement vector and the corresponding variations of the usual
(small) strain tensor. For the interface-cohesive elements, = Bd.
Application of standard nite element procedures yields the (global) nodal force vector for
each interface element as
f
(6nnode)1
=

1
1

1
1
B
T
T J
0
d
1
d
2
for inter 8 (3.3.13)
f
(6nnode)1
=

1
0

1
0
B
T
T J
0
d
1
d
2
for trint6 and trint12 (3.3.14)
Gauss or Newton-Cotes integration is applied for the quadrilateral element dened over the
parametric, bi-unit square (Fig. 3.3.2); integration over the triangle elements employs area coor-
dinates over the parametric, unit triangle (Figs. 3.3.3, 3.3.4). The area scale factor J
0
(
1
,
2
) =
||

t
1
(
1
,
2
)

t
2
(
1
,
2
)||.
Chapter 3 (Updated: 6-5-2013) 3.3-5 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
For the implicit solution procedures used in WARP3D, the global tangent stiness matrix
of dimensions (6 nnode) (6 nnode) for the interface elements is given by
K
T
=

1
1

1
1
B
T
DB J
0
d
1
d
2
for inter 8 (3.3.15)
K
T
=

1
0

1
0
B
T
DB J
0
d
1
d
2
for trint6 and trint12 . (3.3.16)
Since B contains R (Eq. 3.3.10), the nodal force vector f and element stiness K
T
are com-
puted directly in the global X coordinate frame.
3.3.3 Geometrically Nonlinear Elements
The virtual work expression for a body containing a cohesive surface can be written in the
form,

T
dV +

S
coh

T
T dS
coh
=

Sext
d
T
T
ext
dS +

V
d
T
F
ext
dV . (3.3.17)
Here denotes the (symmetric) Cauchy stress tensor, T
ext
the 3 1 the externally applied
tractions on the portion of the boundary, S
ext
in the deformed conguration, with body forces
F
ext
. V and S
coh
are the current volume and current internal cohesive areas, respectively. The
tractions, T, acting across internal cohesive surfaces now refer to the current conguration.
The (global) nodal force vector for the nonlinear interface element is given by
f
(6nnode)1
=

1
1

1
1
B
T
(x
n+1
) T
n+1
J
n+1
d
1
d
2
for inter 8 (3.3.18)
f
(6nnode)1
=

1
0

1
0
B
T
(x
n+1
) T
n+1
J
n+1
d
1
d
2
for trint6 and trint12 (3.3.19)
where J
n+1
denotes the Jacobian of the transformation for dierential surface areas (see detailed
notes in previous section). Further, t represents the tractions acting on the internal cohesive
surfaces having size, shape and orientation at n + 1. The tractions T
n+1
to corresponding
the displacement jumps
n+1
between S

and S
+
surfaces in the current conguration are
provided by the cohesive constitutive model. The incremental displacement jumps that drive
updating of cohesive tractions from load step n n + 1 are given by
= B(x
n+1
) d = R
n+1
L N d (3.3.20)
where R is evaluated following details provided earlier using the end of step conguration of
the reference surface.
The global tangent stiness matrix (6 nnode) (6 nnode) for the nonlinear interface
elements is given by
K
T
=

1
1

1
1
B
T
(x
n+1
) DB(x
n+1
) J
n+1
d
1
d
2
for inter 8 (3.3.21)
K
T
=

1
0

1
0
B
T
(x
n+1
) DB(x
n+1
) J
n+1
d
1
d
2
for trint6 and trint12 . (3.3.22)
Chapter 3 (Updated: 6-5-2013) 3.3-6 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
where numerical experiments indicate that omission of initial stress and non-symmetric terms
in K
T
do not adversely degrade convergence rates of the global Newton iterations load steps
must necessarily be quite small to track realistically the change in cohesive tractions with
deformation.
arameLrlc CoordlnaLes of nodes
node

1

2
1 1 0
2 0 1
3 0 0
4 1 0
5 0 1
6 0 0
X
1
X
2
X
3
A
1
A
2
A
3
(1,4)
(3,6)
(2,3)

1
=
A
1
A

2
=
A
2
A

3
=
A
3
A

1
+
2
+
3
= 1

1
= 0

2
= 0

3
= 0
1
2
3
S
+
S

4
3
6
n
t
1
t
2
lnlually Zero
lnLegrauon 8ules
olnL

1

2
1 2/3 1/6 1/6
2 1/6 2/3 1/6
3 1/6 1/6 2/3

3
1 1/2 1/2 0
2 0 1/2 1/2
3 1/2 0 1/2
3pL_rule"
3mpL_rule"
1 1/3 1/3 1/3 1pL_rule"
uefaulL: 3mpL_rule"
Fig. 3.3.3: Local node numbering for trint6. Natural (area) coordinates for the element corner nodes and
location of integration points are listed.
3.3.4 Treatment of Interface Compression for Nonlinear Elements
For geometrically nonlinear analyses, the rotation matrix R is computed (by default) using
a middle surface constructed by averaging the deformed S

and S
+
surfaces of the interface
element. When the interface element experiences a net compressive traction, the S

and S
+
sur-
faces may experience interpenetration. For such elements, the middle surface and corresponding
normal direction are computed using the element nodal coordinates in the undeformed con-
guration. However, the traction is computed using the deformed, middle surface area in the
current conguration.
To detect interpenetration of the top and bottom surfaces, the code treats the interface
element as an equivalent solid element. The Jacobian matrix of the transformation from para-
metric to (deformed) Cartesian coordinates is computed at the parametric center of the element.
Elements with a negative determinant for the Jacobian matrix are treated as having interpen-
etration of the top and bottom surfaces. The stiness and internal forces for these elements are
calculated assuming a linear normal traction (compressive) vs. normal relative displacement
(penetration) response. The stiness of this linear response is taken as a user-dened factor
times the slope of the tensile traction-separation curve at the origin (see Section 3.8). Even
though some interpenetration may actually occur prior to detection, the solution process does
attempt to remove/correct the situation through the application of restoring (penalty) forces.
The use of suitably small load steps is thus advised when conditions of interpenetration are
Chapter 3 (Updated: 6-5-2013) 3.3-7 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
expected in regions of the applied loading history.
These additional checks for interpenetration take place only for the element formulation
with large displacements. For the small-displacement formulation, element computations are
performed using the initial, undeformed conguration. In such cases, negative normal displace-
ments at an integration point lead to use of the compressive stiness of the constitutive model.
3.3.5 Node and Integration Point Ordering
The stiness matrix and internal forces of the interface element are evaluated using numerical
quadrature over the reference surface. For geometrically linear elements, all computations take
place using the initial (undeformed) conguration the S

and S
+
surfaces remain identical
and dene the unique reference surface. For geometrically nonlinear elements, integration takes
place over the middle surface, unless the user overrides this default in the presence of symmetry
planes (see subsequent section). Figures 3.3.2, 3.3.3, and 3.3.4 show the node ordering and
orientation of the parametric axes (
1
,
2
) for the quadrilateral element and or (
1
,
2
,
3
) for
the triangular elements.
Two integration schemes are available for the inter 8 element: (a) 2 2 Gauss quadrature
rule 2x2gs, or (b) a 22 Newton-Cotes rule 2x2nd which has sampling points located at the
element nodes. Figure 3.3.2 shows the locations of integration points in parametric coordinates
for these integration schemes. Experience shows the best choice of an integration rule depends on
features of the cohesive constitutive model for the interface. (see [3] for an extensive discussion
of this issue). For a linear-elastic, cohesive model with very high stiness, the Newton-Cotes
scheme provides better numerical stability and accuracy. For a nonlinear traction-separation
model, the Newton-Cotes scheme may lead to oscillatory displacement proles behind a crack
front. The Gauss integration scheme eliminates this undesirable response.
The rules and the sampling points for numerical integration over the triangular elements
trint6 and trint12 are shown in Figs. 3.3.3, and 3.3.4, respectively. Again, some experimentation
may be required to set the most suitable integration scheme for (very) sti linear cohesive
models and for the various nonlinear cohesive models available.
3.3.6 Ensuring Proper Element Orientation
The interface-cohesive elements consist of two, initially coincident (or very nearly coincident)
surfaces with a key role played in the formulation by the normal direction to the surfaces.
Consequently, users must specify the incidences for the element (node ordering) to insure proper
orientation of the normal. The following rules apply:
The incidence list for the element must have all nodes of one surface listed rst, followed
by those nodes of the other surface.
The nodes on the rst surface should appear in an order such that the normal vector to
the surface, dened by a right-hand rule, points away from the corresponding face of the
attached solid element (or symmetry plane) and into the interface element.
The rst node of the second surface must coincide with the rst node of the rst surface.
The remaining nodes of the second surface should follow the same order as that of the rst.
With reference to inter 8 element shown in Fig. 3.3.1, the ordering rule can be interpreted as
follows. Consider 2 vectors: one constructed using the rst node listed in the element incidences
Chapter 3 (Updated: 6-5-2013) 3.3-8 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
to the second node in the list (vector ab); the second vector from the rst node to the last node
in the incidence list (vector ad). The cross product of these two vectors (ab ad) must point
away from the attached solid (with surface a-b-c-d in the gure) or away from a symmetry
plane. This interpretation also holds for the triangular interface elements.
1
2
3
4
3
6
7
8
9
10
11
12
S
+
S

n
t
1
t
2
lnlually Zero
arameLrlc CoordlnaLes of nodes
node
1

2
1,7 1 0
2,8 0 1
3,9 0 0
4,10 1/2 1/2
5,11 0 1/2
6,12 1/2 0
A1
A2
A3
(1,7)
(3,9)
(2,8)

1
=
A
1
A

2
=
A
2
A

3
=
A
3
A

1
+
2
+
3
= 1

1
= 0

2
= 0

3
= 0
lnLegrauon 8ules
olnL
1

2
1 1/3 1/3 1/3
2 3/5 1/5 1/5
3 1/5 3/5 1/5
4 1/5 1/5 3/5

3
4pL_rule"
3mpL_rule" & 3pL_rule" also avallable
uefaulL: 7pL_rule"
6pL_rule"
a1 = 0.8168 b1 = 0.0916
a2 = 0.1081 b2 = 0.4459
olnL
1

2

3
1 a1 b1 b1
2 b1 a1 b1
3 b1 b1 a1
4 a2 b2 b2
5 b2 a2 b2
6 b2 b2 a2
a0 = 1/3
a1 = 0.7974 b1 = 0.1013
a2 = 0.0597 b2 = 0.4701
1 a0 a0 a0
2 a1 b1 b1
3 b1 a1 b1
4 b1 b1 a1
5 a2 b2 b2
6 b2 a2 b2
7 b2 b2 a2
olnL
1

2

3
7pL_rule"
X
1
X
2
X
3
Fig. 3.3.4: Local node numbering for trint12. Natural (area) coordinates for the element corner nodes
and location of integration points are listed.
3.3.7 Special Procedure for Mode I Loading (Geometric Nonlinear)
Consider mode I crack growth over a symmetry plane in a nite element mesh. Interface-
cohesive elements specied over the crack plane dene the remaining (uncracked) ligament and
constrain the crack to grow only in the symmetry plane, e.g., planar surface breaking or buried
cracks, and planar through-thickness cracks. Interface-cohesive elements readily model non-
uniform extension along the front of a surface/buried crack or tunneling in through-thickness
crack.
In such a model, nodes of an interface-cohesive element either on the bottom ( S

)
surface (nodes 1 nnode) or the top (S
+
) surface (nodes nnode + 1 2 nnode) are
incident (connected) to the adjacent solid elements. The surface of an interface-cohesive el-
ement connected to an adjacent solid element is referred to as the reference surface in this
discussion. Those nodes on the symmetry plane must have user-specied constraints to enforce
zero displacements normal to the crack plane over the remaining ligament (other constraints
Chapter 3 (Updated: 6-5-2013) 3.3-9 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
X
1
X
2
X
3
!
#
$
S
+
S

%
&
'
n
t
1
t
2
(
)
*+,-./012
Fig. 3.3.5: By default, the local coordinate system for a geometrically nonlinear cohesive element is
dened with respect to the mid-plane (surface middle) of the deformed conguration. For symmetric
models with the geometric nonlinear formulation, specify which surface top or bottom of the interface
element connects to the adjacent solid element.
on displacement components of nodes in the symmetry plane may be needed based on mesh
layout and model features).
During mode I growth, the top and bottom faces of the interface elements gradually sepa-
rate. In small displacement analyses (geometrically linear), all computations for the interface
elements occur in the initial (undeformed) conguration. The top and bottom surfaces are
geometrically identical in the initial conguration. This is also the reference surface for all
subsequent computations. No issues arise in the denition and computations of models with
symmetry planes.
For general meshes and loading with large displacement solutions (geometrically nonlinear),
the current element geometry is dened (by default) using the deformed middle surface as indi-
cated in Fig. 3.3.5. This surface is constructed from the average of deformed coordinates for each
pair of top and bottom surface nodes. But with models having an interface element connected
to a symmetry plane, computations must adopt the reference surface as the one connected to
the adjacent solid element. The interface nodes on this surface experience displacement changes
caused by Poisson eects in the solid element. WARP3D cannot determine which surface of
an interface element is connected to the adjacent solid element without additional user input.
The user must specify the reference surface as either bottom (nodes: 1 nnode) or top (nodes:
nnode + 1 2 nnode) depending on which surface of the interface element is connected to
the adjacent solid element as dened by the element orientation in the mesh through the inci-
dence list. The keywords surface top or surface bottom in the element property values are
used to indicate the reference surface for interface elements with the geometrically nonlinear
formulation. This option is ignored for geometrically linear elements.
In view of the above discussion, we recommend the following procedure to model mode
I crack growth: (1) constrain the displacement normal to the symmetry plane as necessary
Chapter 3 (Updated: 6-5-2013) 3.3-10 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
to dene the initial crack size/shape or other model features, (2) for geometrically nonlinear
analyses, specify the surface of the interface elements connected to the adjacent solid elements
(surface top or surface bottom ), (3) the cohesive material must have a non-zero resistance
to sliding displacement jumps to preclude singularities in the equilibrium equations, and (4)
properties of the cohesive material (see Section 3.8) may require adjustment to reect the
symmetry conditions (i.e., only one-half of the opening displacement is computed by the inter-
face element). When mode I growth is modeled with a nite element mesh that does not take
advantage of symmetry conditions, this issue of reference surfaces never arises.
Element property Keyword Mode Default Value
Geometrically linear formulation linear logical True
Geometrically nonlinear formulation nonlinear logical False
Reference surface (nonlinear formulation only) surface string middle

Integration rule for K


T
and f: inter 8 order string 2x2gs

2x2nd
Integration rule for K
T
and f: trint6 order string 1pt rule
3pt rule

3mpt rule
Integration rule for K
T
and f: trint12 order string 3pt rule
3mpt rule
4pt rule
6pt rule
7pt rule

Output of tractions and displacement jumps at center center logical False


When interface elements are connected to a symmetry plane in nite element models with the
nonlinear formulation, the reference surface must be declared either top or bottom and denes
which element surface connects to the adjacent solid element.

default integration order


Table 3.3.1 Properties for the interface-cohesive elements.
3.3.8 Element Properties
Table 3.3.1 summarizes the user-assignable values that control the response of interface ele-
ments. Available integration schemes for each element type are listed with (*) indicating the
default value.
3.3.9 Output
Printed strain-stress results may be obtained at the integration points (default), or at the para-
metric center-point of the element. For this element, stresses refer to the tractions (T
t1
, T
t2
, T
n
)
Chapter 3 (Updated: 6-5-2013) 3.3-11 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
and strains refer to the displacement jumps (
t1
,
t2
,
n
) both in the local mid-plane coordi-
nate system (t
1
, t
2
, n) shown in the gures of this section.
To provide a more complete description of results, additional output quantities are printed
based on the type of cohesive model associated with the element cohesive models linear intf,
exp1 intf and ppr described in Section 3.8. Tables below summarize the output values.
Stress label
Quantity
Strain label
Quantity
shear-1
T
t1
shear-1

t1
shear-2
T
t2
shear-2

t2
shear
T
s
=

T
2
t1
+ T
2
t2
shear

s
=

2
t1
+
2
t1
normal
T
n
normal

n
gamma
= 1/2 (T
T
)
gamma ur
0
Table 3.3.2 Output values for interface-cohesive elements using cohesive material option linear intf.
Stress label
Quantity
Strain label
Quantity
shear-1
T
t1
shear-1

t1
shear-2
T
t2
shear-2

t2
shear
T
s
=

T
2
t1
+ T
2
t2
shear

s
=

2
t1
+
2
t1
normal
T
n
normal

n
e
T =

2
T
2
s
+ T
2
n
e
=

2
s
+
2
n
e/peak
T/

T
p
e/peak
/

p
gamma
=

0
T
T
d
gamma ur
1/2 (T
T
)
Table 3.3.3 Output values for interface-cohesive elements using cohesive material option exp1 intf.
See Section 3.8 for denitions of ,

T
p
and

p
.
The center-point values of are the simple numerical average of integration point values.
Binary packet quantities when requested are those shown in these tables. See also Appendix E.
When the interface element is made killable in the analysis through the associated, cohesive
material model (Section 3.8) and crack growth procedures (Section 5.4), the crack growth
processors output a summary of similar quantities for each interface element at the beginning
of each load step.
3.3.10 Examples
The following examples illustrate the specication of interface elements in a model.
Chapter 3 (Updated: 6-5-2013) 3.3-12 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
Stress label
Quantity
Strain label
Quantity
shear-1
T
t1
shear-1

t1
shear-2
T
t2
shear-2

t2
shear
T
s
=

T
2
t1
+ T
2
t2
shear

s
=

2
t1
+
2
t1
normal
T
n
normal

n
shr/peak
T
s
/T
tp
shr/peak

s
/
tp
nml/peak
T
n
/T
np
nml/peak

n
/
np
gamma
=

0
T
T
d
gamma ur
1/2 (T
T
)
Table 3.3.4 Output values for interface-cohesive elements using cohesive material option ppr. See
Section 3.8 for denitions of T
tp
, T
np
,
tp
, and
np
.
structure ct
material background type mises
properties ....
material interface type cohesive
properties ....
.
.
number of elements 36000 element 60000
elements
1-34000 type l3disop linear material background ...
34001-36000 type inter_8 linear material interface order 2x2gs
And,
structure mt
material background type mises
properties ....
material interface type cohesive
properties ....
.
.
number of elements 100000 element 60000
elements
Chapter 3 (Updated: 6-5-2013) 3.3-13 Elements and Material Models
Users Guide - WARP3D Interface-Cohesive Elements
1-45000 type tet10 nonlinear material background ...
45001-54000 type trint12 nonlinear material interface,
order 7pt_rule surface middle center
3.3.11 References
[1] M. Ortiz and A. Pandol. Finite-Deformation Irreversible Cohesive Elements for Three-Dimensional
Crack-Propagation Analysis. International Journal for Numerical Methods in Engineering, 44, pp. 1267-
1282, 1999.
[2] J. Segurado and J. Llorca. A New Three-Dimensional Interface Finite Element to Simulate Fracture
in Composites. International Journal of Solids and Structures, 41, pp. 2977-2993, 2004.
[3] J.C.J. Schellekens and R. De Borst. On the Numerical Integration of Interface Elements.International
Journal for Numerical Methods in Engineering, 36, pp. 43-66, 1993.
Chapter 3 (Updated: 6-5-2013) 3.3-14 Elements and Material Models
Users Guide WARP3D Material deformation
3.4- 1 Chapter 3 Elements and Material Models
3.4 Material Model Type: deformation
The flow or incremental theory of plasticity with a Mises yield surface has been extensively
employed in elasticplastic analyses. Alternatively, nonlinear deformation can be described
by a deformation" theory which assumes that the strain path at each material point re
mains linear (proportional) over the full range of loading. Deformation plasticity is actually
a nonlinear elasticity" theory. For a proportional strain path, deformation and incremental
plasticity theories provide identical results. Deformation plasticity does not correctly model
the pathdependent behavior of inelastic materials for radical departures from propor
tional loading.
Deformation plasticity offers significant savings of computational effort compared to
flow theory plasticity. Much larger load steps may be imposed on the model and only a few
Newton iterations are needed for convergence at each load step. The number of computa
tions performed in the material model is greatly reduced compared to a general incremental
theory model since there is no explicit yield surface to complicate matters. Solutions tend
to be very stable compared to those for flow theory especially when a region of the model
contains large strain gradients, e.g., at a crack. This material model satisfies the explicit
requirements to obtain path independent values of the Jintegral and is often used in such
computations.
The model employs a representation of the uniaxial (tensile) stressstrain curve consist
ing of three parts: an initial, linear response followed by a small circular transition to a
pure, powerlaw model. The material model provides support for functionally graded mate
rials (FGMs) with properties specified at nodes of the finite element model (see Section
2.2.5).
The model offers two approaches to describe the production of thermal strain incre
ments in response to temperature changes imposed in the analysis: isotropic and anisotro
pic. Isotropic refers to the conventional description which uses the same thermal expansion
coefficient (alpha) for each normal strain component with zero thermal strain increments
generated for the shear components. The anisotropic model enables definition of a unique
thermal expansion coefficient for each of the 6 strain components; it is intended to support
modeling of various initial strainstress fields, for example, residual stresses imposed
through an eigenstrain approach.
The model supports only a smallstrain formulation, temperature independent and
strainrate independent response. The assumptions of purely proportional loading in the
model are questionable at best when finite strains and large rotations of material elements
occur.
3.4.1 Formulation and Computational Procedures
The uniaxial stressstrain curve for the material is represented by the following relations
(refer to Fig. 3.12):

0
+
s
s
0
for
s
s
0
vK
1
(3.41)

0
+
Nc
* r
2
Nc
*
s
s
0
* s
Nc

for
K
1
v
s
s
0
vK
2 (3.42)

0
+
s
s
0

n
for
s
s
0
uK
2
(3.43)
Users Guide WARP3D Material deformation
3.4- 2 Chapter 3 Elements and Material Models
where,

0
reference stress (yield stress)
reference stress (yield stress) s
0
n
hardening exponent for power law region
K
1
, K
2
lower, upper stress limits for transition

Nc
, s
Nc
center of circular transition arc
r
Nc
radius of transition arc

0
ss
0
0 1 2 3 0.5 1.5 2.5
0.5
1
1.5
2
0
K
1
K
2
(
Nc
, s
Nc
)
r
Nc
Linear
PowerLaw
Transition
FIG. 3.12Uniaxial (tensile) stressstrain curve for the deformation" plasticity
material model.
Given the linear limit, K
1
, the model is able to compute the upper limit for the transition,
K
2
, based on the hardening exponent as well as the center of the small transitional arc and
the corresponding radius. K
1
has the value 0.95.
Using an effective stress defined from the von Mises yield function and an effective
strain defined from the PrandtlReuss relations, the total stress components in terms of the
total strain components are given by:
Users Guide WARP3D Material deformation
3.4- 3 Chapter 3 Elements and Material Models
s
ij
s
0
+
1
3(1 *2n)

kk

0
d
ij
)
2
3
s
e
s
0
e
e

0
e
ij

0
(3.44)
where the effective stress and strain are defined by:
s
2
e
+
1
2

(s
11
*s
22
)
2
)(s
22
*s
33
)
2
)(s
33
*s
11
)
2
)6(s
2
12
)s
2
23
)s
2
13
)

(3.45)
e
2
e
+
2
9

(
11
*
22
)
2
)(
22
*
33
)
2
)(
33
*
11
)
2
)
3
2
(g
2
12
)g
2
23
)g
2
31
)

(3.46)
Here the total thermal strains, a
ij
(T *T
ref
), are first subtracted from the total strains com
puted from the displacement field. Full details of the formulation may be found in the Ap
pendix of the thesis by Wang [97].
3.4.2 Model Properties
The properties defined for material model deformation are listed in Table 3.4.
The thermal expansion coefficient(s) can be: (1) isotropic and temperature independent
or (2) anisotropic and temperature independent. For case (1), specify the value of alpha in
the material definition. For case (2), specify the anisotropic values through the material
properties or through the separate thermal expansion coefficients command (see Section
2.2.6).
The deformation model provides support for analyses of functionally graded materials
(FGMs). The properties e, nu, rho, yld_pt, n_power, and alpha may be specified at the model
nodes using the commands described in Section 2.2.5. These properties do not vary with
temperature or loading rate, and the thermal expansion must be isotropic. To indicate that
a material property value at points within elements should be interpolated from the nodal
values, simply replace the numerical value for the property in the material definition com
mands with the string fgm.
Model Property Keyword Mode
Default
Value
Youngs modulus
(})
e Number 30000
Poissons ratio
(})
nu Real 0.3
Mass density
(})
rho Real 0.0
Reference yield stress (s
0
)
(})
yld_pt Number 0.0
Power law exponent (n)
(})
n_power Number 0.0
Thermal expansion coefficient
for isotropic response
(})
alpha Number 0.0
Thermal expansion coefficients
for anisotropic response
alphax, alphay,
alphaz, alphaxy,
alphaxz, alphayz
Number 0.0
Users Guide WARP3D Material deformation
3.4- 4 Chapter 3 Elements and Material Models
(})
property may be specified at model nodes to define functionally graded materials
Table 3.4 Properties for deformation Material Model
3.4.3 Model Output
By default, the material model prints no messages during computations unless the numeri
cal algorithms fail to converge. If requested, the material model prints the element number
and strain point number whenever the effective stress first exceeds the specified yield
stress. This option is requested with the nonlinear solution parameter material messages
on (refer to Section 2.10.8)
The model makes available the exactly integrated strain energy density, U
0
, to the ele
ment routines for subsequent output.
The element stress output contains one value for the material model. This value is the
effective plastic" strain given by:
mat_val1: accumulated plastic strain,

p
+
0

s
e
s
0

n
*
s
e
E
3.4.4 Computational Efficiency
The computational routines for this model process elements in blocks of a size matched to
the vector length of the computer (i.e., Crays) or to the cache size of the workstation. All
model computations are written in vectorized code except for the local Newton loop to up
date the scalar stress s
e
using the uniaxial stressstrain curve in Fig. 3.12. Compared to
the general ratedependent Mises model discussed later, this model is computationally
more efficient. It is, however, slower than the fully vectorized bilinear model with constant
hardening described in the following section.
3.4.5 Examples
The following example defines the properties for a mild steel material frequently used in
fracture models and assigns the material to some elements. The anisotropic thermal expan
sion coefficients are employed, for example, model an initial, residual stress field.
structure cct
c
material a516
properties deformation e 30000 nu 0.3 yld_pt 60.0 n_power 10
rho 7.3e-07 alphax 1.2e-06 alphay 3.2e-06 alphaz 5.3e-05
c
number of nodes 25642 22092
c
elements
14000-22092 type l3disop linear material a516 order 2x2x2,
long bbar
c
The following example defines the properties for a functionally graded material where all
properties but Poissons ratio vary spatially over the model (Poissons ratio can also vary
if required).
Users Guide WARP3D Material deformation
3.4- 5 Chapter 3 Elements and Material Models
structure cct
c
c
material graded_titanium_fgm
properties deformation e fgm nu 0.25 yld_pt fgm n_power fgm,
rho fgm alpha fgm
c
number of nodes 25642 elements 22092
c
functionally graded material properties
1 e 16000 yld_pt 64.2 n_power 14.2 rho 0.7e-06,
alpha 5.2e-06
.
. <values for all model nodes>
.
elements
14000-22092 type q3disop linear material graded_titanium_fgm,
order 2x2x2 long
c
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.51 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
3.5 Material Model Type: bilinear (mises)
This material model extends the smallstrain Mises plasticity theory to include the effects
of finite strains and rotations. Rateindependent, incremental theory of plasticity with
(constant) isotropic and kinematic hardening is employed. The Mises yield surface is
expressed in terms of the Cauchy (true) stress. This model is formulated for the analysis
of ductile metals which undergo large plastic strains but small elastic strains. This assump
tion simplifies considerably the treatment of material elasticity and permits additive de
composition into elastic, plastic and thermal components of strain increments defined with
respect to the deformed configuration.
The constitutive framework for WARP3D outlined in Chapter 1 neutralizes finite rota
tion effects during stressupdates and computation of the consistent tangent moduli. The
smallstrain, stressupdating procedures follow a singlestep, elasticpredictor radialre
turn algorithm. The algorithm is unconditionally stable for large strain increments and
provides high accuracy in the updated stresses (for a single step method). Inelastic unload
ingreloading events are processed without difficulty. The last section provides an overview
of the radialreturn procedures implemented for this model.
This model employs a representation of the uniaxial (tensile) stressstrain curve con
sisting of an initial, linear response followed by linear hardening. Purely isotropic, purely
kinematic and mixed isotropickinematic hardening are offered as options. The elastic
modulus, Poissons ratio and the constant hardening slope may all be functions of tempera
ture. The model provides support for functionally graded materials (FGMs) with properties
specified at nodes of the finite element mode(see Section 2.2.5).
The model offers two approaches to describe the production of thermal strain incre
ments in response to temperature changes imposed in the analysis: isotropic and anisotro
pic. Isotropic refers to the conventional description which uses the same thermal expansion
coefficient (alpha) for each normal strain component with zero thermal strain increments
generated for the shear components (this thermal expansion coefficient may vary with tem
perature). The anisotropic model enables definition of a unique thermal expansion coeffi
cient for each of the 6 strain components; it is intended to support modeling of various initial
strainstress fields, for example, residual stresses imposed through an eigenstrain ap
proach. The anisotropic coefficients do not vary with temperature. The isotropic model for
thermal loading can be used in small displacement, large displacement and finite strain
analyses. The anisotropic model for thermal loading should generally not be used in large
displacementrotation analyses as the anisotropic coefficients are not rotation neutralized
(use of anisotropic coefficients to model initial residual stresses when the initial displace
ments and rotations remain small is acceptable).
The bilinear model provides a very computationally efficient alternative to the general
Mises model described in the next section when the strainrate independent, constant hard
ening (at each temperature) assumptions apply in the analysis. All computational steps of
stressupdating and consistent tangent generation are written in vectorstyle code. This
model has the best computational performance of the plasticity models for solids.
The following sections describe needed parameters to utilize this material model. Full
details of the numerical implementation are provided in the final section.
3.5.1 Tensile StressStrain Response and Hardening Options
The uniaxial (tensile) flow properties for the material are represented by a yield stress fol
lowed and a constant hardening model shown in Fig. 3.13. The Youngs modulus, Poissons
ratio, (isotropic) thermal expansion coefficient and hardening slope are specified:
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.52 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
(1) for temperature independent behavior by values defined in the material definition
(2) for temperature dependent behavior by a set of segmental curves of the type shown in Fig.
2.2, where only the first two curve points are used by the computational routines to define
the temperature dependent hardening slope
For a smallstrain analysis (linear kinematic formulation), specify engineering values
for the strain(
E
) and stress (s
E
). For a finitestrain analysis (nonlinear kinematic formula
tion), specify the uniaxial stressstrain curve using the logarithmic strain, , and the true
(Cauchy) stress, s. For a finitestrain analysis, the user should convert conventional engi
neering strain,
E
, and engineering (nominal) stress, s
E
, values for input using the rela
tions:
s + s
E

1 )
E

(3.47)
+ln

1 )
E

(3.48)
The above conversions assume incompressible, homogeneous deformation. The true stress
true strain curve discussed here assumes homogeneous, uniaxial deformation of the mate
rial, i.e., prior to necking. Once necking occurs, the above expressions are no longer applica
ble. More elaborate corrections, for example those developed by Bridgeman, are required.
0
0
FIG. 3.13Temperature independent uniaxial (tensile) stressstrain curve for the
bilinear" plasticity material model. For finitestrain analysis, input the
Cauchy stress and log strain description. For temperature dependent
behavior, a set of segmental stressstrain curves is specified as described
in Section 2.2.3.
98: ;3$/).
<
$
(
#

=
0
/
(
>
1
?
@

;
3
$
#
"
"
tan_e
e
yld_pt
Material properties for
temperature independent response
Once yielding begins, three strain hardening options are available. The strain harden
ing option is selected with the b (beta) model property. The rate of strain hardening is con
trolled by the userspecified tangent modulus, E
T
, and the value of b. The strain hardening
options are:
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.53 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
1. Isotropic hardening (b+1.0). The radius of the yield surface increases in proportion to the
plastic modulus, H+EE
T

E*E
T

. This is the default hardening option.


2. Kinematic hardening (b+0). The radius of the yield surface remains constant at the initial
yield value. The yield surface translates in the direction normal to the surface at the current
stress contact point. The rate of translation is governed by the plastic modulus,
H+EE
T

E*E
T

, of the uniaxial stressstrain curve.


3. Mixed hardening (0vbv1). Part of the strain hardening is isotropic and part is kinematic.
The value of b controls the proportion assigned to each hardening model, e.g., b+0.25 re
quests that 25% of the hardening be processed as kinematic and 75% as isotropic.
3.5.2 Model Properties
The properties defined for material model bilinear are listed in Table 3.5.
The values of Youngs modulus and Poissons ratio must be specified unless these prop
erties are defined by referencing a set of temperature dependent, segmental stressstrain
curves. In such a case, these elastic properties become temperature dependent.
The thermal expansion coefficient(s) can be (1) isotropic and temperature independent,
(2) isotropic and temperature dependent or (3) anisotropic and temperature independent.
For case (1), specify the value of alpha in the material definition. For case (2), specify the
alpha values during definition of the temperature dependent stressstrain curves. For case
(3), specify the anisotropic values through the material properties or through separate ther
mal expansion coefficients command (see Section 2.2.6).
When a set of temperature dependent stressstrain curves define the properties, only
the first two points on each curve are actually used by the computational routines. The first
two points on each curve define H (plastic modulus) as a function of temperature. The com
putational routines ignore other points on the segmental curves.
The bilinear model provides support for analyses of functionally graded materials
(FGMs). The properties e, nu, rho, yld_pt, tan_e, and alpha may be specified at the model
nodes using the commands described in Section 2.2.5. These properties do not vary with
temperature or loading rate, and the thermal expansion must be isotropic. To indicate that
a material property value at points within elements should be interpolated from the nodal
values, simply replace the numerical value for the property in the material definition com
mands with the string fgm.
3.5.3 Model Output
By default, the material model prints no messages during computations. If requested, the
material model prints the element number and strain point number whenever the effective
stress first exceeds the specified yield stress. This option is requested with the nonlinear
solution parameter material messages on (refer to Section 2.10.8)
The model makes available the strain energy density, U
0
, to the element routines for
subsequent output. U
0
at step n+1 is evaluated using the trapezoidal rule
U
n)1
0
+U
n
0
)
1
2

t
n)1
)t
n

: Dd (3.49)
where the unrotated Cauchy stresses and unrotated strain increments are adopted for the
finitestrain formulation. Thermal contributions to Dd are subtracted prior to the above
computation.
The element stress output contains up to three values for the material model state"
variables. These values for the bilinear (mises) material are:
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.54 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
mat_val1: accumulated (equivalent) plastic strain [see Eq. (3.56) below]
e
p
+
3
2

. p
ij

. p
ij

dt
mat_val2: current mises equivalent (uniaxial) yield stress, s. The current radius of the yield cyl
inder+ 23

s. For isothermal, kinematic hardening this value remains unchanged


throughout the analysis. Isotropic hardening andor temperature dependence of the
yield stress causes this value to change across load steps.
mat_val3: state flag (1+active plastic loading, 3+point is not plastically loading). Note: ambi
guities arise when output at the element centroid or the element nodes is requested
(printed output or Patran result files). The state flag is simply extrapolated to the ele
ment nodes or averaged at the element centroid. Thus, unless all element Gauss points
have the same value of the state flag, the extrapolation and averaging processes do
not provide directly meaningful values.
Model Property Keyword Mode
Default
Value
Youngs modulus
(})
e Number 30000
Poissons ratio
(})
nu Real 0.3
Mass density
(})
rho Real 0.0
Yield stress
(})
yld_pt Number 0.0
Hardening modulus (E
T
)
(})
tan_e Number 0.0
Hardening mixity (b) beta Number 1.0
Stressstrain curve(s) curve Number 0
Thermal expansion coefficient
for isotropic response
(})
alpha Number 0.0
Thermal expansion coefficients
for anisotropic response
alphax, alphay,
alphaz, alphaxy,
alphaxz, alphayz
Number 0.0
(})
property may be specified at model nodes to define functionally graded materials
Table 3.5 Properties for bilinear Material Model
3.5.4 Computational Efficiency
The computational routines for this model process elements in blocks of a size matched to
the vector length of the computer (i.e., Crays) or to the cache size of the workstation. All
model computations are written in vectorized code. Compared to the general ratedepen
dent Mises model discussed later, this model is significantly faster.
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.55 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
3.5.5 Examples
The following example defines the properties for a mild steel material frequently used in
fracture models and assigns the material to some elements.
structure cct
c
material a516
properties bilinear e 30000 nu 0.3 yld_pt 60.0 tan_e 300.0,
rho 7.3e-07 alphax 1.2e06 alphay 3.2e06 alphaz 5.3e05
c
number of nodes 25642 22092
c
elements
14000-22092 type l3disop linear material a516 order 2x2x2,
long bbar
c
The following example defines the properties for a functionally graded material where all
properties but Poissons ratio vary spatially over the model (Poissons ratio can also vary
if required).
structure cct
c
c
material graded_titanium_fgm
properties bilinear e fgm nu 0.25 yld_pt fgm tan_e fgm,
rho fgm alpha fgm
c
number of nodes 25642 elements 22092
c
functionally graded material properties
1 e 16000 yld_pt 64.2 tan_e 320 rho 0.7e06,
alpha 5.2e06
.
. <values for all model nodes>
.
elements
14000-22092 type q3disop linear material graded_titanium_fgm,
order 2x2x2 long
c
The following example defines the properties for a temperature dependent behavior (note
that the segmental curves define the elastic and thermal properties):
c
stressstrain curve 1 temperature 100 e 30000 nu 0.3 alpha 0.0001
0.0 80, $ these are plastic strain vs. stress values
0.025 96
c
stressstrain curve 2 temperature 300 e 28000 nu 0.28 alpha 0.0002
0.0 70,
0.025 85
c
stressstrain curve 3 temperature 500 e 25000 nu 0.25 alpha 0.0003
0.0 60,
0.025 74
c
c
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.56 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
material steel
properties bilinear curves 13 rho 7.3e-07
structure cct
c
number of nodes 25642 22092
c
elements
14000-22092 type l3disop nonlinear material steel order 2x2x2,
long bbar
c
3.5.6 Plasticity Algorithms
During a time step from state n to state n+1, global equilibrium iterations, designated by
i, are performed at a constant external load level to reduce the residual sufficiently close
to zero. Each iteration allows a new estimate of the strain rate to be determined at the state
n+1 which is associated with the iteration. With this estimate, the stress at the ith update
of state n+1 is computed. This process is termed the stress recovery and is the principal fo
cus of a material model. For stress updating, the ith estimate of the strain increment over
the step is used, D +
i
n)1
*
n
, which defines the socalled path independent strategy.
The current implementation of this model does not use subincrementation schemes which
subdivide the strain increment.
p
~
p plane
hydrostatic axis
yield surface
t
2

t
1
t
2
t
3
FIG. 3.14Mises yield surface in principal stress
space
a
~
t
1

t
3

!"#$%" '()*# + WARP3D Material ,)-).#/$


3.57 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
Also necessary at each global iteration is a constitutive tangent operator that relates
stress rate to strain rate, or changes in stress to changes in strain, so that increments of
displacement from n+1 at i1 to n+1 at i may be computed and strain rates estimated. This
task is also the responsibility of the material model.
The smallstrain plasticity model is based on rate independent, isotropic J
2
flow theory
considering both isotropic and kinematic hardening and utilizing a bilinear uniaxial mate
rial response. The stress recovery during plastic flow is performed using an elastic predic
torradial return numerical integration scheme (see Key [54], Kreig and Key [59], Dodds
[24], Keppel and Dodds [53] for additional details). A consistent rather than a continuum
tangent operator is computed for use in the calculation of the element tangent stiffness ma
trix in order to maintain quadratic convergence in the global nonlinear solution (see Simo
and Taylor [90]). The complete algorithm for the stress recovery and the evaluation of the
consistent tangent operator at a given material point is developed and outlined in the fol
lowing discussion.
Yield Function and Effective StressStrain Values
Let t, d
.
, and a denote the the stress, the strain rate (minus thermal strain rate), and the
back stress each is a symmetric, secondorder tensor, respectively. Here, d
.
is simply
(
i
n)1
*
n
)Dt. Deviator values and norms associated with these tensors are defined by
()

+()
ij
*
()
kk
3
d
ij
; () + ()
ij
()
ij
. (3.50)
Because the vector corresponding to a in principal stress space lies in the p plane of the yield
surface, a
kk
is zero and the deviator of the back stress equals the back stress. Accordingly,
the deviator of the relative stress is given as
c

+t

*a (3.51)
allowing the Mises yield surface (Fig. 3.14) to be described by the equation
c

2
*k
2
+0 (3.52)
where k denotes the current yield stress in simple shear (proportional to the radius of the
yield surface in the p plane) and the usual summation operation for tensors is implied.
Additive decomposition of the total strain rate into elastic and plastic parts leads to
d
.
+d
.
e
)d
.
p
. (3.53)
The unit normal tensor to the Mises yield surface is
n +
c

c
(3.54)
which enables writing the plastic strain rate in the form (using normality and associative
flow)
d
.
p
+ l
.
n; l
.
w0 (3.55)
where l
.
denotes the nondimensional, (rate) proportionality factor to be determined. As a
consequence of the unit normal, n, the norm d
.
p
, becomes simply l
.
.
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.58 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
Increments of the plastic strain lie normal to the yield surface in stress space. As a con
sequence of this (associative) J
2
based flow theory, d
.
kk
p
(the change in plastic volume with
time) remains zero as evident from Fig. 3.14. The deviator plastic strain rate, (d
.
p
), thus
equals the plastic strain rate, d
.
p
.
The effective plastic strain rate, e
.

p
, is defined as
e
.

p
+
2
3
d
.
p
d
.
p

+
2
3

d
.
p
+
2
3

l
.
(3.56)
to recover the uniaxial loading case, e.g., when d
.
p
11
+e
.

p
and d
.
p
22
+d
.
p
33
+ *0.5e
.

p
. Simi
larly, the (mises") effective stress, q, is
q + 3J
2

; J
2

+
1
2
c

; k +
q
3

. (3.57)
to recover the uniaxial loading case, e.g. when c
11
+q with zero for the remaining stress
components.
Strain Hardening
The plastic modulus, H
, defines the derivative of the effective stress with respect to the
effective plastic strain. For the Mises yield surface with a bilinear uniaxial stressstrain
response, H
is given as
H

+
EE
T
E*E
T
(3.58)
where E and E
T
are the Youngs modulus and the tangent modulus, respectively. Note that
for a bilinear material, E
T
and H
are constants but may vary with the current material
point temperature, i.e., E
T
(q) and H

(q). The model supports mixed isotropickinematic


hardening with mixity defined by the user specified parameter b, which sets the proportion
of isotropic hardening that ranges in value between zero and one. Values of b = 0.0, 1.0, and
0.25 indicate pure kinematic hardening, pure isotropic hardening, and a mixedrule with
25% isotropic hardening, 75% kinematic hardening. To simplify subsequent equations,
define the isotropic and kinematic hardening (plastic) moduli as
H
i
+ bH;H
k
+(1 *b)H. (3.59)
Equation (3.55) defines the first of several evolution laws for the response. The evolu
tion equation for expansion of the yield surface follows from the uniaxial (equivalent) hard
ening rule given by
q +q(e
p
, q) (3.60)
where in general q depends on the accumulated plastic strain and the current temperature.
The total change in q is then given by
dq +
q
e
p
de
p
)
q
q
dq. (3.61)
The constant (linear) hardening model at each temperature has the form
q +q
0
(q) )H
i
(q)e
p
(3.62)
where q
0
denotes the temperature dependent yield stress. The derivatives needed in Eq.
(3.61) become
q
e
p
+H
i
(q);
q
q
+
q
0
(q)
q
)
H
i
q
e
p
. (3.63)
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.59 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
Using these expressions, the rate form of Eq. (3.62) becomes
q
.
+H
i
e
.

p
)q
.
0
)H
.
i
e
p
(3.64)
where the temperature dependence of the terms is understood and the rate for H
i
and q
0
refers to the temperature. Using Eq. (3.57) to define k
.
in terms of q
.
, and Eq. (3.56) to define
e
.

p
in terms of the plastic strain rate tensor, the evolution equation for expansioncontrac
tion of the yield surface (k
.
) follows from the uniaxial (equivalent) hardening rule as
k
.
+
q
.
3

; k
.
+H
i
2

3
d
.
p
)k
.
0
)
1
3

H
.
i
e
p
. (3.65)
Noting again the simple result for the norm appearing here given by Eq. (3.56), the final
expression for k
.
becomes
k
.
+
2

3
H
i
l
.
)k
.
0
)
H
.
i
3

e
p
. (3.66)
In the absence of current plastic straining ( l
.
+0), k
.
takes on nonzero values when the yield
stress andor the plastic hardening modulus vary with temperature.
For kinematic hardening, the yield surface translates to accommodate all hardening
caused by additional plastic straining and changes of plastic modulus with temperature.
Consider a simple onedimensional model with linear hardening. When the material expe
riences current plastic flow the stress can be written as
s + s
0
(q) )a + s
0
(q) )H
k
(q) e
p
(3.67)
where for simplicity in the discussion only the tensile part of the cycle is considered. s
0
de
notes the temperature dependent yield stress and e
p
defines the additional plastic strain
since the most recent load reversal. Following the same line of developments above leads
to
ds +
s
0
(q)
q
dq )
s
e
p
de
p
. (3.68)
For the linear hardening model, this becomes
ds +
s
0
(q)
q
dq )
H
k
q
e
p
dq )H
k
(q)de
p
(3.69)
where that part of the stress change due to the back stress is seen to be
da +H
k
de
p
)
H
k
q
e
p
dq +H
k
de
p
)
H
k
q
a
H
k
(3.70)
or in rate form as in Eq. (3.64)
a
.
+H
k
e
.

p
)
H
.
k
H
k
a. (3.71)
In terms of the rate of the back stress tensor, this expression has the equivalent form
3
2

a
.
+H
k
2
3

d
.
p
)
H
.
k
H
k
3
2

a (3.72)
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.510 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
where the leading 32

recovers the simple uniaxial response from the 3D tensorial (devia


toric) components of the back stress and the temperature dependent (uniaxial) yield stress
is written in terms of the shear yield stress. The final expression becomes then
a
.
+
2
3
H
k
d
.
p
)
H
.
k
H
k
a . (3.73)
This scalar expression generalized into tensor form yields Zieglers hardening rule for non
isothermal loading
a
.
+
2
3
H
k
d
.
p
)
H
.
k
H
k
a +
2
3
H
k
l
.
n)
H
.
k
H
k
a. (3.74)
In the absence of current plastic straining ( l
.
+0), the back stress rate, a
.
, takes on non
zero values when the plastic hardening modulus varies with temperature. In the p
plane, this model for temperature effects translates the yield surface towards or away
from the origin along the current back stress vector which lies normal to the mean
stress axis in the p plane.
The deviatoric stress rate is determined solely by the elastic shear modulus and the
deviatoric elastic strain rate
t
.
+2G(d
.
e
) +2G(d
.
*d
.
p
). (3.75)
The purely elastic change of hydrostatic stress is given by
p
.
+
t
.
kk
3
+Kd
.
kk
(3.76)
where K and G denote the elastic bulk and shear moduli of the material at n+1, respectively.
Updating Algorithm
In large displacement analyses, the deformation over nn+1 complicates evaluation of a
strain rate over the step. The configuration at n, n+1 or some point in between can be used
as the basis to compute d
.
, i.e., the configuration used to evaluate the B matrix. Key and
Krieg [[54] demonstrate that use of the n+1/2 configuration leads to the conventional loga
rithmic strain for the integrated form of d
.
. Consequently, the rate tensors are evaluated
at state n+1/2 when integrated to produce an increment over the step. The hydrostatic
stress p of Eq. (3.76) and the elastic predictor, trial deviator stress at state n+1 (denoted
with the t superscript) are computed using

n)1
p +K

kk
)Dt
n)12
d
.
kk

(3.77)

n)1
t
t
+2G

e
)Dt
n)12
d
.

(3.78)
where G and K here refer to the temperature dependent values at n+1. This form to compute
the trial elastic state at n+1 properly reflects changes of Youngs modulus and Poissons
ratio over the step driven by temperature. The elastic strain state at n ,
n

e
, and the mean
strain at n ,
n

kk
, are readily found using the previously computed stress state at n and the
values for E and u at n.
The deviator for the relative trial stress is defined in terms of the trial deviator stress
and the back stress as:
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.511 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
(
n)1
c
t

)
*
+
n)1
t
t

*
n)1
a
*
. (3.79)
At this stage, if the material point responds in a linearelastic manner, i.e.,
(
n)1
c
t

)
*
* 2

n)1
k
*
v0 (3.80)
(the algorithmic form of KuhnTucker conditions) then the stress recovery is essentially
complete. It remains only to recombine the updated hydrostatic stress and the trial devia
tor stress given above. The values for
n)1
k
*
and
n)1
a
*
to check for yielding must reflect
the state at n+1 with no increase in plastic strain over the step, but with the effects of tem
perature change from n to n+1 included in the values, i.e. k
0
and H
may change with tem
perature over n to n+1. In this case,
n)1
k
*
is found from Eq. (3.97) with l
.
Dt+0. The back
stress
n)1
a
*
is similarly found from Eq. (3.87) with l
.
Dt+0. If Eq. (3.80) holds, the updated
values become
n)1
k +
n)1
k
*
and
n)1
a+
n)1
a
*
.
If the material point experiences plastic flow, using Eq. (3.75) the trial deviator stress
is modified by a stress increment corresponding to a radial return to the yield surface to
compute the updated deviator stress at state n+1:

n)1
t +
n)1
t
t
*2GDt
n)12
d
.
p
+
n)1
t
t
*2Gl
.
Dt
n)1
n. (3.81)
where l
.
is taken to be the value at state n+12 and n at state n+1 (consistent with a back
ward Euler scheme).
To proceed at this point, the updated back stress at state n+1 is required. Integration
of the rate form for a defined in Eq. (3.74) using a backward Euler scheme introduces an
unnecessary step size dependency in the updated stresses. The following approach elimi
nates the step size dependency. From Eq. (3.67), we have

n)1
a +
n)1
H
k

n)1
e
p
. (3.82)
Generalizing as before to the multiaxial case, the above expression becomes
3
2

n)1
a +
n)1
H
k
2
3

n)1

p
. (3.83)
Writing the plastic strain in terms of the values at n and the step increment then simplify
ing,

n)1
a +
n)1
H
k
2
3

n

p
)
n)1
H
k
2
3
D
p
(3.84)
Now generalize the norms of the tensors to the tensors themselves

n)1
a +
n)1
H
k
2
3

p
)
n)1
H
k
2
3
D
p
(3.85)
and use Eq. (3.55) to define the tensor of plastic strain increments

n)1
a +
n)1
H
k
2
3

p
)
n)1
H
k
2
3
l
.
Dt
n)1
n. (3.86)
Now write the plastic strain tensor at n in terms of the back stress at n, i.e.,

n
a +(23)
n
H
k

p
, to give

n)1
a +

n)1
H
k

n
H
k

n
a )
n)1
H
k
2
3
l
.
Dt
n)1
n (3.87)
and upon introducing L
k
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.512 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"

n)1
a ++L
k

n
a )
2
3
H
k
l
.
Dt
n)1
n (3.88)
where L
k
+
n)1
H
k

n
H
k
. Should
n
H
k
0, set L
k
+1.
Continue now to develop the key Eq. (3.81). At n+1, the deviator of the relative stress
state must be

n)1
c

+
n)1
t

*
n)1
a. (3.89)
To put this result into a useful form, first obtain
n)1
t
t
from

n)1
c
t

+
n)1
t
t

*
n
a (3.90)
and insert into Eq. (3.81). Use this new expression for
n)1
t
in Eq. (3.89) along with
n)1
a
from Eq. (3.88) to give

n)1
c

+
n)1
c
t

)(1 *L
k
)
n
a *l
.
Dt

2G)
2
3
H
k

n)1
n. (3.91)
The backward Euler integration scheme adopts the unit normal tensor, n, at state n+1
as defined from the trial elastic stress state, i.e.,

n)1
n +

n)1
c
t

n)1
c
t


. (3.92)
Using this form for n at n+1 in Eq. (3.91) yields

n)1
c +
n)1
c
t

1 *
l
.
Dt

2G)
2
3
H
k

n)1
c
t

)(1 *L
k
)
n
a. (3.93)
The norm of
n)1
c
above appears in the yield condition, Eq. (3.52), as

n)1
c

* 2

n)1
k +0. (3.94)
The updated size of the yield surface,
n)1
k, can be found by integrating k
.
in Eq. (3.66) using
a backward Euler scheme. For linear (isotropic) hardening, the updated radius can be found
exactly at any step from the requirement that

n)1
k +
n)1
k
0
)

n)1
H
i
3


n)1
e
p
(3.95)
where
n)1
k
0
denotes the temperature dependent (shear) yield stress at n+1. Rewriting
the total (equivalent) plastic strain as

n)1
e
p
+
n
e
p
)
2
3
l
.
Dt. (3.96)
Using these terms,
n)1
k becomes

n)1
k +
n)1
k
0
)

n)1
H
i
3


n
e
p
)
2

3

n)1
H
i
l
.
Dt. (3.97)
This can be further simplified by combining the first two terms to write the result as

n)1
k +k )
2

3

n)1
H
i
l
.
Dt (3.98)
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.513 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
No complications arise in the computations should H
i
take on a zero value. Use this result
in Eq. (3.94) to find

n)1
c

* 2

k )
2

3

n)1
H
i
l
.
Dt +0. (3.99)
To solve for l
.
Dt, the norm from Eq. (3.93) is substituted into the above (scalar) equation.
As can be seen, the solution for l
.
Dt becomes algebraically nontrivial for the general non
isothermal case.
Isothermal Case
When the temperature remains constant over the step, Dq+
n)1
q
n
q50, then L
k
+1,
Dk+0,
n)1
k
0
+
n
k
0
and the norm for the updated relative stress in Eq. (3.93) has the sim
ple form

n)1
c

+
n)1
c
t

*l
.
Dt

2G)
2
3
H
k

. (3.100)
When substituted into Eq. (3.99) and use is made of Eq. (3.59), thenl
.
Dt has the simple solu
tion
l
.
Dt +

n)1
c
t
* 2

k
2G1 )
H
3G

. (3.101)
Since the trial elastic stress state is easily computed from the imposed strain increment,
the computation of l
.
Dt becomes quite simple. The key assumption for n in Eq. (3.92) and
the independence of H
with continued hardening and temperature leads to this simple
result. Once l
.
Dt become known, the updated back stress at n+1 is found from Eq. (3.88),
the updated deviatoric stress at n+1 is found from Eq. (3.93), and the updated yield surface
radius is given by Eq. (3.97)
A simplified flow chart illustrating the steps required for the recovery of stresses is dis
played in Fig. 3.15. The algorithm above is implemented in a vector form. The six compo
nents of stress tensors are arrayed in the order { 11 22 33 12 23 13 }. Strain tensors corre
spond to vectors with identical ordering but with diagonal terms doubled to form
engineering strains.
NonIsothermal Case (General)
For the nonisothermal case, rewrite Eq. (3.99) in the form

n)1
c @
n)1
c +2k )
2

3
H
i
l
.
Dt
2
(3.102)
where the required tensor (scalar) product is given by contracting Eq. (3.93). The solution
for l
.
Dt then requires solving a quadratic equation. This section summarizes the key alge
braic operations required to develop the quadratic equation.
To begin, rewrite Eq. (3.93) using simpler notation as
u +(1 *al)v )bw (3.103)
where the constants a and b are easily identified with terms in Eq. (3.93 and with l + l
.
Dt.
Then,
u@ u +(1 *al)
2
(v @ v) )2(1 *al)b(v @ w) )b
2
(w@ w) (3.104)
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.514 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
or,
u +(1 *al)
2
v )2(1 *al)bvw)b
2
w. (3.105)
This result becomes the left side of Eq. (3.102) with new constants c and d used on the right
side for simplicity to yield
(1 *al)
2
v )2(1 *al)bvw)b
2
w +2

k )dl

2
. (3.106)
This result expanded out and then factored provides a quadratic equation of the form
l
2
(a
2
v *2d
2
) )l(*4dk *2av *2abvw) )
(b
2
w)2bvw)v *2k
2
) +0 (3.107)
which is solved in closed form for l + l
.
Dt (the smaller of the two roots). Once l
.
Dt is known,
the updated back stress at n+1 is found from Eq. (3.88), the updated deviatoric stress at n+1
is found from Eq. (3.93), and the updated yield surface radius is given by Eq. (3.97).
Consistent Tangent Operator
The tangent operator required for the calculation of element tangent stiffness matrices sat
isfies the following relationship between stress rate and the total strain rate:
t
.
ij
+C
ijkl
d
kl
(3.108)
For a material point in the elastic state, the isotropic tangent operator is given by
C
E
ijkl
+Kd
ij
d
kl
)2G

1
2
(d
ik
d
jl
)d
il
d
jk
) *
1
3
d
ij
d
kl

(3.109)
Once the material point experiences plastic flow, the tangent operator is given by
C
EP
ijkl
+Kd
ij
d
kl
)2G

1
2
(d
ik
d
jl
)d
il
d
jk
) *
1
3
d
ij
d
kl

*2Ggn
ij
n
kl
(3.110)
g +
1
1 )
H
3G

(3.111)
The operator of Eq. (3.110) is termed the continuum tangent operator. Its use is compat
ible with an exact integration of the evolution equations, which are continuum in nature.
However, the elastic predictorradial return procedure for stress updating does not repre
sent an exact integration; it is in essence a secant approach. Not surprisingly, use of the
continuum tangent operator leads to a degradation in the quadratic convergence character
istic of the global Newton iterations. Simo and Taylor [90] established a tangent operator
compatible with the elastic predictorradial return algorithm which preserves the quadrat
ic convergence. It is often termed the consistent tangent operator, and it is the tangent oper
ator employed in WARP3d. The consistent tangent operator is given by the following equa
tions:
C
EP
ijkl
+Kd
ij
d
kl
)2GB

1
2
(d
ik
d
jl
)d
il
d
jk
) *
1
3
d
ij
d
kl

*2Ggn
ij
n
kl
(3.112)
g +
1
1 )
H
3G

*(1 *B)
B +

n)1
k )
2
3
(1 *b)HlDt

n)1
c
t
ij

;
(3.113)
!"#$%" '()*# + WARP3D Material ,)-).#/$
3.515 01/23#$ 4 5-#6#.3" /.* 7/3#$)/- 78*#-"
In the code, the above tangent operator is applied in a 66 matrix form that relates
a stress vector to an engineering strain vector. Values of K, G, and H all refer to values for
the temperature at n+1 at the material point.
Enter with strain increment
Compute trial deviator relative stress
Evaluate yield function
Compute
Update
Update back stress
Update deviator stress
Update hydrostatic stress
Update stress
D
Compute deviator strain increment

n)1
(c
t
)

n)1
(c
t
) * 2

n
k

n)1
(c
t
) * 2

n
k u0

n)1
k

n)1
(a)

n)1
(t)

n)1
p

n)1
(t)

n)1
(t)

n)1
p

n)1
(t)
Update deviator stress
Update hydrostatic stress
Update stress
Yes No
D
lDt
FIG. 3.15Stress recovery procedure for isothermal version of bilinear (Mises)
material model.
!"#$%" '()*# + WARP3D Material ,)"#"
3.61 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
3.6 Material Model Type: mises
This material model extends the capabilities offered by the bilinear (mises) model to in
clude more general descriptions of the uniaxial stressstrain response and two models for
viscoplastic effects. This generalized form of mises plasticity supports only isotropic hard
ening.
The mises model provides three options to describe the inviscid uniaxial (tensile) stress
strain curve:
S constant linear hardening after yield,
S pure powerlaw hardening after an initially linear response prior to
yield, and
S general piecewiselinear (segmental) description which may be tem
perature dependent.
For temperature independent responses, the thermal expansion coefficients can be isotrop
ic or anisotropic.
The temperature dependent, uniaxial response defined through a set of segmental
stress vs. plastic strain curves also introduces the temperature dependence of Youngs
modulus, Poissons ratio and the (isotropic) thermal expansion coefficient. The model pro
vides support the response of functionally graded materials (FGMs) with properties speci
fied at model nodes (see Section 2.2.5).
To introduce a strainrate dependence, the mises model provides two approaches: (1) a
powerlaw viscoplastic model which can use any of the inviscid temperature dependent or
independent uniaxial responses, and (2) a general strain ratedependent response de
scribed by a series of segmental stress vs. plastic strain curves at various plastic strain
rates (no temperature dependence). The powerlaw viscoplastic relationship is often suit
able for ductile metals undergoing large amounts of plastic straining and is given by

.
vp
+D
q
s
e

m
*1 (3.114)
where D and m are userspecified material constants (rate and temperature independent),
q denotes the ratedependent (uniaxial) tensile stress and s
e
the inviscid (uniaxial) tensile
stress (can be temperature dependent). The viscosity term is often written in the form
D+1h. For a moderately ratesensitive material, such as an A533B pressure vessel steel
at 100
o
C, typical values of D and m are 1.0 (mmmmsec) and 35, respectively. In the sim
plest case, s
e
is specified to remain constant at the yield stress, s
0
(the linear hardening
model with E
T
+0). More generally, s
e
is a linear, powerlaw or piecewiselinear function
of
vp
and possibly temperature dependent.
The following sections describe needed parameters to utilize the mises material model.
Additional details for ratedependent features of the model are then provided. All other as
pects of the formulation follow those of the bilinear model described in the previous section.
3.6.1 StressStrain Curves and Hardening
The inviscid uniaxial (tensile) stressstrain curve for the material and the elastic properties
are represented by one of the following:
(1) the linear hardening model shown in Fig. 3.13 (temperature independent E and n, thermal
expansion coefficients may be isotropic or anisotropic)
!"#$%" '()*# + WARP3D Material ,)"#"
3.62 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
(2) a powerlaw hardening model shown in Fig. 3.16 (temperature independent E and n, ther
mal expansion coefficients may be isotropic or anisotropic)
(3) a segmental curve of the type described in Section 2.2.2 and illustrated in Fig. 2.1 (tempera
ture independent E and n, thermal expansion coefficients may be isotropic or anisotropic)
(4) a temperature dependent set of segmental curves of the type described in Section 2.2.3 and
illustrated in Fig. 2.2. (temperature dependent E, n, and a, where the thermal expansion
coefficients must be isotropic)
For the powerlaw description, the computational routines insert a small (cubic) transition
curve to maintain continuous values of E
T
between the initially linear and powerlaw re
gions (see Fig. 3.16).
The powerlaw, ratedependent model described by Eq. (3.114) may be used with any
of the above inviscid stressstrain curves and elastic properties. The viscosity term, D, and
the rate exponent, m, are temperature invariant.
The more general ratedependent response uses a set of segmental stress vs. plastic
strain curves defined at various plastic strain rates to describe the uniaxial response. Sec
tion 2.2.4 describes the procedures to define the set of curves. These curves and the elastic
properties (E, n, a) are temperature independent. The thermal expansion coefficents can be
isotropic or anisotropic.
For a smallstrain analysis (linear kinematic formulation), specify engineering values
for the strain(
E
) and stress (s
E
). For a finitestrain analysis (nonlinear kinematic formula
tion), specify the uniaxial stressstrain curve using the logarithmic strain, , and the true
(Cauchy) stress, s. For a finitestrain analysis, the user should convert conventional engi
neering strain,
E
, and engineering (nominal) stress, s
E
, values for input using the rela
tions:
s + s
E

1 )
E

(3.115)
+ln

1 )
E

(3.116)
The above conversions assume incompressible, homogeneous deformation. The true stress
true strain curve discussed here assumes homogeneous, uniaxial deformation of the mate
rial, i.e., prior to necking. Once necking occurs, the above expressions are no longer applica
ble. More elaborate corrections, for example those developed by Bridgeman, are required.
Once yielding begins, subsequent hardening follows the isotropic model.
3.6.2 Model Properties
The properties defined for material model mises are listed in Table 3.6. The values of
Youngs modulus and Poissons ratio must be specified unless these properties are defined
by referencing a set of temperature dependent, segmental stressstrain curves. In such a
case, these elastic properties become temperature dependent.
The thermal expansion coefficient(s) can be (1) isotropic and temperature independent,
(2) isotropic and temperature dependent or (3) anisotropic and temperature independent.
For case (1), specify the value of alpha in the material definition. For case (2), specify the
alpha values during definition of the temperature dependent stressstrain curves. For case
(3), specify the anisotropic values through the material properties or through the separate
thermal expansion coefficients command (see Section 2.2.6).
The isotropic model for thermal loading can be used in small displacement, large dis
placement and finite strain analyses. The anisotropic model for thermal loading should
!"#$%" '()*# + WARP3D Material ,)"#"
3.63 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
0
0
FIG. 3.16Powerlaw form of the inviscid uniaxial (tensile) stressstrain curve for
the mises" plasticity material model. For finitestrain analysis, input the Cauchy stress
and log strain description.
879 :1$/)5
;
$
(
#

<
-
/
(
=
.
>
?

:
1
$
#
"
"
E
yld_pt

0
+
s
s
0
s
0
+ yld_pt
0
+
s
0
E
Plastic straining begins at 0.95s
0
due to
the small transition region
Cubic transition region to
maintain continuous tangents
generally not be used in large displacementrotation analyses as the anistropic coefficients
are not rotation neutralized (use of anisotropic coefficients to model initial residual stresses
when the initial displacements and rotations remain small is acceptable).
The mises model provides support for analyses of functionally graded materials
(FGMs). The properties e, nu, rho, yld_pt, tan_e, n_power and alpha may be specified at the
model nodes using the commands described in Section 2.2.5. These properties do not vary
with temperature or loading rate, and the thermal expansion must be isotropic. To indicate
that a material property value at points within elements should be interpolated from the
nodal values, simply replace the numerical value for the property in the material definition
commands with the string fgm. Spatially invariant values of D and m may be specified to
define a strainrate dependent model for FGMs. FGM properties do not vry with tempera
ture.
3.6.3 Model Output
By default, the material model prints no messages during computations. If requested, the
material model prints the element number and strain point number whenever the effective
stress first exceeds the specified yield stress. This option is requested with the nonlinear
solution parameter material messages on (refer to Section 2.10.8)
The model makes available the strain energy density, U
0
, at each Gauss point to the
element routines for subsequent output. U
0
at step n+1 is evaluated using the trapezoidal
rule
U
n)1
0
+U
n
0
)
1
2

t
n)1
)t
n

: Dd (3.117)
!"#$%" '()*# + WARP3D Material ,)"#"
3.64 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
where the unrotated Cauchy stresses and unrotated strain increments are adopted for the
finitestrain formulation. Thermal contributions to Dd are subtracted prior to the above
computation.
The element stress output contains up to three values for the material model state"
variables. These values for the mises material are:
mat_val1: accumulated (equivalent uniaxial) plastic strain,
e
p
+
3
2

. p
ij

. p
ij

dt
mat_val2: current mises equivalent (uniaxial) yield stress, s, which sets the current radius of the
yield cyclinder (radius+ 23

s)
mat_val3: not used
3.6.4 Computational Efficiency
The computational routines for this model process elements in blocks of a size matched to
the cache size of the hadware. Most of the model computations are written in vectorized"
style code. The local Newton loop to solve the scalar consistency equation executes in scalar
mode. In terms of efficiency, the constant (linear) hardening form of the stressstrain curve
incurs the least computational effort for inviscid analyses (no local Newton loop is needed
to solve the consistency equation). The piecewiselinear model provides the next most effi
ciency followed by the powerlaw model. The large number of exponentials required for the
powerlaw model significantly increases the computational effort (often 15% total job time).
We recommend describing the stressstrain properties with the piecewiselinear model
even when the material description follows the powerlaw descriptionjust to reduce the
computational effort.
Our testing indicates the piecewiselinear model combined with the powerlaw visco
plastic option, Eq. (3.114), can reduce the convergence rate of global Newton iterations. No
such degradation is experienced with simple linear hardening or powerlaw hardening
combined with viscoplasticity.
Testing of the general ratedependent response described with a set of piecewiselinear
stressstrain curves shows excellent convergence of the global Newton iterations.
Model Property Keyword Mode
Default
Value
Youngs modulus
(})
e Number 30000
Poissons ratio
(})
nu Real 0.3
Mass density
(})
rho Number 0.0
Yield stress
(})
yld_pt Number 0.0
Hardening modulus (E
T
)
(})
tan_e Number 0.0
Power law exponent (n)
(})
n_power Number 0.0
!"#$%" '()*# + WARP3D Material ,)"#"
3.65 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
Reference strain rate (D) ref_eps Number 0.0
Viscous exponent (m) m_power Number 0.0
Stressstrain curve(s) curves Number 0
Thermal expansion coefficient
for isotropic response
(})
alpha Number 0.0
Thermal expansion coefficients
for anisotropic response
alphax, alphay,
alphaz, alphaxy,
alphaxz, alphayz
Number 0.0
(})
property may be specified at model nodes to define functionally graded materials
Table 3.6 Properties for mises Material Model
3.6.5 Examples
The following example defines the temperature independent properties for four materials
and assigns the materials to some elements. Material one is strainrate independent, uses
the flow properties from a segmental curve and has anisotropic expansion coefficients. Ma
terial two uses the powerlaw rate dependent response, Eq. (3.114), combined with a tem
perature independent, inviscid stressstrain response defined by a linear+powerlaw curve
and ansiotropic expansion coefficients. Material three is rate independent, uses a simple
bilinear representation of the stressstrain curve, and has isotropic thermal expansion. Ma
terial four adds powerlaw rate dependency to material three.
structure cct
c
stressstrain curve 3 $ temperature and rate independent
0.0012 36 0.01 36, 0.05 50, $ these are total strainstress values
0.10 55, 0.30 60
c
material one
properties mises e 30000 nu 0.3 curve 3 rho 7.3e07,
alphax 1.2e05 alphay 1.0e05 alphaz 2.1e05,
alphaxy 3.5e05 alphaxz 0.8e05 alphayz 1.1e05
material two
properties mises e 30000 nu 0.3 yld_pt 60.0 n_power 10,
rho 7.3e07 ref_eps 40 m_power 20,
alphax 1.2e05 alphay 1.0e05 alphaz 2.1e05,
alphaxy 3.5e05 alphaxz 0.8e05 alphayz 1.1e05
c
material three
properties mises e 30000 nu 0.3 yld_pt 56.2 et 200 rho 7.3e07,
alpha 1.2e05
c
material four
properties mises e 30000 nu 0.3 yld_pt 56.2 et 200 rho 7.3e07,
ref_eps 10 m_power 33 alpha 1.2e05
c
!"#$%" '()*# + WARP3D Material ,)"#"
3.66 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
number of nodes 25642 22092
c
elements
1400022092 type l3disop linear material one order 2x2x2,
long bbar
.
.
.
c
The following example defines the properties for a functionally graded material where the
key properties but Poissons ratio vary spatially over the model (Poissons ratio can also
vary if required).
structure cct
c
c
material graded_titanium_fgm
properties mises e fgm nu 0.25 yld_pt fgm n_power fgm,
rho fgm alpha fgm ref_eps 10 m_power 33
c
number of nodes 25642 elements 22092
c
functionally graded material properties
1 e 16000 yld_pt 64.2 n_power 12 rho 0.7e06,
alpha 5.2e06
.
. <values for all model nodes>
.
elements
14000-22092 type q3disop linear material graded_titanium_fgm,
order 2x2x2 long
c
The following example defines the properties for a temperature dependent behavior (note
that the segmental curves also define the elastic and thermal properties). Both rate inde
pendent and rate dependent materials are defined using the curves. The thermal expansion
coefficients must be isotropic. Material steel in this example uses a set of three temperature
dependent stress vs. plastic strain curves with rate independent response. Note that the
modulus, Poissons ratio and the isotropic expansion coefficients are defined as part of the
segmental curves. Material a533b adds powerlaw rate dependent response to the same
material.
c
stressstrain curve 1 temperature 100 e 30000 nu 0.3 alpha 0.0001
0.0 80, $ these are plastic strain vs. stress values
0.025 96, $ the first point must have zero plastic strain...
0.050 103,
0.10 108,
0.20 114,
0.30 118,
0.40 122,
100 1000
c
stressstrain curve 2 temperature 300 e 28000 nu 0.28 alpha 0.0002
0.0 70,
0.025 85,
0.050 91,
0.10 96,
!"#$%" '()*# + WARP3D Material ,)"#"
3.67 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
0.20 102,
0.30 105,
0.40 108,
100 1000
c
stressstrain curve 3 temperature 500 e 25000 nu 0.25 alpha 0.0003
0.0 60,
0.025 74,
0.050 79,
0.10 83,
0.20 88,
0.30 91,
0.40 93,
100 1000
c
material steel
properties mises curves 13 rho 7.3e-07
c
material a533b
properties mises curves 13 rho 7.3e07 ref_eps 40 m_power 20
structure cct
c
number of nodes 25642 22092
c
elements
14000-22092 type q3disop nonlinear material steel order 2x2x2,
long
20004000 type l3disop nonlinear material a533b order 2x2x2,
long bbar
c
c
The following example defines the properties for general rate dependent behavior (note
that the elastic and thermal properties must be defined as part of the material).
c
stressstrain curve 1 plastic strainrate 500
0.0 80, $ these are plastic strain vs. stress values
0.025 96, $ the first point must have zero plastic strain...
0.050 103,
0.10 108,
0.20 114,
0.30 118,
0.40 122,
100 1000
c
stressstrain curve 2 plastic strainrate 250
0.0 70,
0.025 85,
0.050 91,
0.10 96,
0.20 102,
0.30 105,
0.40 108,
100 1000
c
stressstrain curve 3 plastic strainrate 0
0.0 60,
0.025 74,
!"#$%" '()*# + WARP3D Material ,)"#"
3.68 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
0.050 79,
0.10 83,
0.20 88,
0.30 91,
0.40 93,
100 1000
c
material steel
properties mises curves 13 e 30000 nu 0.3 rho 7.3e-07,
alphax 1.2e05 alphay 1.0e05 alphaz 2.1e05,
alphaxy 3.5e05 alphaxz 0.8e05 alphayz 1.1e05
c
material a533b
properties mises curves 13 e 30000 nu 0.25 rho 0.0 alpha 0.34e05
3.6.6 Plasticity Algorithms
The formulation and implementation of the general, ratedependent mises model differs
from the bilinear model in the complexity of computing the terml
.
Dt. Eqs. (3.91) and (3.92)
define the deviatoric terms of the updated stress state as a return to the new yield surface
along the direction of a trial elastic deviator (which for the mises model is normal to the
updated yield surface). Eq. (3.94) then represents the scalar product of each side of Eq.
(3.91) and defines the socalled scalar consistency equation for determination l
.
Dt. Using
the relationships of Eqs. (3.56) and (3.57), the consistency equation may be written in the
simpler form
s
T
*3GD
p
*s
e
(
p
n)1
,
.
p
n)1
, T
n)1
) 50 (3.118)
where s
T
is the equivalent uniaxial stress computed from the elastic trial stress at the step
(n+1) [see Eq. (3.78)], G is the elastic shear modulus at n+1, D
p
is the unknown increment
of plastic strain over the step, D
p
+
p
n)1

p
n
and s
e
is the equivalent (mises) stress corre
sponding to the plastic strain at the end of the step. T
n)1
denotes the temperature at n+1
for the material point when the specified uniaxial (tensile) response depends on tempera
ture.
.
p
n)1
denotes the plastic strain rate at n+1. The analyst provides the functional rela
tionship, s
e
(
p
,
.
p
, T), through the uniaxial stressstrain curves described previously.
The various forms of s
e
(
p
,
.
p
, T) often cause a local Newton procedure to fail in the solu
tion of Eq. (3.118). The stressstrain curve may: stiffen" after an initially low hardening
region, for example, due to Luders strains; or decrease after first increasing, andor have
strongly discontinuous E
T
values at break points on the curves. All of these effects cause
a simple Newton scheme to fail. After much experimentation, we have adopted a variant
of the false position approach, known as Ridders method, to iteratively solve Eq. (3.118)
in all cases. The method has superlinear convergence and readily eliminates the difficulties
encountered in applying a pure Newton scheme. The procedure insures that during itera
tions the current estimate of D
p
never strays outside the lowerbound value of 0 and the
upperbound value based on the assumptions of no hardening from the lowest possible s
e
value. The procedure converges to very tight tolerances on D
p
and s
e
in 45 cycles and has
proven very robust.
The following sections describe the techniques used to solve Eq. (3.118) first for the in
viscid case for segmental curves and for powerlaw hardening. The two schemes to model
viscoplastic response are described separately. Once D
p
and s
e
are determined from solu
tion of the consistency equation above, correction of the trial deviatoric stress to the up
dated yield surface and the inclusion of hydrostatic stress terms proceeds exactly as for the
bilinear model [see also Eq. (3.131) below]. These discussions here also address the key is
!"#$%" '()*# + WARP3D Material ,)"#"
3.69 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
sue of properly defining the effective plastic modulus, H, for use in the consistent tangent
operator to model the powerlaw hardening and viscoplastic cases.
RateIndependent Consistency Equation (Includes Temperature Dependence)
When the uniaxial tensile response has other than linear (constant) hardening, Eq. (3.118)
is nonlinear in the plastic strain increment, D
p
, and requires an iterative solution. Re
write Eq. (3.118) in the form
R + s
T
*3G(T
n)1
)D
p
*s
e
(
p
n
)D
p
, T
n)1
) 50 (3.119)
where s
T
, the shear modulus G(T
n)1
) and the scalar plastic strain at the beginning of the
step (
p
n
) remain fixed during the solution of this equation to make R0. T
n)1
denotes the
temperature at n+1 for the material point when the specified uniaxial (tensile) response
depends on temperature. The trial elastic stress must reflect the change in elastic properies
between n and n+1. The usersupplied form of s
e
can be quite complex (powerlaw harden
ing with an initial cubic transition region or piecewiselinear with temperature depen
dence). Powerlaw hardening, preceded by a small cubic transition curve, defines a very
smooth decay of the tangent modulus (E
T
) with increasing strain and leads to a very stable
solution of Eq. (3.119), but becomes computationally expensive from the large number of
exponential operations.
The temperature dependence of s
e
creates no difficulties in the solution of Eq. (3.119).
Since WARP3D solves uncoupled stress and temperature models, the temperature at the
end of the step, T
n)1
, is fixed by the prescribed loading prior to the stress updating process
described here. The routines that supervise the stress updating process interpolate the cor
rect s
e
(
p
, T
n)1
) segmental (uniaxial) stress vs. plastic strain curve for use in Eq. (3.119)
based on the Gauss point temperature. This curve remains fixed during the execution of
Ridders method to solve Eq. (3.119) for D
p
. Moreover, the (uncoupled) temperature depen
dence does not introduce additional terms in computation of the consistent tangent opera
tor, Eq. (3.112).
The userspecified form of s
e
(
p
, T) in terms of segmental stress vs. plastic strain curves
provides the most (computationally) economical solution for Eq. (3.119). Given the current
estimate for D
p
from Ridders method, a simple table lookup process yields the corre
sponding value of s
e
(
p
n
)D
p
, T
n)1
).
When the inviscid, uniaxial stressstrain curve follows the powerlaw model, the evalu
ation of s
e
(
p
n
)D
p
) for each trial value of D
p
(during Ridders method) itself requires a
local Newton iteration as described below. The powerlaw model is defined by (neglecting
yet more complication with the initial cubic transition region and dropping the implied e
subscript)

0
+
s
s
0
, v
0
(3.120a)

0
+
s
s
0

N
, u
0
(3.120b)
where s
0
and
0
are reference yield stress and strain levels that also define E. To evaluate
Eq. (3.120b) given an estimate of D
p
, write

n)1
+
s
n)1
E
)
p
n
)D
p
(3.121)
This is a simple, nonlinear equation solved readily for
n)1
and thus s
n)1
using a local New
ton scheme. Define the residual, R, of Eq. (3.121) by
!"#$%" '()*# + WARP3D Material ,)"#"
3.610 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
R +
n)1
*
s
n)1
E
*
p
n)1
. (3.122)
For the (i) estimate of
n)1
, find the change in R such that R+dR+0 where
dR +
R

n)1
d
n)1
. (3.123)
The required derivative is found to be
R

n)1
+1 *
1
N

n)1

1
N
*1
. (3.124)
Successive improvements to the value of
n)1
are thus

(i)1)
n)1
+
(i)
n)1
)d
(i)
n)1
+
(i)
n)1
*
R
(i)
R

n)1
(3.125)
Iterations continue until convergence on
n)1
and s
n)1
is achieved. Suitable convergence
tests are

s
(i)1)
n)1
*s
(i)
n)1

vtols
(i)1)
n)1
(3.126)

(i)1)
n)1
*
(i)
n)1

vtol
(i)1)
n)1
(3.127)
where we specify 10
*6
for tol. The starting estimate
(1)
n)1
is given by

(1)
n)1
+
0
)D
p
(3.128)
We find convergence is achieved in at most 34 iterations over Eq. (3.122) (3.127). The
instantaneous plastic modulus, needed for the consistent tangent, is given by
H
n)1
+
EE
T,n)1
E*E
T,n)1
(3.129)
where
E
T,n)1
+
E
N

s
n)1
s
0

(1*N)
. (3.130)
With a converged value forD
p
given by the solution of Eq. (3.118), the updated stress state
is computed by the usual radial return to the updated yield surface (isotropic hardening)
{s}
n)1
+{s
T
}
n)1
*
3GD
p
s
T
{S
T
}
n)1
, {}impliesa6 1vector (3.131)
where {S
T
}
n)1
is the deviatoric portion of the trial elastic stress state {s
T
}
n)1
.
RateDependent Consistency Equation (PowerLaw Model)
To introduce the powerlaw dependence on strain rate into the model, rewrite the consis
tency equation of Eq. (3.118) in the form
s
T
*3GD
vp
*q(
vp
n)1
, s
e,n)1
, Dt) 50 (3.132)
!"#$%" '()*# + WARP3D Material ,)"#"
3.611 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
where q denotes the ratedependent equivalent stress, s
e,n)1
becomes the inviscid equiva
lent stress (which may be a nonlinear function of
vp
and temperature) andDt+t
n)1
*t
n
.
The powerlaw viscoplastic relationship is often suitable for ductile metals undergoing
large amounts of plastic straining. The viscoplastic strain rate is given by

.
vp
+
1
h

q
s
e

m
*1 (3.133)
where h and m are material constants. The viscosity term is often written in the form
D+1h. In the simplest case, s
e
is specified to remain constant at the yield stress, s
0
. More
generally, s
e
is a nonlinear function of
vp
and can vary with temperature.
The integration of Eq. (3.133) with a backward Euler procedure yields
D
vp
+
Dt
h

q
n)1
s
e,n)1

m
*1 (3.134)
which is solved for q
n)1
to yield
q
n)1
+ s
e,n)1

hD
vp
Dt
)1
1m
. (3.135)
We observe in Eq. (3.135) that as hDt 0 the inviscid solution is recovered. The ratede
pendent consistency equation, Eq. (3.132), is also solved using Ridders method for D
vp
with q
n)1
defined as in Eq. (3.135). Convergence is achieved in a few iterations. With D
vp
known, the updated stress state at n+1 is given by the usual radialreturn to the yield sur
face
{s}
n)1
+{s
T
}
n)1
*
3GD
vp
s
T
{S
T
}
n)1
. (3.136)
To form the consistent tangent, the instantaneous plastic modulus for the ratedependant
equivalent stress is required
H
q,n)1
+
dq
d
vp

n)1
(3.137)
We must obtain H
q,n)1
by differentiating the algorithm that defines the evolution of q.
From Eq. (3.134) we obtain
d
.
vp
n)1
+d(D
vp
) +
mDt
h

q
n)1
s
e,n)1

m*1

s
e,n)1
dq
n)1
*q
n)1
ds
e,n)1
s
2
e,n)1
. (3.138)
By substituting for ds
e,n)1
in terms of the plastic modulus for the inviscid response Eq.
(3.129)
ds
e,n)1
+H
n)1
d
vp
n)1
(3.139)
Eq. (3.138) is solved for H
q,n)1
as
H
q,n)1
+
dq
d
vp
n)1

n)1
+
hs
e,n)1
mDt

q
n)1
s
e,n)1

1*m
)
q
n)1
s
e,n)1
H
n)1
(3.140)
!"#$%" '()*# + WARP3D Material ,)"#"
3.612 -./01#$ 2 34#,#51" /5* 6/1#$)/4 67*#4"
The plastic modulus H
q,n)1
provides the value of H that appears in the consistent tangent
operator, Eq. (3.112). Note that as hDt 0 in Eq. (3.140), q
n)1
s
e,n)1
must also 1 and
the inviscid H
n)1
is recovered.
RateDependent Consistency Equation (General Segmental Form)
For the more general ratedependent model, the user specifies a set of segmental curves
that define stress vs. plastic strain for a series of plastic strain rates. The consistency equa
tion of Eq. (3.118) has the form
s
T
*3GD
p
*s
e
(
p
n)1
,
.
p
) 50 (3.141)
where the plastic strain rate is approximated by
.
p
+D
p
Dt and Dt+t
n)1
*t
n
. Ridders
method to solve Eq. (3.141) generates a series of estimates for D
p
and thus
.
p
. Given
.
p
, the
update process interpolates the user supplied segmental curves to define a s
e
(
p
) curve at
the current estimate of the plastic strain rate.
To form the consistent tangent, the instantaneous plastic modulus for the ratedepen
dant equivalent stress is required such that (at n+1)
ds
e
+
s
e

p
d
p
)
s
e

.
p
d
.
p
(3.142)
where the plastic strain rate is d
.
p
+d
p
dt. The above expression can also be written as
ds
e
+
s
e

p
)
1
dt
s
e

.
p
d
p
+H
n)1
d
p
(3.143)
where
H
n)1
+
ds
e
d
p

n)1
(3.144)
The plastic modulus H
n)1
provides the value of H that appears in the consistent tangent
operator, Eq. (3.112). Note that as s
e

.
p
0 in Eq. (3.143) the inviscidH
n)1
is recovered.
The segmental form of the s
e
(
p
,
.
p
) response requires numerical differentiation to
approximate the derivative s
e

.
p
at the current estimate for
p
and
.
p
at n+1. This is ac
complished using a central difference operator
s
e

.
p
[
s
e
(
p
,
.
p
)d
.
p
) *s
e
(
p
,
.
p
*d
.
p
)
2 d
.
p
(3.145)
where d
.
p
is taken as d
.
p
+0.02
.
p
. The other required derivative, s
e

p
, follows direct
ly from the slope of the interpolated s
e
(
p
,
.
p
) curve at
p
n)1
. The final form for H
n)1
then
becomes
H
n)1
+
ds
e
d
p

n)1
[
Ds
e
D
p
)
1
Dt
Ds
e
D
.
p

n)1
(3.146)
!"#$%" '()*# + WARP3D Material ,($"-.
3.71 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
3.7 Material Model Type: gurson
This material model implements the GursonTvergaard (GT) plastic potential to predict
the response of an elasticplastic solid containing voids (Gurson [32], see Tvergaard [96] for
a comprehensive review). The basis for the model derives from analyses of a single cell con
taining a centered spherical void of initial volume fractionf
0
. The void volume fraction, f,
increases under loading and eventually leads to a gradual loss of stress carrying capacity
for a macroscopic material element. With this model, a material element effectively con
tains a void of volume fraction f and (solid) matrix material of volume fraction (1f ). The
matrix response follows the soecified uniaxial (tensile) stressstrain properties which can
be represented in one of several ways and can also include viscoplastic effects.
The GT yield condition is given by
g(s
e
, s
m
, s, f ) +

s
e
s

2
)2q
1
f cosh
3q
2
s
m
2s
*

1 )q
3
f
2

+0 (3.147)
where s
e
denotes the (Mises) equivalent (macroscopic) stress, s
m
is the mean (macroscopic)
stress, s is the (Mises) equivalent stress of the matrix and f is the current void fraction. Fac
tors q
1
, q
2
, and q
3
introduced by Tvergaard improve the model predictions for periodic ar
rays of cylindrical and spherical voids. When f+0 the yield condition reduces to convention
al J
2
plasticity. The computations for this model should be carried out with the finite strain
formulation (nonlinear element property) so that Cauchy stresses are used in the evalua
tion of Eq. (3.147).
The current implementation employs a backward Euler technique developed by Aravas
[2] to integrate the plasticity rate equations. This procedure is unconditionally stable there
by permitting the use of larger load increments than is possible with traditional forward
Euler and semiexplicit procedures. However, the use of large load increments can lead to
nonconvergence of Newton loops within the model to resolve updated state variables.
The gurson model provides three options to describe the inviscid uniaxial (tensile)
stressstrain curve for the (dense) matrix material: (1) constant linear hardening after
yield, (2) pure powerlaw hardening after an initially linear response prior to yield, and (3)
general piecewiselinear (segmental) description which may be temperature dependent.
For temperature independent responses, the thermal expansion coefficients can be isotrop
ic or anisotropic.
The temperature dependent, uniaxial response defined through a set of segmental
stress vs. plastic strain curves also introduces the temperature dependence of Youngs
modulus, Poissons ratio and the (isotropic) thermal expansion coefficient.
To introduce a strainrate dependence in the matrix material, the gurson model pro
vides two schemes: (1) a powerlaw viscoplastic model which can use any of the inviscid tem
perature dependent or independent uniaxial responses, and (2) a general ratedependent
response described by a series of segmental stress vs. plastic strain curves at various plastic
strain rates (no temperature dependence).
3.7.1 StressStrain Curves
The inviscid uniaxial (tensile) stressstrain curve for the matrix material and the elastic
properties are represented by one of the following:
(1) the linear hardening model shown in Fig. 3.13 (temperature independent E and n, thermal
expansion coefficients may be isotropic or anisotropic)
!"#$%" '()*# + WARP3D Material ,($"-.
3.72 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
(2) a powerlaw hardening model shown in Fig. 3.16 (temperature independent E and n, ther
mal expansion coefficients may be isotropic or anisotropic)
(3) a segmental curve of the type described in Section 2.2.2 and illustrated in Fig. 2.1 (tempera
ture independent E and n, thermal expansion coefficients may be isotropic or anisotropic)
(4) a temperature dependent set of segmental curves of the type described in Section 2.2.3 and
illustrated in Fig. 2.2. (temperature dependent E, n, and a, where the thermal expansion
coefficients must be isotropic)
For the powerlaw description, the computational routines insert a small (cubic) transition
curve to maintain continuous values of E
T
between the initially linear and powerlaw re
gions (see Fig. 3.16)
The powerlaw, ratedependent model described in the following section may be used
with any of the above inviscid stressstrain curves and elastic properties. The viscosity
term, D, and the rate exponent, m, are temperature invariant.
The more general ratedependent response uses a set of segmental stress vs. plastic
strain curves at various plastic strain rates to describe the uniaxial response. Section 2.2.4
describes the procedures to define the set of curves. These curves and the elastic properties
(E, n, a) are temperature independent. The thermal expansion coefficents can be isotropic
or anisotropic.
For a smallstrain analysis (linear kinematic formulation), specify engineering values
for the strain(
E
) and stress (s
E
). For a finitestrain analysis (nonlinear kinematic formula
tion), specify the uniaxial stressstrain curve using the logarithmic strain, , and the true
(Cauchy) stress, s. For a finitestrain analysis, the user should convert conventional engi
neering strain,
E
, and engineering (nominal) stress, s
E
, values for input using the relations:
s + s
E

1 )
E

(3.148)
+ln

1 )
E

(3.149)
The above conversions assume incompressible, homogeneous deformation. The true stress
true strain curve discussed here assumes homogeneous, uniaxial deformation of the mate
rial, i.e., prior to necking. Once necking occurs, the above expressions are no longer applica
ble. More elaborate corrections, for example those developed by Bridgeman, are required.
3.7.2 PowerLaw Viscoplasticity
One schecme to introduce a rate dependence into the matrix response adopts a powerlaw,
viscoplastic relationship suitable for ductile metals undergoing large amounts of plastic
straining. The viscoplastic strain rate is given by

.
vp
+D
q
s
e

m
*1 (3.150)
where D and m are userspecified material constants, q denotes the ratedependent (uni
axial) tensile stress and s
e
the inviscid (uniaxial) tensile stress. The viscosity term is often
written in the form D=1/h. For a moderately ratesensitive material, such as an A533B pres
sure vessel steel at 100
o
C, typical values of D and m are 1.0 (in.in.sec) and 35, respective
ly. In the simplest case, s
!
is specified to remain constant at the yield stress, s
!
(the linear
hardening model with E
T
+0). More generally, s
e
is a linear, powerlaw, or piecewise linear
(segmental) function of
"#
.
We recommend that the piecewiselinear description of the tensile stressstrain curve not
be used with the viscoplastic option at this time. Convergence of the global Newton itera
!"#$%" '()*# + WARP3D Material ,($"-.
3.73 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
tions is sometimes reduced; no such problems occur for the linear or powerlaw hardening
options.
3.7.3 Recommended Parameter Values
Faleskog [26] has performed an extensive set of 3D discrete cell models to better calibrate
the q
1
and q
2
parameters. The parameters depend strongly on the strain hardening expo
nent for the matrix material and less so on the s
0
E ratio. The table below summarizes re
sults of the most current cell model calibrations. With q
1
and q
2
selected from the table, the
third parameter, q
3
, should be specified as q
3
+q
2
1
.
Optimal values for micromechanics parameters (q
1
, q
2
)
s
0
E+0.001 s
0
E+0.002 s
0
E+0.004
Hardening (n) q
1
q
2
q
1
q
2
q
1
q
2
5 1.96 0.781 1.87 0.800 1.71 0.836
6.7 1.78 0.833 1.68 0.856 1.49 0.901
10 1.58 0.902 1.46 0.931 1.29 0.982
13.3 1.52 0.937 1.45 0.960 1.33 1.004
20 1.63 0.950 1.57 0.974 1.48 1.013
3.7.4 Nucleation Model
The volume fraction of voids increases over an increment of load due to continued growth
of existing voids and due to the formation of new voids caused by interfacial decohesion of
inclusions or second phase particles. Thus,
df +df
growth
)df
nucleation
. (3.151)
The growth component is defined by the current volume fraction of voids and the macro
scopic change in void fraction is (the matrix material satisfies plastic incompressibility)
df
growth
+(1 *f ) d
p
: I +(1 *f ) d
p
. (3.152)
We adopt an evolution model for nucleation based on current plastic strain in the matrix
df
nucleation
+A(
p
) d
p
. (3.153)
Chu and Needleman suggest a form for A as
A+
f
N
s
N
2p

exp

*
1
2

p
*
N
s
N

(3.154)
where the nucleation strain follows a normal distribution with a mean value
N
and a stan
dard deviation s
N
with the volume fraction of void nucleating particles given by f
N
. A sim
pler form of Gursons model which neglects nucleation is derived by setting A50 (three few
er material parameters are then required).
!"#$%" '()*# + WARP3D Material ,($"-.
3.74 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
Model Property Keyword Mode
Default
Value
Youngs modulus e Number 30000
Poissons ratio nu Real 0.3
Mass density rho Number 0.0
Yield stress yld_pt Number 0.0
Hardening modulus (E
T
) tan_e Number 0.0
Power law exponent (n) n_power Number 0.0
Reference strain rate (D) ref_eps Number 0.0
Viscous exponent (m) m_power Number 0.0
Initial porosity (f
0
) f_0 Number 0.0
Yield function parameter q
1
q1 Number 1.5
Yield function parameter q
2
q2 Number 1.0
Yield function parameter q
3
q3 Number 2.25
Include nucleation of new voids nucleation Logical .False.
Nucleation parameter f
N
f_n Number 0.04
Nucleation parameter s
N
s_n Number 0.10
Nucleation parameter e
N
e_n Number 0.30
Put element in killable list killable Logical .False.
Suppress step size cutbacks no_cutback Logical .False.
Stressstrain curve(s) curve Number 0
Table 3.7 Properties for gurson Material Model
!"#$%" '()*# + WARP3D Material ,($"-.
3.75 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
3.7.5 Element Extinction
Under increasing deformation, the void volume fraction reaches a level at which the ele
ment capacity to resist stress decreases precipitously. This final stage of deformation just
prior to material separation is not realistically predicted with the GT model (even though
the numerical computations remain stable to very high levels of f, approaching 0.5).
Chapter 5 describes an extinction procedure which removes elements from the model
and slowly reduces the remaining tractions to zero. This occurs when the void fraction f
reaches a userspecified level, denoted f
E
. The crack growth procedures in Chapter 5 apply
only to elements which have an associated gurson material with the material logical prop
erty killable specified.
When the killable property is not specified, the stress updating process continues with
f increasing. Eventually, the model routines may request load step reductions to stabilize
the state update process.
3.7.6 Adaptive Step Sizes
By default, the gurson model routines request a cutback of the global load step size when
the iterative process to update the internal state variables at a Gauss point fails to conver
ge. If the nonlinear solution parameter adaptive on is in effect (see Section 2.10.4), the glob
al load step reduction occurs and subsequent gurson computations nearly always converge.
If the nonlinear solution parameters have adaptive off, the gurson routines print an mes
sage describing the convergence problem and terminate the analysis.
Users may disable the automatic cutback requests in the material model through the
model property no_cutback. If the state update process fails to converge, the model immedi
ately terminates execution of the program.
3.7.7 Model Properties
The properties defined for material model gurson are listed in Table 3.7. The values of
Youngs modulus and Poissons ratio must be specified unless these properties are defined
by referencing a set of temperature dependent, segmental stressstrain curves. In such a
case, these elastic properties become temperature dependent.
The thermal expansion coefficient(s) can be (1) isotropic and temperature independent,
(2) isotropic and temperature dependent or (3) anisotropic and temperature independent.
For case (1), specify the value of alpha in the material definition. For case (2), specify the
alpha values during definition of the temperature dependent stressstrain curves. For case
(3), specify the anisotropic values through the material properties or through the separate
thermal expansion coefficients command (see Section 2.2.6).
The isotropic model for thermal loading can be used in small displacement, large dis
placement and finite strain analyses. The anisotropic model for thermal loading should
generally not be used in large displacementrotation analyses as the anistropic coefficients
are not rotation neutralized (use of anisotropic coefficients to model initial residual stresses
when the initial displacements and rotations remain small is acceptable).
3.7.8 Model Output
By default, the material model prints no messages during computations. If requested, the
material model prints the element number and strain point number whenever the effective
stress first exceeds the specified yield stress. This option is requested with the nonlinear
!"#$%" '()*# + WARP3D Material ,($"-.
3.76 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
solution parameter material messages on (refer to Section 2.10.8). Messages about requests
for global load step reductions are always printed.
The model makes available the strain energy density, U
0
, to the element routines for
subsequent output. U
0
at step n+1 is evaluated using the trapezoidal rule
U
n)1
0
+U
n
0
)
1
2

t
n)1
)t
n

: Dd (3.155)
where the unrotated Cauchy stresses and unrotated strain increments are adopted for the
finitestrain formulation.Thermal contributions to Dd are subtracted prior to the above
computation.
The element stress output contains up to three values for the material model state"
variables. These values for the gurson material are:
mat_val1: accumulated (macroscopic) plastic strain,
e
p
+
3
2

. p
ij

. p
ij

dt
mat_val2: current equivalent stress for unvoided material, i.e., s in discussions of Section 3.7.11
mat_val3: current void fraction, f
3.7.9 Computational Efficiency
The computational routines for this model process elements in blocks of a size matched to
the vector length of the computer (i.e., Crays) or to the cache size of the workstation. Most
of the model computations are written in vectorized" code. The local Newton loops to solve
the scalar consistency equations for the two internal variables execute in scalar mode. Our
experience with these algorithms indicate that the linear (constant) hardening model re
quires the least computational effort and provides the most robustness in terms of handling
large step sizes. The powerlaw representation of the uniaxial stressstrain curve is equally
robust but is much more expensive due to the subiterations needed to compute the uniaxial
stress given an estimate for the increment of plastic strain, combined with the large num
ber of exponential operations (the powerlaw model can increase total execution time by
2025%). The most general uniaxial response is described by temperature and or loading
rate dependent, piecewise linear segments. The local Newton procedures to solve the pair
of consistency equations for the two internal variables provides the least robustness of the
three models for stressstrain curves. The Newton procedure exhibits sensitivity to the
number of curve segments and the severity of slope changes between segements.
Our testing also indicates the piecewiselinear model combined with the powerlaw visco
plastic option can reduce the convergence rate of global Newton iterations. No such degra
dation is experienced with purely linear hardening or powerlaw hardening combined with
viscoplasticity.
This model is computationally less efficient than the mises model of the previous section.
3.7.10 Examples
The following example defines the temperature independent properties for a mild steel ma
terial frequently used in fracture models and assigns the material to some elements. The
matrix material has a powerlaw, rate dependent response where the inviscid material re
sponse follows a simple linear+powerlaw model. The q
1
, q
2
and q
3
parameters correspond
to values taken from Faleskogs cell model analyses (see table in Section 3.7.3). The materi
al has the killable property set to enable element extinction during crack growth analyses.
!"#$%" '()*# + WARP3D Material ,($"-.
3.77 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
The nucleation of new voids at high plastic strains in the matrix material is not invoked in
this example.
structure cct
c
material a533b
properties gurson e 30000 nu 0.3 yld_pt 60.0 n_power 10,
rho 7.3e07 ref_eps 40 m_power 20 f_0 0.005 q1 1.46,
q2 0.931 q3 2.13 killable
c
number of nodes 25642 22092
c
elements
1400022092 type l3disop linear material a533b order 2x2x2,
long bbar
c
The following example defines the properties for a temperature dependent behavior (note
that the segmental curves define the elastic and thermal properties). See Section 2.2.3 for
a more complete discussion the definition of sets of segmental curves to describe tempera
ture dependence. The gurson material in this example has the straincontrolled nucleation
invoked.
c
stressstrain curve 1 temperature 100 e 30000 nu 0.3 alpha 0.0001
0.0 80, $ these are plastic strain vs. stress values
0.025 96, $ the first point must have zero plastic strain...
0.050 103,
0.10 108,
0.20 114,
0.30 118,
0.40 122,
100 1000
c
stressstrain curve 2 temperature 300 e 28000 nu 0.28 alpha 0.0002
0.0 70,
0.025 85,
0.050 91,
0.10 96,
0.20 102,
0.30 105,
0.40 108,
100 1000
c
stressstrain curve 3 temperature 500 e 25000 nu 0.25 alpha 0.0003
0.0 60,
0.025 74,
0.050 79,
0.10 83,
0.20 88,
0.30 91,
0.40 93,
100 1000
c
material steel
properties gurson curves 13 rho 7.3e-07,
f_0 0.005 q1 1.25 q2 1.0 q3 1.5625
e_n 0.4 s_n 0.05 f_n 0.50 nucleation
c
!"#$%" '()*# + WARP3D Material ,($"-.
3.78 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
structure cct
c
number of nodes 25642 22092
c
elements
14000-22092 type l3disop nonlinear material steel order 2x2x2,
long bbar
c
The following example defines the properties for general rate dependent behavior of the
matrix material (note that the elastic and thermal properties must be defined as part of the
material). The thermal expansion coefficients are anisotropic (for example, to introduce an
initial residual stress field through an eigenstrain approach)
c
stressstrain curve 1 plastic strainrate 500
0.0 80, $ these are plastic strain vs. stress values
0.025 96, $ the first point must have zero plastic strain...
0.050 103,
0.10 108,
0.20 114,
0.30 118,
0.40 122,
100 1000
c
stressstrain curve 2 plastic strainrate 250
0.0 70,
0.025 85,
0.050 91,
0.10 96,
0.20 102,
0.30 105,
0.40 108,
100 1000
c
stressstrain curve 3 plastic strainrate 0
0.0 60,
0.025 74,
0.050 79,
0.10 83,
0.20 88,
0.30 91,
0.40 93,
100 1000
c
material steel
properties gurson curves 13 rho 7.3e-07,
f_0 0.005 q1 1.25 q2 1.0 q3 1.5625
e_n 0.4 s_n 0.05 f_n 0.50 nucleation,
alphax 1.2e05 alphay 1.0e05 alphaz 2.1e05,
alphaxy 3.5e05 alphaxz 0.8e05 alphayz 1.1e05
3.7.11 Plasticity Algorithms
Material Elasticity and Yield Criterion
The material is elastically isotropic and for a specified increment of total (macroscopic)
strain,
!"#$%" '()*# + WARP3D Material ,($"-.
3.79 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
D +
n)1
*
n
(3.156)
the trial (T) elastic stress state is defined by (using elastic properties for the temperature
T
n)1
)
s
T
n)1
+ s
n
)D
e
: D. (3.157)
We use bold italics to denote a secondorder tensor, bold uppercase indicates a symmet
ric fourthorder tensor, and : denotes the operator consistent for the order of tensors in
volved, e.g., "! " !#
$%
+ &
$%'(
)
'(
. Italic symbols denote scalar variables. All tensor compo
nents are given with respect to a fixed, Cartesian system.
We define S
T
n)1
as the deviatoric component ofs
T
n)1
from which the equivalent (macro
scopic) stress is given by
q
T
n)1
+

3
2
S
T
ij
S
T
ij

12
n)1
. (3.158)
Similarly, the trial hydrostatic stress is given by
p
T
n)1
+ *
1
3
s
T
n)1
: I + *
1
3
(s
11
)s
22
)s
33
)
T
n)1
. (3.159)
Gursons yield function is given by
g +

q
s

2
)2q
1
f cosh*
3
2
q
2
p
s
*(1 )q
3
f
2
) +0 (3.160)
where q
1
, q
2
, q
3
are material constants, f is the current void fraction and sis the current
(Mises) equivalent stress of the matrix. Most often,q
1
+1.5, q
2
+1 and q
3
+q
2
1
to match
the response of discrete hole growth models under pure shear and pure hydrostatic loading.
We evaluate the yield criterion for the trial elastic state using current values of the (scalar)
state variables
g
T
n)1
+g(q
T
n)1
, p
T
n)1
, f
n
, s
n
). (3.161)
The material loading is defined by
g
T
n)1
t0linear *elastic
g
T
n)1
w0plasticloading
. (3.162)
Unloading from a previously plastic state is treated inelastically such that
s
n)1
+ s
T
n)1
(3.163)
with the internal state variables retaining their values at n.
Plasticity Rate Equations
When the material is loading plastically as indicated by Eq. (3.162), the macroscopic contin
uum flow rule is expressed as
d
p
+dL
g
s
(3.164)
where dL is the (positive) plastic multiplier. Integration of the plastic strain rate over the
step using the backward Euler procedure yields
D
p
+DL
g
s

n)1
. (3.165)
!"#$%" '()*# + WARP3D Material ,($"-.
3.710 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
The derivative of the yield function in Eq. (3.165) is written in the terms of the hydrostatic
and deviatoric contributions to provide
D
p
+DL*
1
3
g
p
I )
g
q
n
n)1
(3.166)
where the unit normal nis defined by
n
n)1
+
3
2q
n)1
S
n)1
. (3.167)
To simplify subsequent expressions, we introduce definitions for the (scalar) volumetric
and deviatoric plastic strain as
D
p
+ *DL
g
p

n)1
(3.168)
D
q
+DL
g
q

n)1
(3.169)
and substitute into Eq. (3.166) to give
D
p
+
1
3
D
p
I )D
q
n
n)1
. (3.170)
If the updated stress state at n+1 is written in terms of the usual volumetric and deviatoric
components
s
n)1
+ *p
n)1
I )S
n)1
(3.171)
then with the notation defined by Eq. (3.167), the updated stress state also may be written
in the form
s
n)1
+ *p
n)1
I )S
n)1
+ *p
n)1
I )
2
3
q
n)1
n
n)1
(3.172)
In terms of the trial elastic stress state, the updated stress state may be constructed as fol
lows:
s
n)1
+ s
n
)D
e
: (D *D
p
) (3.173)
where the first two terms on the right side combine to define the trial elastic state such that
s
n)1
+ s
T
n)1
*D
e
: D
p
. (3.174)
The negative term on the right side defines a plastic stress correction for the trial elastic
stress. Using Eq. (3.170), this term may be expressed in the form
D
e
: D
p
+KD
p
I )2GD
q
n
n)1
(3.175)
where K and G are the elastic bulk and shear modulus, respectively. Substitution of Eq.
(3.175) into Eq. (3.174) provides a convenient form of the updated stress as
s
n)1
+ s
T
n)1
*KD
p
I *2GD
q
n
n)1
. (3.176)
!"#$%" '()*# + WARP3D Material ,($"-.
3.711 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
In the above equation, the trial elastic stress state is corrected (i.e. returned) to the updated
yield surface. In deviatoric space, the return direction is along the normal defined by n
n)1
.
Using the material elasticity, we also have the following relations for the updated hydro
static and equivalent stress
p
n)1
+p
T
n)1
)KD
p
(3.177)
q
n)1
+q
T
n)1
*3GD
q
(3.178)
which prove very useful in the numerical processes described below.
The key step in the backward Euler scheme defines the return normal direction as the dev
iatoric direction of the trial elastic state as, using Eq. (3.158) and Eq. (3.167),
n
n)1
+
3
2q
T
n)1
S
T
n)1
(3.179)
which yields finally
s
n)1
+ s
T
n)1
*KD
p
I *
3GD
q
q
T
n)1
S
T
n)1
. (3.180)
This choice for the return direction simplifies greatly numerical solution for the updated
stress state; in 3D the number of unknowns is reduced by 6, the number of unique terms
in n
n)1
. A more detailed discussion of similar return mapping algorithms is given by Simo.
From Eq. (3.176), a knowledge of D
p
, D
q
fully defines the updated stress state. The numer
ical solution must determine values for these scalar parameters so that D
p
satisfies the
flow rule over the step and the updated stresses satisfy the yield criterion. In the process
of computing D
p
, D
q
, the internal state variables are updated as well.
Internal State Variables
Gursons model includes a set of state variables which partition the macroscopic stress
strain into the matrix material and the smeared" voids. These state variables define the
microscopic plastic strain in the matrix and the current volume fraction of voids.
Plastic Strain in the Matrix
Plastic work in the matrix is taken to be a relative fraction, 1f, of macroscopic plastic work
such that
(1 *f) sd
p
+ s : d
p
(3.181)
where
p
denotes the matrix plastic strain. This rate equation is integrated over the step
using backward Euler and solved for the increment of plastic strain in the matrix
D
p
+
s
n)1
: D
p
(1 *f
n)1
) s
n)1
(3.182)
where the numerator simplifies considerably to provide
D
p
+
*p
n)1
D
p
)q
n)1
D
q
(1 *f
n)1
) s
n)1
. (3.183)
A variety of models for the evolution of s, the equivalent matrix stress, with increasing plas
tic strain in the matrix may be defined. Both inviscid and powerlaw viscoplastic models
are discussed in a subsequent section.
!"#$%" '()*# + WARP3D Material ,($"-.
3.712 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
Evolution of Void Fraction
The volume fraction of voids increases over an increment due to continued growth of exist
ing voids and due to the formation of new voids caused by interfacial decohesion of inclu
sions or second phase particles. Thus,
df +df
growth
)df
nucleation
. (3.184)
The growth component is defined by the current volume fraction of voids and the macro
scopic change in void fraction is (the matrix material satisfies plastic incompressibility)
df
growth
+(1 *f ) d
p
: I +(1 *f) d
p
. (3.185)
We adopt an evolution model for nucleation based on current plastic strain in the matrix
df
nucleation
+A(
p
) d
p
. (3.186)
Chu and Needleman suggest a form for A as
A+
f
N
s
N
2p

exp

*
1
2

p
*
N
s
N

(3.187)
where the nucleation strain follows a normal distribution with a mean value
N
and a stan
dard deviation s
N
with the volume fraction of void nucleating particles given by f
N
. A sim
pler form of Gursons model which neglects nucleation is derived by setting A50 (three
fewer material parameters are then required).
Equation (3.185) and its component terms are integrated using backward Euler to obtain
Df +(1 *f
n)1
)D
p
)A(
p
n)1
)D
p
. (3.188)
Equations (3.183) and (3.188) comprise a pair of coupled, nonlinear algebraic equations to
update the microscopic state variables f,
p
for specified values of the macroscopic plastic
strains D
p
, D
q
.
Response of the Matrix Material
A variety of models for the evolution of s, the equivalent matrix stress, may be defined. Here
we consider two inviscid models, the first of which is
s + s
0
)H
p
(3.189)
where His the specified (constant) plastic hardening modulus (H may be zero) and s
!
is
the specified uniaxial yield stress. The second inviscid model is a simple powerlaw with
initially linear response

0
+
s
s
0
, v
0
(3.190)

0
+

s
s
0

N
, u
0
(3.191)
where the total equivalent strain in the matrix, , is simply + sE)
p
and E + s
0

0
.
Eq. (3.191) is solved iteratively for s with a local Newton loop for a given value of plastic
strain in the matrix,
p
. The plastic modulus, H, is then found by
H +
EE
T
E*E
T
(3.192)
!"#$%" '()*# + WARP3D Material ,($"-.
3.713 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
where the tangent modulus is defined from Eq. (3.191) by
E
T
+
E
N

s
s
0

(1*N)
. (3.193)
A more general response for the matrix material may be defined using piecewiselinear
(segmetnal) stressstrain curves. These curves support the definition of (1) rate and tem
perature independent response, (2) temperature dependent response including Youngs
modulus, Poissons ratio and isotropic thermal expansion coefficent, and (3) strainrate de
pendent response with rate independent Youngs modulus and Poissons ratio.
To powerlaw viscoplastic matrix material follows the form

.
p
+
1
h

s
s
e

m
*1 (3.194)
where h and m are material constants and s
e
is the inviscid equivalent stress for the matrix.
The viscosity term is often written in the form D=1/h. In the simplest case, s
e
is specified
to remain constant at the yield stress, s
0
. More generally, s
e
is a nonlinear function of

p
along the lines of Eq. (3.191).
The integration of Eq. (3.194) with a backward Euler procedure yields
D
p
+
Dt
h

s
n)1
s
i,n)1

m
*1 (3.195)
where subscript i denotes the inviscid response at the same plastic strain in the matrix.
This expression is solved directly for s
n)1
s
n)1
+ s
i,n)1

hD
p
Dt
)1
1m
. (3.196)
We observe in Eq. (3.196) that as hDt 0 the inviscid solution is recovered. Each of
the above models for s
n)1
are functions of the plastic strain in the matrix and can thus be
resolved during the solution for D
p
, D
q
. The plastic modulus is given by
H +
ds
d
p

n)1
+
hs
i
mDt

s
s
i

1*m
)
s
s
i
H

i
(3.197)
where all terms on the RHS of (3.197) are evaluated at n+1.
Summary of Updating Process
The stress updating process requires computation of a set of stresses defined by Eq. (3.180)
for which the flow conditions given in Eq. (3.168) and Eq. (3.169) are satisfied consistent
with updated values of the internal state variables. The proportionality factor DL is elimi
nated by dividing Eq. (3.168) by Eq. (3.169) to define the relationship between the incre
ments of volumetric and deviatoric plastic strain as
D
p

g
q
)D
q

g
p
+0. (3.198)
This relationship together with satisfaction of the yield criterion at n+1 using stresses of
Eq. (3.180)
!"#$%" '()*# + WARP3D Material ,($"-.
3.714 /0123#$ 4 56#7#.3" 1.* 813#$)16 8-*#6"
g
n)1
+g( q
n)1
, s
n)1
, p
n)1
, f
n)1
) +0 (3.199)
defines a pair of nonlinear algebraic equations for numerical solution. The primary un
known variables in these two equations are the macroscopic plastic strains D
p
, D
q
.
These equations are solved iteratively using Newtons method. Given estimates
for D
p
and D
q
, the updated stress state, p
n)1
and q
n)1
, are given by Eq. (3.177) and Eq.
(3.178). The internal state variables,
p
, sand f, are updated to n+1 by solving these three
equations simultaneously, Eqs. (3.183) and (3.188) are repeated for clarity)
D
p
+
p
n)1
*
p
n
+
*p
n)1
D
p
)q
n)1
D
q
(1 *f
n)1
) s
n)1
. (3.200)
Df +f
n)1
*f
n
+(1 *f
n)1
)D
p
)A(
p
n)1
)D
p
. (3.201)
s
n)1
+ s(
p
n)1
) (3.202)
The numerical complexity in updating
p
andf depends on the form adopted for s(
p
) and
whether or not the nucleation component of f is included. If s(
p
) of the form defined by Eq.
(3.189) is adopted and A50, the above three equation reduce to a single linear equation
for D
p
after which Df is found directly as well. In other cases, another level of Newtons
iterations is required to resolve D
p
and Df consistent with s.
Users Guide - WARP3D Material: cohesive
3.8 Material Model Type: cohesive
This material model idealizes the fracture process in solids as the gradual separation across
initially thin and coincident surfaces which may in general be non-planar. The loss of cohesion
and thus crack formation-extension within a solid may be viewed as the progressive decay of
otherwise intact tension and shear tractions across the adjacent surfaces. The introduction of
interface constitutive models that determine the current normal and shear tractions from rela-
tive displacement jumps across the surfaces provides a description for the progressive fracture
process. At suciently large displacement jumps across the interface surfaces, the models de-
grade the tractions to zero thereby creating new, traction-free surfaces within the volumetric
nite element model. Further, the cohesive zone model introduces an intrinsic length-scale in the
local fracture process via the specied cohesive-fracture energy which enables fracture process
zones on the specimen-component scale to evolve as a natural outcome of the computations.
The following sections provide details of the formulations for a linear-elastic and two types
of nonlinear, cohesive constitutive models intended for use at the integration points in linear-
displacement interface elements (inter 8, trint6) and the quadratic-displacement interface ele-
ment trint12 (see Sec.3.3). The interface elements provide both small-displacement and large-
displacement formulations. The cohesive constitutive models described here dene a full 3-D
response across an interface for mixed-mode fracture compatible with both the small and
large-displacement formulations. The following briey summarizes the available cohesive for-
mulations.
Linear-elastic. The user species the constant stiness values (units of stress/displacement)
that connect: (a) normal (opening) traction to the relative (opening) displacement jump; (2)
shear traction (t
1
) and the relative (longitudinal) sliding displacement jump, and (3) shear
traction (t
2
) and the relative (transverse) sliding displacement jump between the surfaces
at an integration point within an interface element. Most often, the shear traction-sliding
displacement jump is considered isotropic; the user just assigns equal stiness values for the
shear terms. The model does not couple the normal and sliding response.
Park-Paulino-Roesler option (ppr). This nonlinear model provides the option for dif-
ferent cohesive fracture energies in normal and shear modes, dierent values of maximum
(peak) stress on the traction-separation curves for normal and shear loading, and explicit
control over the initial stiness of the traction-separation curves. In the post peak-stress
region of the response, the user may specify a variety of behaviors from eectively brittle
to very ductile, and separately for each mode. The model formulation follows from a rigor-
ous, consistent development of a mixed-mode potential function for the nonlinear cohesive
behavior (see Park, Paulino and Roesler [1]).
Exponential option (exp1 intf ). This older nonlinear model treats mixed-mode, cohesive
fracture using a single, eective traction connected to an eective displacement jump
across the interface using a single, traction-separation curve. The user species one value
of the cohesive fracture energy and one value for the eective peak stress on the (single)
traction-separation curve. A user-dened value for a scalar, mode-mixity parameter ()
sets the relative weighing of normal and shear modes to generate the eective values in
the response. The traction-separation curve follows a smooth exponential form that rises
(nonlinearly) from zero traction-separation to peak stress, and then decreases the eective
stress exponentially towards zero with increasing relative eective separation. The initial
Chapter 3 (Updated: 12-11-2010) 3.8-1 Elements and Material Models
Users Guide - WARP3D Material: cohesive
stiness at zero traction-separation follows from the dened shape of the exponential curve,
the peak stress and fracture energy. The user does not have explicit (independent) control
over the initial stiness. This formulation draws heavily on the work of Needleman ([3], [4])
and Ortiz and co-workers ([2], [5], [6]).
In all three of these options, the compression part of the normal traction-separation response is
penalized to prevent interpenetration of interface element surfaces. To accomplish this, the user
species a compression multiplier (> 1) imposed on the initial (normal) stiness response
when the cohesive updating algorithms detect the onset of interpenetration.
At present, the cohesive constitutive models are temperature and loading rate invariant.
Future developments are expected to include these eects.
3.8.1 Potential Functions
For isothermal and rate-independent conditions, the normal and shear (tangential) tractions in
a local Cartesian system, T(T
n
, T
t1
, T
t2
), across the interface-cohesive surfaces derive from an
energy density function, , per unit area in the form
T =

(, q) (3.8.1)
where = (
n
,
t1
,
t2
) denotes the normal (
n
) and shear (
t1
,
t2
) displacement jumps
across the cohesive surface; q denes a set of internal variables which describe the inelastic
processes of decohesion. Here, vanishes for a superposed rigid body motion. We dene the
orientation of the unit normal (n) at each material point such that
n
= n > 0 leads to an
opening separation across the interface. The (total) sliding displacements across the interface,

t
, may be written

t
=
n
n = (I n n);
t
=
t
, (3.8.2)
where
t
is the projection of onto the tangent plane. In the present treatment, the shearing
process on cohesive surfaces is taken as isotropic and thus requires a single sliding displacement
jump,
t
, and work-conjugate traction, T
t
. For 3-D implementation, the decomposition of
t
into two orthogonal vectors,
t
=
t1
+
t2
, at a material point in the tangent plane (normal
to n) of the interface becomes arbitrary and dened most conveniently by the parameterized
denition of the interface geometry (see Section 3.3).
The internal variables, q, evolve according to a set of kinetic relations of the form
q = f (, q) . (3.8.3)
The potential structure of the cohesive traction-separation relationship follows as a consequence
of the rst and second laws of thermodynamics. Adoption of this potential structure reduces
the formulation of the cohesive relations from two independent functions into a single scalar
function, (
n
,
t
, q).
The tractions follow from the potential function directly as
T
n
=

n
; T
t
=

t
. (3.8.4)
Chapter 3 (Updated: 12-11-2010) 3.8-2 Elements and Material Models
Users Guide - WARP3D Material: cohesive
For Mode I loading and crack formation-extension over a symmetry plane, the contribution of
T
t
and
t
to vanish, and the formulation and needed material-fracture properties simplify
considerably. Similarly for Mode II loading, the contribution of T
n
and
n
to vanish and
the formulation again simplies considerably. The proper modeling of mixed-mode fracture
requires the careful construction of to yield T
n

n
and T
t

t
traction-separation curves
that support dierent fracture energies

n
=
_
n
0
T
n
(
n
,
t
= 0) d
n
, and (3.8.5)

t
=
_
t
0
T
t
(
n
= 0,
t
, ) d
t
. (3.8.6)
Here, and subsequently,
n
denotes the value of
n
when the normal traction T
n
degrades to
zero. Similar,
t
denotes the value of
t
when the shear traction T
t
degrades to zero. The various
approaches to include mixed-mode behavior dierentiate among the proposed formulations
for cohesive traction-separation models. The PPR model implemented in WARP3D reects a
complete treatment of mixed-mode fracture within the potential framework.
The simpler exp1 intf formulation combines the mixed-mode quantities (tractions, displace-
ment jumps) into an eective traction-displacement jump pair (

T

) and uses that single
pair to dene the potential function, i.e.

=

2
t
+
2
n
where is a scalar constant dened as
part of the model input to assign a weight factor to the shear-mode contribution.
3.8.2 Linear-Elastic Option
Linear-elastic relationships between the individual traction components and the respective dis-
placement jumps provide the simplest cohesive interface model. The keyword to request this
option is linear intf. Users must specify stiness values (units: stress/displacement) of the inter-
face in the normal (stin), longitudinal-shear (stis), and transverse-shear (stit) directions.
The longitudinal and transverse orientations are shown as the t
1
and t
2
directions, respectively
in Figs. 3.8-3.10 (congurations of the interface elements, which use the alternate notation s
1
,
s
2
rather than t
1
, t
2
).
An isotropic shear-sliding response is obtained by setting the two shear stiness coecients
to the have the same value, stis=stit.
To prevent interpenetration in the normal direction, the compression multiplier has a de-
fault value of 10.0. This value may be modied as necessary.
A complete example is:
structure cct
c
material thin_layer
properties cohesive type linear_intf stiffn 1000,
stifft 500 stiffs 500,
compression_multiplier 15
.
.
elements 50-85 type inter_8 material thin_layer,
order 2x2gs surface top
.
.
Chapter 3 (Updated: 12-11-2010) 3.8-3 Elements and Material Models
Users Guide - WARP3D Material: cohesive
3.8.3 PPR Option (Park-Paulino-Roesler)
The PPR option denes a nonlinear, cohesive constitutive relationship with a complete and
rigorous treatment for mixed-mode fracture under isothermal and rate-independent conditions.
The traction-separation curves have the form of polynomials which prescribe nite values of
normal and sliding displacement jumps when the tractions degrade to zero. Mode I (normal)
only behavior and Mode II/III (shear) only behavior represent special cases of the general
mixed-mode, nonlinear behavior.
The normal and shear traction-separation curves derived from a unied potential for mixed-
mode fracture [1] have the forms and associated terminology shown in Fig. 3.8.1.

n
T
n
(
n
, 0)

n
> 2
2
< 2
T
np

np

n
=

n
0
T
n
(
n
, 0) d
n
!"#

t
=

t
0
T
t
(0,
t
) d
t
2
2
< 2
< 2
> 2
> 2

tp
t

t
T
tp
T
tp
!"#
T
t
(0,
t
)
Fig. 3.8.1: (a) Mode I (normal) traction-separation curve, and (b) Mode II/III shear mode traction
separation curve for the PPR cohesive formulation. Peak tractions and fracture energies may be specied
independently for the two modes.
Key Features of Response
Key features of the behavior modeled with these traction-separation curves include:
Complete normal failure occurs (T
n
= 0) when the normal or tangential separation reaches
a certain set of values (
n
,

t
), called the normal nal crack opening width and the tan-
Chapter 3 (Updated: 12-11-2010) 3.8-4 Elements and Material Models
Users Guide - WARP3D Material: cohesive
gential conjugate nal crack opening width, respectively (see subsequent section on Mode
Interactions),
T
n
(
n
,
t
) = 0 , T
n
(
n
,

t
) = 0 . (3.8.7)
Similarly, complete shear failure occurs (T
t
= 0) either when the normal separation reaches
the normal conjugate nal crack opening width (

n
) or when the tangential separation
reaches the tangential nal crack opening width (
t
),
T
t
(

n
,
t
) = 0 , T
t
(
n
,
t
) = 0 . (3.8.8)
The area,
n
, under the normal traction-separation curve in the absence of shear loading
denes the materials opening-mode fracture energy (Mode I toughness). Similarly, the area,

t
, under the shear traction-separation curve in the absence of normal loading denes the
materials shear-mode fracture energy (Mode II/III toughness). Here,
n
and
t
are given
by

n
=
_
n
0
T
n
(
n
, 0) d
n
,
t
=
_
t
0
T
t
(0,
t
) d
t
. (3.8.9)
The normal and tangential tractions are maximum when the separations reach the peak
opening displacements (
np
,
tp
),
T
n

n=
np
= 0 ,
T
t

t=
tp
= 0 . (3.8.10)
The maximum tractions correspond to the cohesive strengths (T
np
, T
tp
),
T
n
(
np
, 0) = T
np
, T
t
(0,
tp
) = T
tp
. (3.8.11)
The shape parameter indices (, ) are introduced to characterize material softening re-
sponses, e.g. brittle, plateau and quasi-brittle.
The normal and tangential tractions satisfy basic symmetry and anti-symmetry require-
ments (with respect to
t
), i.e.
T
n
(
n
,
t
) = T
n
(
n
,
t
) , T
t
(
n
,
t
) = T
t
(
n
,
t
) , (3.8.12)
respectively.
The value of T
t
(
n
,
t
) at
t
= 0 exists in the limit sense, i.e.
lim
t0
+
T
t
(
n
,
t
) = 0 , lim
t0

T
t
(
n
,
t
) = 0 . (3.8.13)
Unloading follows a linear-secant response. Reloading follows the linear-secant response until
the prior maximum displacements are again reached. The unloading-reloading behavior is
computed independent of the energy potential.
On initial loading from zero tractions, the normal and shear mode response is not coupled.
Further, the orthogonal components (T
1
, T
2
) of the shear traction, T
2
t
= T
1
1
+ T
2
2
, are
uncoupled on initial loading from zero tractions.
Chapter 3 (Updated: 12-11-2010) 3.8-5 Elements and Material Models
Users Guide - WARP3D Material: cohesive
Potential, Tractions, Parameters
With these desired behaviors for a mixed-mode, cohesive fracture model, PPR developed the
potential function
(
n
,
t
) = min(
n
,
t
) +
_

n
_
1

n

n
_

_
m

+

n

n
_
m
+
n

t
_
1
|
t
|

t
_

_
n

+
|
t
|

t
_
n
+
t

_
, (3.8.14)
where denotes the Macauley bracket, i.e.
x =
_
0, (x 0)
x, (x > 0) .
(3.8.15)
The parameters (m, n) and (
n
,
t
) are internal to the model and computed to satisfy the
boundary conditions on macroscopic fracture (more discussion below). The energy constants
above are given by

n
= (
n
)
n
t

n
t
_

m
_
m
,

t
= (
t
)

t
n

t
n
_

n
_
n
for (
n
=
t
) . (3.8.16)
If the normal and shear mode fracture energies are the same, the energy constants have the
simpler form

n
=
n
_

m
_
m
,

t
=
_

n
_
n
for (
n
=
t
) . (3.8.17)
The user may specify initial stiness indicators for the traction-separation curves as the ratio
of the opening and sliding displacements at the peak traction values to the values when the
tractions degrade to zero,

n
=
np
/
n
,
t
=
tp
/
t
. (3.8.18)
The initial stiness indicators provide explicit user control of the initial, linear-elastic behavior.
Smaller values of
n
,
t
(or
np
,
tp
) increase the initial slope, and decreased articial elastic
deformation. Therefore,
np
and
tp
are generally selected to be small values within the
range of numerical stability.
The internal, non-dimensional exponents, m and n, are given by
m =
( 1)
n
2
(1
n
2
)
, n =
( 1)
t
2
(1
t
2
)
. (3.8.19)
and the nal tangential and normal crack opening widths (
n
and
t
),

n
=

n
T
np

n
(1
n
)
1
_

m
+ 1
__

n
+ 1
_
m1
,

t
=

t
T
tp

t
(1
t
)
1
_

n
+ 1
__

t
+ 1
_
n1
. (3.8.20)
Chapter 3 (Updated: 12-11-2010) 3.8-6 Elements and Material Models
Users Guide - WARP3D Material: cohesive
Finally, the traction-separation curves follow directly from gradients of the potential and
have the form,
T
n
(
n
,
t
) =

n
[AB] f
t
(
t
) , (3.8.21)
T
t
(
n
,
t
) =

t
[C D] f
n
(
n
)

t
|
t
|
(3.8.22)
where,
A = m
_
1

n

n
_

_
m

+

n

n
_
m1
, (3.8.23)
B =
_
1

n

n
_
1
_
m

+

n

n
_
m
, (3.8.24)
C = n
_
1
|
t
|

t
_

_
n

+
|
t
|

t
_
n1
, (3.8.25)
D =
_
1
|
t
|

t
_
1
_
n

+
|
t
|

t
_
n
. (3.8.26)
And the mode-interaction functions are
f
t
(
t
) =

t
_
1
|
t
|

t
_

_
n

+
|
t
|

t
_
n
+
t

n
, (3.8.27)
f
n
(
n
) =

n
_
1

n

n
_

_
m

+

n

n
_
m
+
n

t
. (3.8.28)
Mode Interactions
The normal traction-separation curve in Eq. (3.8.21) has an multiplicative, mode-interaction
term, denoted f
t
(
t
); the shear traction in Eq. (3.8.22) has the mode-interaction term f
n
(
n
).
These terms arise naturally in derivatives to compute tractions from the cohesive potential
function they describe the impact of loading in one mode on the traction-separation response
of the other mode. The presence of normal loading reduces the shear capacity and the presence
of a shear loading reduces the normal mode capacity.
This interaction is described through the shaded, rectangular regions illustrated in Fig. 3.8.2.
The normal traction T
n
(
n
,
t
), for example, degrades to zero under
t
displacement jumps
at or before reaching the limit
t
dened for a pure shear loading. This reduced limit, denoted
by

t
and termed the conjugate limiting displacement in [1], with

t

t
is computed by
nding the value of
t
that makes the (nonlinear) function f
t
0 in Eq. (3.8.27). Consequently,
the normal traction vanishes outside the shaded region in Fig. 3.8.2a.
The presence of a normal traction has a similar impact on the shear response as indicated
in Fig. 3.8.2b. Here, the value of

n
makes the function f
n
0 in Eq. (3.8.28). Consequently,
the shear traction vanishes outside the shaded region in Fig. 3.8.2b.
User-Dened PPR Properties
The user-denable properties of the PPR model are:
The fracture energies (
n
,
t
) which may have the same or dierent values
Chapter 3 (Updated: 12-11-2010) 3.8-7 Elements and Material Models
Users Guide - WARP3D Material: cohesive
T
n
(
n
,
t
)
T
t
(
n
,
t
)

t

t

n
!"# !%#
Fig. 3.8.2: Description of each cohesive mode-interaction (T
n
, T
t
) regions dened by the nal crack
displacement jumps (
n
,
t
) and the conjugate nal crack opening jumps (

n
,

t
); (a) T
n
versus (
n
,

t
) space; (b) T
t
versus (

n
,
t
) space.
The peak normal and shear stress levels (T
np
, T
tp
) on the traction-separation curves
which may have the same or dierent values
The characteristic shapes (, ) of the post-peak regions of the traction-separation curves.
For values of 2, the tractions follow a near linear decrease with additional displacement
jump. For values > 2, the post-peak curves have a convex shape, while values < 2 lead to
an increasingly concave, plateau-like post-peak behavior.
The indicators (
n
,
t
) that dene the relative stiness of the initial linear-elastic response
Under compression loading, the cohesive material behaves as a spatially distributed, uniform
linear spring. To limit the amount of interpenetration, the stiness of the compressive
spring is taken as a factor times the slope of the traction-separation curve at the origin as
determined from the specied value of
n
. The multiplication factor is specied by the user
through the property compression multiplier. The default value of the multiplier is 2.
Specify the property killable to have the interface-cohesive element associated with the PPR
cohesive material added to the list of elements to be eliminated from the model once the
tractions degrade to zero.
Note: For simple normal (Mode I) loadings, the traction-separation curve of the PPR model
can be made to match closely the traction-separation curve of the exp1 intf model to facili-
tiate possible comparisons. Set the PPR peak traction and fracture energy to match values
for the exp1 intf model. Set = 7, = 7 and
n
= 0.1,
t
= 0.1 for the PPR to make the
early loading and post-peak traction shapes agree for the two models.
A complete example of input for the PPR option is:
structure cct
.
.
material thin_layer
properties cohesive type ppr sig_peak 100,
tau_peak 100 G_normal 0.154 G_shear 0.154,
shape_normal 3 shape_shear 3 ratio_normal 0.1,
ratio_shear 0.1 killable only_normal_mode,
compression_multiplier 15
.
Chapter 3 (Updated: 12-11-2010) 3.8-8 Elements and Material Models
Users Guide - WARP3D Material: cohesive
Model Property Keyword Mode Default Value
Request ppr option ppr
Peak normal traction (T
np
) sig peak number 0.0
Peak shear traction (T
tp
) tau peak number 0.0
Fracture energy: normal mode (
n
) G normal number 0.0
Fracture energy: shear mode (
t
) G shear number 0.0
Separation curve shape: normal mode () shape normal number 0.0
Separation curve shape: shear mode () shape shear number 0.0
Initial slope indicator: normal mode (
n
) ratio normal number 0.0
Initial slope indicator: shear mode (
t
) ratio shear number 0.0
Stiness compression multiplication factor compression multiplier number 2
Put interface-cohesive element in killable list killable logical false
Table 3.8.2 Properties for ppr option of the material model: cohesive.
.
elements 50-85 type inter_8 material thin_layer,
order 2x2gs surface top
.
.
3.8.4 Exponential Option (exp1 intf )
This option in the cohesive model combines the normal and shear tractions into a single ef-
fective traction (

T). The model thus has a single traction-separation curve (not one for each
mode) and a single energy of separation (

). Following Camacho and Ortiz ([2]), the intro-


duction of a user-dened, scalar parameter () assigns dierent weights to the (tangential)
sliding and (normal) opening displacements. This simplies the formulation to have a single
displacement jump across the cohesive surface. The eective opening displacement (

) becomes

=
_

2
t
+
2
n
. (3.8.29)
This form reects equal weights () assigned to each of the two (orthogonal) sliding vectors in
the tangent plane, where
2
t
=

2
t1
+
2
t2
. Using Eq. (3.8.1, 3.8.4), and the denitions above for
normal and sliding displacements, the traction vector may be written in the form
T =

n
n +

t
= T
n
+T
t
(3.8.30)
Given the eective displacement (

), the work-conjugate, eective traction (

T) may be con-
sidered to derive from

T =

, q
_
. (3.8.31)
The normal and shear traction vectors can then be written as
T
n
=

n
n , (3.8.32)
Chapter 3 (Updated: 12-11-2010) 3.8-9 Elements and Material Models
Users Guide - WARP3D Material: cohesive
T
t
=

t
. (3.8.33)
Using Eq. (3.8.31), and with derivatives of

from Eq. (3.8.29), we can write
T =

t
+
n
n
_
(3.8.34)
or equivalently in the form

T =
_

2
T
t

2
+ T
2
n
. (3.8.35)
With the above simplication to accommodate mixed-mode loading, a simple exponential

T/

T
p

T/

T
p
!"#
!%#

T =

T(

max
)

max

(b)
max

(a)
max

2
(
2
t1
+
2
t1
) +
2
n

T = exp(1.0)

T
p

p
exp

Fig. 3.8.3: Exponential, eective traction-separation curve for the exp1 intf cohesive formulation. (a)
loading curve, (b) illustration of unloading from the nonlinear curve then reloading.
relationship is adopted between the eective traction (

T) and the eective displacement (

)
to dene a phenomenological, decohesion process. The

T

response follows an irreversible
path with unloading always directed to the origin. This model represents all the features of
the separation process by: (1) the shape of the cohesive traction-separation curve, (2) the local
material strength dened by the peak traction (

T
p
), and the local material toughness dened
by the work of separation (

) given by the area under the



T

curve.
Chapter 3 (Updated: 12-11-2010) 3.8-10 Elements and Material Models
Users Guide - WARP3D Material: cohesive
The constitutive relation for the cohesive surface is derived from an exponential form of a
free energy potential
= exp(1)

T
p

p
_
1
_
1 +

p
_
exp
_

p
__
. (3.8.36)
Conditions that characterize loading along the nonlinear traction-separation curve are:

currently has the maximum value attained (

max
) and

0. Under such loading


conditions, the relationship

T

follows from

T =

= exp(1)

T
p

p
exp
_

p
_
. (3.8.37)
For unloading, the response follows

T =
_

T
max

max
_

, if

<

max
or

< 0 . (3.8.38)
Figure 3.8.4 illustrates both the loading and unloading responses predicted by this exponential
form of a cohesive traction-separation law.
Using standard procedures to compute the J-integral for tractions across crack faces, the
work of separation (cohesive fracture energy) per unit area of cohesive surface is given by

=
_

0

T d

(3.8.39)
where for this exponential traction-separation curve,

= exp(1)

T
p

p
. (3.8.40)
Under compression loading, the cohesive material behaves as a spatially distributed, uniform
linear spring. The stiness of the compressive spring is taken as a factor times the slope of the
exponential, traction-separation curve at the origin,
K
L
=


T

= 0
_
= exp(1)

T
p
/

p
. (3.8.41)
The multiplication factor can be specied by the user through the property compression multiplier.
Figure 3.18 shows schematically the behavior of the cohesive model under normal compression
for dierent values of compression multiplier. The default value of the multiplier is 10.
When the cohesive surfaces undergo a combination of compression and shear deformation,
the eective separation

is computed only from the shear components (
n
= 0 in Eq. 3.8.29).
The shear tractions then evolve according to the constitutive behavior shown in Figure 3.17.
Summary for the exp1 intf option:
The model is best suited for pure Mode I (normal) or pure shear loading
The shape of the

T

curve [including the initial, linear stiness and the cohesive energy,

] is completely determined by the the the user-specied values of



T
p
and

p
.
Chapter 3 (Updated: 12-11-2010) 3.8-11 Elements and Material Models
Users Guide - WARP3D Material: cohesive

T/

T
p
K
L

p
Fig. 3.8.4: Behavior of the exp1 intf cohesive formulation under compressive loading and impact of the
compression multiplier property.
The initial, linear stiness may become too small (large opening of the interfaces and arti-
cial model anisotropy) for certain choices of (

T
p
,

p
) needed to match the desired fracture
behavior
Special considerations are needed for interface-cohesive elements on symmetry planes (see
subsequent section here)
A complete example of input for an exp1 intf cohesive material and association with interface
elements is:
structure cct
c
material thin_layer
properties cohesive type exp1_intf sig_max 100,
delta_peak 0.000285 beta 0.3,
killable compression_multiplier 15
.
.
elements 50-85 type inter_8 material thin_layer,
order 2x2gs surface top
.
.
3.8.5 Model Output
By default, the cohesive material models print no messages during computations. If requested
during crack growth analysis, the crack growth processor prints various messages about the
interface-cohesive elements, the traction values, relative displacements and status indicators,
e.g. if the tractions exceed the peak values on the dened traction-separation curve. This output
option is requested with the crack growth parameter print status on (refer to Section 5.4.1).
Chapter 3 (Updated: 12-11-2010) 3.8-12 Elements and Material Models
Users Guide - WARP3D Material: cohesive
Model Property Keyword Mode Default Value
Request exp1 intf option exp1 intf
Peak eective traction (

T
p
) sig peak* number 0
Peak eective displacement (

p
) delta peak* real 0.0
Mode mixity weight factor () beta* number 0.0
Stiness compression multiplication factor compression multiplier number 10
Put interface-cohesive element in killable list killable logical false
* termed sig max, delta crit, beta coh in older WARP3D versions (both keywords accepted)
Table 3.8.2 Properties for exp1 intf option of the material model: cohesive.
The model makes available the work density values at Gauss points, U
0
, to the interface-
cohesive routines for subsequent output. For the nonlinear cohesive zone model, U
0
at step
n + 1 is evaluated using the trapezoidal rule
U
n+1
0
= U
n
0
+
1
2
_
T
n+1
+T
n
_
:
_

n+1

n
_
. (3.8.42)
For the linear elastic interface, U
0
at step n + 1 becomes simply:
U
n+1
0
=
1
2
T
n+1
:
n+1
. (3.8.43)
The energy output le produced by WARP3D includes these work contributions for interface-
cohesive elements.
3.8.6 Special Procedures - Models with Symmetry Planes
Simulations of mode I crack extension in 3-D models usually adopt one-fourth or one-eight
symmetric nite element meshes. In these models, interface-cohesive elements are placed over
the initial uncracked ligament thereby constraining crack growth in a self-similar manner.
Consequently, the computed opening displacements (normal to the symmetry plane) have only
one-half of the value during computations to update cohesive tractions that would be present
in a full model not taking advantage of the symmetry plane.
To accomplish mode I only or sliding mode only behavior, follow these guidelines:
Linear-Elastic option (linear intf ). This option requires the input of linear stiness values
that link the normal and shear tractions to the displacement jumps. For interface-cohesive
elements connected to a symmetry plane, the user should specify stiness values for stin, stit
and stis that are twice the values that would be input in a full model that does not take
advantage of the symmetry conditions. The specication of displacement boundary conditions
also require the usual care to not over-constrain or under-constrain displacements of interface
element nodes incident on the symmetry plane. For large displacement analyses, Section 3.3
describes the process to set which surface of an interface element connects to the adjacent solid
element.
Park-Paulino-Roesler option (ppr). This model requires the input of peak values for nor-
mal and shear tractions (T
np
, T
tp
), and the cohesive fracture energies (
n
,
t
). From these
Chapter 3 (Updated: 12-11-2010) 3.8-13 Elements and Material Models
Users Guide - WARP3D Material: cohesive
input values, the model routines compute the opening displacement (
n
,

n
) and sliding dis-
placement (
t
,

t
) values when the corresponding normal and sliding tractions degrade to zero.
For interface-cohesive elements connected to a symmetry plane: (1) specify the unadjusted
peak normal and shear traction values; (2) specify one-half the actual values for
n
and
t
.
The specication of displacement boundary conditions also require the usual care to not over-
constrain or under-constrain displacements of interface element nodes incident on the symmetry
plane. For large displacement analyses, Section 3.3 describes the process to set which surface
of the interface element connects to the adjacent solid element.
Exponential option (exp1 intf ). This model requires input of the peak value for the eec-
tive traction (

T
p
) and the value of the eective displacement jump at peak traction (

p
). For
interface-cohesive elements connected to a symmetry plane: (1) specify the unadjusted value for
the peak eective traction; (2) specify one-half the actual value for the eective displacement
jump at the peak traction, and (3) specify a > 0 to provide a non-zero resistance to sliding
displacement jumps (needed to prevent singularity in the equilibrium equations). The speci-
cation of displacement boundary conditions also require the usual care to not over-constrain
or under-constrain displacements of interface element nodes incident on the symmetry plane.
For large displacement analyses, Section 3.3 describes the process to set which surface of the
interface element connects to the adjacent solid element.
3.8.7 Adaptive Load Step Sizes
Large load increments imposed on a model containing interface-cohesive elements generally lead
to satisfactory convergence of the global Newton iterations. However, the computed response
in the interface-cohesive elements may miss key details and features of the decohesion behavior,
and lead to erroneous results during crack formation-extension. For example, the peak stress
attained in the cohesive zone governs strongly the development of plasticity in the background
material and consequently the overall energy dissipation of the background material.
With large load steps, the response state computed within interface elements may pass
from the pre-peak to the post-peak side of the traction-separation curves without enforcing
the peak stress level on adjacent background material. To eliminate these eects, WARP3D
provides an option in the global nonlinear solution procedures that adaptively controls the
size of global displacement (or load) increments based on the response of interface-cohesive
elements. When the background elements have a linear-elastic behavior and only the interface-
cohesive elements are nonlinear, the load-step size dependency of the solution is much reduced,
thereby minimizing the need for an adaptive loading strategy.
Following each load increment, the adaptive code locates the interface-cohesive element
in the model that experiences the largest change of an eective displacement jump across
the interface (denoted here by

). The code continually adjusts the sizes of subsequent load
increments to maintain the normalized value (

p
) within a user-specied tolerance. Here,

p
denotes the value of an eective displacement jump when the eective cohesive traction
reaches a maximum value before degrading at further increases of the displacement jump. Our
experience indicates that analyses using values of (

p
) up to 0.3 show only small dierences
in the solutions.
The denition of an eective displacement (

) and eective displacement value at the


peak traction (

p
) are key aspects of the exp1 intf option, i.e.

=

. For the ppr option, an
Chapter 3 (Updated: 12-11-2010) 3.8-14 Elements and Material Models
Users Guide - WARP3D Material: cohesive
eective displacement for use only in these adaptive solution procedures is given by

=

2
t
+
2
n
.
Chapter 5 provides additional details necessary for the adaptive load-step process to be used
with the ppr option.
This adaptive approach also maintains excellent stability and convergence rates of the global
Newton iterations. Simulations with large amounts of crack extension may often proceed au-
tomatically. Chapter 5 provides details of the input procedure to invoke adaptive step-size
control.
3.8.8 Element Extinction
The traction-separation models described here reduce normal and shear tractions towards zero
with increasing relative displacements across the interface elements. Once the tractions decrease
to (relatively) small values, element extinction procedures can be invoked to eliminate the asso-
ciated interface element from the model and to initiate the process that relaxes the remaining
(small) nodal forces to zero over a xed number of subsequent load increments. Section 5.4 in
Chapter 5 describes this extinction procedure for interface-cohesive elements. The extinction
procedures apply only to interface elements having cohesive materials with the material logical
property killable specied (see tables of cohesive properties in this section).
3.8.9 Computational Eciency
The key computational routines for this material model reect a very ecient organization and
data ow. The routines are passed incremental values of the displacement jumps, tractions from
the start of the current step, history data at the start of the current step and user-specied
property values.
The cohesive routines are provided all data at integration point 3, for example, for all
elements in a block in a single invocation, where blocks are dened by the user in the
input data. Maximum block sizes are typically 64, 128 or 256 elements. This strategy leads to
exceptionally fast, vector-style coding of computational loops in the cohesive routines. Modern
compilers readily optimize execution of these loops with their long iteration counts (i.e. the
block size) to utilize local parallelism at the core level. Entire blocks of elements are processed
concurrently via shared-memory, threaded parallel execution (see Chapter 7 for details).
3.8.10 References
[1] K. Park, G.H. Paulino, and J.R. Roesler. A unied potential-based cohesive model of mixed-mode
fracture. Journal of the Mechanics & Physics of Solids, 57:891-908, 2009.
[2] G.T. Camacho and M. Ortiz. Computational modeling of impact damage in brittle materials. Inter-
national Journal of Solids and Structures, 33:2899-2938, 1996.
[3] A. Needleman. A continuum model for void nucleation by inclusion debonding. Journal of Applied
Mechanics, 54:523-531, 1990
[4] A. Needleman. An analysis of tensile decohesion along an interface, Journal of Mechanics & Physics
of Solids, 38:289-324, 1990.
[5] A. de Andres, J.L. Perez, and M. Ortiz. Elasto-plastic nite element analysis of three-dimensional
fatigue crack growth in aluminum shafts subjected to axial loading. International Journal of Solids and
Structures, 36:2231-2258, 1999.
Chapter 3 (Updated: 12-11-2010) 3.8-15 Elements and Material Models
Users Guide - WARP3D Material: cohesive
[6] M. Ortiz A. Pandol. A nite deformation irreversible cohesive elements for three-dimensional crack
propagation. International Journal for Numerical Methods in Engineering, 44:1267-1282, 1999.
Chapter 3 (Updated: 12-11-2010) 3.8-16 Elements and Material Models
!"#$%" '()*# + WARP3D Material ,)"#"-./*$01#2
3.91 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
3.9 Material Model Type: mises_hydrogen
This material model extends the Mises plasticity of Section 3.6 to include the effect of solute
hydrogen on the mechanical (flow) properties. Strainrate independent, incremental theory
of plasticity with isotropic powerlaw hardening is employed. For finitestrain solutions,
the Mises yield surface is expressed in terms of the Cauchy (true) stress. This model is for
mulated for the analysis of ductile metals which undergo large plastic strains but small
elastic strains and small dilatation induced by the presence of hydrogen. This assumption
simplifies considerably the treatment of the material model and permits additive decom
position into elastic, plastic and hydrogen components of strain increments defined with
respect to the deformed configuration. The effect of hydrogen is modelled through a lattice
dilatation induced by the presence of hydrogen in the solution and a reduction of flow stress
due to hydrogenenhanced dislocation mobility. The mises_hydrogen model assumes that
hydrogen is initially in equilibrium and remains in equilibrium with the local Cauchy
stress. The local hydrostatic stress and the local plastic strain then fully determine the total
hydrogen concentration.
The constitutive framework for WARP3D outlined in Chapter 1 neutralizes finite rota
tion effects during stressupdates and computation of the consistent tangent moduli. The
smallstrain, stressupdating procedures follow a singlestep, elasticpredictor radialre
turn algorithm. The algorithm remains unconditionally stable for large strain increments
and provides high accuracy in the updated stresses (for a single step method). Inelastic un
loadingreloading events are processed without difficulty.
The following sections describe the formulation of Mises plasticity in the presence of hy
drogen and the parameters needed to utilize the mises_hydrogen material model.
3.9.1 The Hydrogen Concentration in Metals
Hydrogen is assumed to reside at either normal interstitial lattice sites (NILS) or reversible
trapping sites at microstructural defects generated by plastic deformation.
The hydrogen concentration at NILS, C
L
, measured in hydrogen atoms per unit volume,
can be calculated as
C
L
+ q
L
bN
L
(3.228)
where q
L
is the occupancy of the NILS sites, b denotes the number of NILS per solvent atom
and
N
L
+ N
A
V
M
(3.229)
is the number of solvent atoms per unit lattice volume, where N
A
+6.023 10
23
atoms per
mole is Avogadros number and V
M
is the molar volume of the host metal.
The hydrogen concentration at trapping sites, C
T
, measured in hydrogen atoms per unit
volume, can be phrased as
C
T
+ q
T
aN
T
(3.230)
where q
T
is the occupancy of the trapping sites, a denotes the number of sites per trap and
N
T
denotes the trap density measured in number of traps per unit volume.
According to Orianis theory, the two hydrogen populations are always in equilibrium,
such that
!"#$%" '()*# + WARP3D
Material ,)"#"-./*$01#2
3.92 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
q
T
1 *q
T
+
q
L
1 *q
L
K
T
(3.231)
in which the equilibrium constant K
T
is defined as
K
T
+exp
W
B
RT
(3.232)
where W
B
is the trap binding energy, R +8.31 J @ mole
*1
@ K
*1
is the gas constant and T
is the absolute temperature.
The hydrogen concentration at NILS, C
L
, is assumed to be in equilibrium with local
Cauchy stress s
ij
, such that
q
L
1 *q
L
+
q
0
L
1 *q
0
L
K
L
(3.233)
where q
0
L
+ C
0
L
bN
L
is the initial occupancy at NILS, and
K
L
+exp
s
kk
V
H
3RT
(3.234)
is the equilibrium constant determined by the first order interaction between hydrogenin
duced lattice dilatation and the hydrostatic stress s
kk
, V
H
is the partial molar volume of
hydrogen in solution, and the standard summation convention is used over repeated indices
throughout.
The traps are assumed to be associated with dislocations in the deforming metal. The
trap density in traps per unit volume is given by
N
T
+ 2

a (3.235)
where is the dislocation density and a is the lattice parameter. The dislocation density
is considered to vary linearly with the effective plastic strain
p
, i.e.,
+
0
)g
p
(3.236)
for
p
v0.5 and +
0
)0.5 g when
p
u0.5, where
0
+10
10
m
2
denotes the disloca
tion density for the annealed material and g +2 10
16
m
2
.
Combining Eqs. (3.228) to (3.236) gives the total hydrogen concentration as
C + C
L
)C
T
+ bN
L

q
L
(s
kk
) )q
TL
(s
kk
,
p
)

(3.237)
where
q
L
(s
kk
) + q
0
L
K
L

1 *q
0
L

)q
0
L
K
L

and
q
TL
(s
kk
,
p
) +
aN
T
(
p
)
bN
L
K
T
q
L
(s
kk
)
1 *q
L
(s
kk
) )K
T
q
L
(s
kk
)
.
The total hydrogen concentration can also be expressed in the unit of hydrogen atoms
per host metal atom (HM) as
!"#$%" '()*# + WARP3D Material ,)"#"-./*$01#2
3.93 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
c + CN
L
+ b

q
L
(s
kk
) )q
TL
(s
kk
,
p
)

. (3.238)
3.9.2 Hydrogen Effect on the StressStrain Curve
The presence of solute hydrogen enhances the dislocation mobility in metals and alloys. In
a continuum sense, this enhanced dislocation mobility reduces the material local flow
stress. In the present model, the effect of hydrogen on the material flow stress is given by
s
Y
(
p
, c) + s
0

c *1

c )1

1 )
p

1n
(3.239)
where s
Y
is the local flow stress,
p
is the effective plastic strain, c is the hydrogen con
centration given by Eq. (3.238), c is a softening parameter denoting the hydrogen effect due
to enhanced dislocation mobility, s
0
is the yield stress in the absence of hydrogen,
0
+ s
0
E
is the initial yield strain with E being the Youngs modulus of the material, and lastly n is
the hardening exponent.
Users input the uniaxial stressstrain curve description in the absence of hydrogen. For
a smallstrain analysis (linear kinematic formulation), specify engineering values for the
strain(
E
) and stress (s
E
). For a finitestrain analysis (nonlinear kinematic formulation),
specify the uniaxial stressstrain curve using the logarithmic strain, , and the true
(Cauchy) stress, s. For a finitestrain analysis, the user should convert conventional engi
neering strain,
E
, and engineering (nominal) stress, s
E
, values for input using the rela
tions:
s + s
E

1 )
E

(3.240)
+ln

1 )
E

(3.241)
The above conversions assume incompressible, homogeneous deformation. The true stress
true strain curve discussed here assumes homogeneous, uniaxial deformation of the mate
rial, i.e., prior to necking. Once necking occurs, the above expressions are no longer applica
ble. More elaborate corrections, for example those developed by Bridgeman, are required.
3.9.3 Model Properties
The properties defined for material model mises_hydrogen are listed in Table 3.9. All the
values must be given in real mode in the input file. No default values are available.
Model Property Keyword Mode
Youngs modulus (E) e Number
Poissons ratio (n) nu Number
Yield stress (s
0
) yld_pt Number
Power law exponent (n) n_power Number
Sites per trap (a) trap_number Number
!"#$%" '()*# + WARP3D
Material ,)"#"-./*$01#2
3.94 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
Initial dislocation density (r
0
) init_disloc_density Number
Coefficient for calculating dis
location density (g)
disloc_density_parameter Number
Lattice parameter (a) lattice_parameter Number
Trap binding energy (W
B
) binding_energy Number
Number of NILS per solvent
atom (b )
nils_number Number
Molar volume of host metal (V
M
) molar_volume Number
Hydrogen partial molar volume
in solution (V
H
)
h_partial_volume Number
Initial hydrogen concentration at
NILS (c
0
L
)
initial_hydrogen_conc Number
Softening parameter (x) softening_parameter Number
Table 3.9 Properties for mises_hydrogen Material Model
We strongly recommend the use of SI units for solutions that adopt this material model.
For example, the units of Youngs Modulus E and the yield stress s
0
should be Pa; the unit
of the initial dislocation density
0
and the parameter g should be m
2
; the lattice parame
ter a is given in m; the trap binding energy is given in Jmole; the molar volumes V
M
and
V
H
should be given in m
3
mole; and lastly the initial hydrogen concentration must be given
in HM. All other parameters are dimensionless.
3.9.4 Model Output
By default, the material model prints no messages during computations. If requested, the
material model prints the element number and strain point number whenever the effective
stress first exceeds the specified yield stress. This option is requested with the nonlinear
solution parameter material messages on (refer to Section 2.10.8).
The model makes available the strain energy density, U
0
, at each Gauss point to the
element routines for subsequent output. U
0
at step n+1 is evaluated using the trapezoidal
rule
U
n)1
0
+ U
n
0
)
1
2

t
n)1
)t
n

: Dd (3.242)
where the unrotated Cauchy stresses and unrotated strain increments are adopted for the
finitestrain formulation. Thermal contributions to Dd are subtracted prior to the above
computation.
The element stress output contains up to three values for the material model state"
variables. These values for the mises_hydrogen material are:
!"#$%" '()*# + WARP3D Material ,)"#"-./*$01#2
3.95 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
mat_val1: accumulated (equivalent uniaxial) plastic strain,

p
+
2
3

. p
ij

. p
ij

dt
mat_val2: hydrogen concentration at NILS, c
L
mat_val3: hydrogen concentration at reversible trapping sites, c
T
3.9.5 Example
The following example defines the material niobium. It uses the power law stressstrain
curves defined by Eq. (3.239). Initially the specimen is at uniform distribution of hydrogen
of concentration c
0
L
+0.001 HM. The initial reduction of the yield stress is 5% (c+49).
structure ssy_pstrain
material niobium
properties mises_hydrogen e 115.e9 nu 0.34 yld_pt 400.e6,
n_power 10.0,
trap_number 1.0,
init_disloc_density 1.e10,
disloc_density_parameter 2.e16,
lattice_parameter 3.3e10,
binding_energy 29.2e3,
nils_number 1.0,
molar_volume 10.852e6,
h_partial_volume 1.88e6,
initial_hydrogen_conc 0.001,
softening_parameter 49.0
3.9.6 Plasticity Algorithms
Integration of the constitutive equations (updating process)
The assumption of additive deformation rate yields
d +d
e
)d
p
)d
h
(3.243)
where d
e
, d
p
, and d
h
denote respectively the deformation rate due to elasticity, plasticity,
and hydrogeninduced lattice dilatation.
Assuming linear and isotropic elasticity, one has
s
.
+C
e
: d
e
(3.244)
where s
.
is the rate of change of the Cauchy stress, C
e
is the fourth order elasticity tensor.
Von Mises yielding with normality and the associated flow rule gives
d
p
+
.
p
3S
2q
+
.
p
n (3.245)
where
.
p
is the rate of change of the (equivalent) plastic strain, S is the deviatoric compo
nent of s, and q+
3
2
S
ij
S
ij

.
The deformation rate due to hydrogen is given by
d
h
+
1
3
L(c) c
.
I (3.246)
!"#$%" '()*# + WARP3D
Material ,)"#"-./*$01#2
3.96 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
where L(c) +
3V
H
V
M
3 )

c *c
0

V
H
V
M
, c
0
is the total hydrogen concentration in the stressfree
state, and I is the second order identity tensor.
Using a backward Euler integration scheme, one has for a specified increment of the
total strain
D + D
e
)D
p
)D
h
, (3.247)
in which D
e
, D
p
, and D
h
denote respectively the increments of the strain due to elasticity,
plasticity, and hydrogen. The the elastic strain increment D
e
is related to the increment of
the stress Ds through
Ds +C
e
: D
e
. (3.248)
The increment of the plastic strain tensor is given by
D
p
+ D
p
n
n)1
, (3.249)
where D
p
+
p
n)1
*
p
n
is the increment of the effective plastic strain, n
n)1
+ 3S
n)1
2q
n)1
,
S
n)1
is the deviatoric component of the stress s
n)1
at the end of the incremental step, and
q
n)1
+ 3S
n)1
: S
n)1
2

. The corresponding hydrostatic pressure at the end of the step is


p
n)1
+*
1
3
s
n)1
: I. Lastly the increment of the strain due to hydrogen is
D
h
+
1
3
L(c
n)1
)Dc I, (3.250)
in which Dc+c
n)1
*c
n
, c
n
and c
n)1
are respectively the total hydrogen concentration at
the beginning and the end of the incremental step.
We define the elastic trial (T) stress state as
s
T
n)1
+ s
n
)C
e
: D. (3.251)
The deviatoric component of s
T
n)1
is then denoted by S
T
n)1
, from which the trial equivalent
stress is given by
q
T
n)1
+

3
2
S
T
n)1
: S
T
n)1

12
. (3.252)
Similarly, the trial hydrostatic pressure is defined as
p
T
n)1
+ *
1
3
s
T
n)1
: I. (3.253)
We evaluate the yield criterion for the trial elastic state using the current values of the
(scalar) state variables (for Mises materials)
f
T
n)1
+ q
T
n)1
*s
Y

p
n
, c
n

. (3.254)
The material loading now is defined by
f
T
n)1
t0linearelastic
f
T
n)1
w0plasticloading
. (3.255)
Combining Eqs. (3.247), (3.248), and (3.251), one obtains
s
n)1
+ s
n
)Ds + s
T
n)1
*C
e
: D
p
*C
e
: D
h
, (3.256)
!"#$%" '()*# + WARP3D Material ,)"#"-./*$01#2
3.97 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
which leads to
n
n)1
+
3
2
S
n)1
q
n)1
+
3
2
S
T
n)1
q
T
n)1
, (3.257)
p
n)1
+ p
T
n)1
)KL(c)Dc, (3.258)
q
n)1
+ q
T
n)1
*3GD
p
, (3.259)
where G and K are respectively the shear and bulk moduli of the material.
Since hydrogen is assumed to be in equilibrium with local stress, one has from Eq.
(3.238) that at the end of the incremental step
c
n)1
+ c

p
n)1
,
p
n)1

. (3.260)
If plasticity is involved in the current step, the yield criterion must be satisfied at n )1,
i.e.,
q
n)1
*s
Y

p
n)1
, c
n)1

+0 . (3.261)
In summary, the series of nonlinear Eqs. (3.258) to (3.261) provides the solution p
n)1
,
q
n)1
,
p
n)1

D
p

, and c
n)1
at n )1. The stress state at n )1 can be calculated by using Eq.
(3.257) as
s
n)1
+ *p
n)1
I )S
n)1
+ *p
n)1
)
S
T
n)1
q
T
n)1
q
n)1
. (3.262)
Consistent tangent operator
To preserve the quadratic convergence characteristic of the global Newton iterations,
WARP3D employs the consistent tangent operator to form the stiffness matrix (Jacobian)
for the Newton loop used to solve the overall discretized equilibrium equations.
The consistent tangent operator is defined as
C
EP
+

n)1
+

Ds
D

n)1
. (3.263)
It is evaluated at n )1 because the equilibrium equations are satisfied at the end of the
incremental step in an implicit finite scheme.
By making use Eqs. (3.251) and (3.256), one obtains
C
EP
+C
e
*C
e
:
D
p
D
*C
e
:
D
h
D
. (3.264)
Rewriting the elasticity tensor C
e
as
C
e
+2GJ)KII, (3.265)
where J
ijkl
+
1
2
(d
ik
d
jl
)d
il
d
jk
) *
1
3
d
ij
d
kl
, then Eq. (3.264) gives
C
EP
+C
e
*2GJ :
D
p
D
*3K
D
h
D
. (3.266)
The J
2
flow rule gives
!"#$%" '()*# + WARP3D
Material ,)"#"-./*$01#2
3.98 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
D
p
+ D
p 3
2
S
n)1
q
n)1
+ D
p 3
2
S
T
n)1
q
T
n)1
+ D
p
n, (3.267)
where n +3S
n)1
2q
n)1
+3S
T
n)1
2q
T
n)1
. For simplicity, hereafter all the quantities
refer to those at the end of the incremental step. Eq. (3.267) leads to
D
p
D
+n
D
p
D
)
3
2
D
p

1
q
T
n)1
S
T
n)1
D
*
S
T
n)1
(q
T
n)1
)
2
q
T
n)1
D
. (3.268)
Further, Eq. (3.251) gives
S
T
n)1
D
+2GJ (3.269)
and
q
T
n)1
D
+2Gn, (3.270)
which reduce Eq. (3.268) to
D
p
D
+n
D
p
D
)
GD
p
q
T
n)1

3J*2nn

. (3.271)
From Eq. (3.250), one derives
D
h
D
+
1
3

L
c
Dc )L I
Dc
D
. (3.272)
Since the total hydrogen concentration is a function of the hydrostatic stress and the
plastic strain, i.e., c + c(s
kk
,
p
), one has
Dc
D
+
c
s
kk
Ds
kk
D
)
c

p
D
p
D
. (3.273)
The incompressibility of plasticity yields
Ds
kk
+3K

D
kk
*D
h
kk

+3K

D
kk
*L(c)Dc

, (3.274)
from which one finds
Ds
kk
D
+3KI *3K
L
c
Dc )L
Dc
D
. (3.275)
Substitution of Eq. (3.275) into (3.273) gives
1 )3K
L
c
Dc )L
c
s
kk

Dc
D
*
c

p
D
p
D
+3K
c
s
kk
I . (3.276)
Combining Eqs. (3.259) and (3.261), one has
q
T
n)1
*3GD
p
*s
Y

p
, c

+0 , (3.277)
which gives

h )3G

D
p
D
)
s
Y
c
Dc
D
+2Gn, (3.278)
!"#$%" '()*# + WARP3D Material ,)"#"-./*$01#2
3.99 3.456#$ 7 89#,#26" 42* :46#$)49 :0*#9"
where h + s
Y

p
.
Eqs. (3.276) and (3.278) yield
Dc
D
+
3K

h )3G

c
s
kk
I )2G
c

p
n

h )3G
1 )3K
L
c
Dc )L
c
s
kk
)
s
Y
c
c

p
(3.279)
and
D
p
D
+
2G1 )3K
L
c
Dc )L
c
s
kk
n*3K
s
Y
c
c
s
kk
I
(h )3G)1 )3K
L
c
Dc )L
c
s
kk
)
s
Y
c
c

p
(3.280)
Substitution of Eqs. (3.268) and (3.272) into (3.264) gives the consistent tangent opera
tor as
C
EP
+C
e
)
2G
2
D
p
q
T
n)1

2nn *3J

*2Gn
D
p
D
*K
L
c
Dc )LI
Dc
D
, (3.281)
in which
Dc
D
and
D
p
D
are given by Eqs. (3.279) and (3.280), respectively. It can be shown
that in the absence of hydrogen (c+0), Eq. (3.281) reduces to the consistent tangent opera
tor of Simo and Taylor (1985).
In the case of elasticity,
D
p
D
+0 and
Dc
D
+
3K
c
s
kk
I
1 )3K
L
c
Dc )L
c
s
kk
. (3.282)
Thus, the consistent tangent operator is
C
E
+C
e
*K
L
c
Dc )L
3K
c
s
kk
1 )3K
L
c
Dc )L
c
s
kk
II. (3.283)
Note: For more detailed information about the formulation of hydrogencoupled material
model, please see
Sofronis, P., Liang, Y., and Aravas, N. Hydrogen induced shear localization of plastic flow
in metals and alloys," European Journal of Mechanics A/Solids, 20(6), 857872, 2001.
Users Guide - WARP3D Material: cyclic
3.10 Material Model Type: cyclic
This material model provides nonlinear stress-strain response to describe the cyclic plasticity
behavior in metals. Based on Mises elasto-plasticity, the model approximates the Bauschinger
eect, ratcheting behavior, and stress-relaxation. At present, this material model is strain-rate
independent. The model employs an additive decomposition of the strain increments for stress
updating, and accommodates both small-strain and nite strain deformation levels through
techniques outlined in Chapter 1.
Two options exist to dene the stress-strain response, nonlinear hardening and general-
ized plasticity with the following characteristics.
nonlinear hardening
Nonlinear kinematic hardening following the Armstrong and Frederick [1] rule for evolution of the
backstress
Nonlinear isotropic hardening via a saturating exponential relationship between the radius of the
Mises yield cylinder and the accumulated plastic strain
Asymptotic, perfectly-plastic behavior at large plastic strains
Sharp yield point (discontinuous tangent)
Material properties invariant of temperature
generalized plasticity
Linear kinematic hardening
Linear isotropic hardening
Nonlinear limit function for admissibility provides nonlinear stress-plastic strain response
Asymptotically perfectly plastic or linear hardening behavior at large plastic strains
Soft yield point (continuous tangent)
Model of Lubliner, Taylor, and Auricchio [2]
Less computational eort for local stress updating than nonlinear hardening option
Temperature-dependent material properties and material response
For both options, the discrete nonlinear equations reduce to a single scalar equation for
the unknown consistency parameter which is solved in closed-form for the generalized plasticity
option and via Newtons method for the nonlinear hardening option. For both options, an
automatic subincrementation procedure improves the accuracy of the updated stresses by sub-
dividing the current estimate of the total strain increment over the load step, with stress up-
dates executed in the material model successively for each subincrement of strain. The strain
path for the load step at the material point remains proportional (straight) but the stress
path may become curved with proportional segments computed over each subincrement. The
adopted number of subincrements relies on a truncation error estimating procedure and a user
specied tolerance. A cap is placed on the maximum number of subincrements in the general-
ized plasticity model.
The model oers two approaches to describe the production of thermal strain increments in
response to temperature changes imposed in the analysis: isotropic and anisotropic. Isotropic
Chapter 3 (Updated: 8-20-2011) 3.10-1 Elements and Material Models
Users Guide - WARP3D Material: cyclic
refers to the conventional description which uses the same thermal expansion coecient (al-
pha) for each normal strain component with zero thermal strain increments generated for
the shear components (this thermal expansion coecient may vary with temperature for the
generalized plasticity option see Section 2.2). The anisotropic model enables denition of a
unique thermal expansion coecient for each of the 6 strain components; it is intended to
support modeling of various initial strain-stress elds, for example, residual stresses imposed
through an eigenstrain approach. The anisotropic coecients do not vary with temperature.
The isotropic model for thermal loading can be used in small displacement, large displacement
and nite strain analyses. The anisotropic model for thermal loading should generally not be
used in large displacement-rotation analyses as the anisotropic coecients are not rotation
neutralized (use of anisotropic coecients to model initial residual stresses when the initial
displacements and rotations remain small is acceptable).
The following sections discuss the model capabilities and features in detail, including the
needed input parameters. The next section describes the numerical implementation. The nal
section reduces the 3D constitutive equations to 1D forms.
3.10.1 Stress-Strain Curves
Despite the dierences noted above and the distinct governing equations, both options have
qualitatively similar stress-strain response under cyclic loading. Both options of the cyclic
model intentionally reproduce strain ratcheting under nonsymmetric stress cycling and stress
relaxation under nonsymmetric strain cycling, even under uniaxial and plane-stress conditions.
Figure 3.10.1 shows examples of this behavior.
The nonlinear hardening option
Before yielding occurs and during inelastic unloading, the material behavior follows a linear-
elastic response controlled by the elastic modulus and Poissons ratio (E and ). When plas-
tic ow occurs, the model provides key cyclic plasticity features through nonlinear kinematic
hardening. Figure 3.10.2, based on the work of Lemaitre and Chaboche[3], illustrates the eect
of nonlinear kinematic hardening on both the three-dimensional behavior in deviatoric stress
space and the uniaxial tension-compression behavior. In the gure, denotes the current stress
state, the center of the yield surface (the backstress) is , and k is the current radius of the
yield surface, shown here to be constant. H and represent material constants that govern
the kinematic hardening behavior. The nonlinear kinematic hardening reects a yield surface
that translates within a limit surface; this manifests as exponential saturation in a uniaxial
framework.
The addition of isotropic hardening may improve the simulation of some materials. Isotropic
hardening is implemented as a saturating exponential relationship between the current radius
of the yield surface and the accumulated plastic strain (shown in Fig. 3.10.3). Here
ys
denotes
the tensile yield stress; Q
u
(+
ys
) sets the saturation ow stress in 1-D; and b
u
governs the
rate at which the saturation stress is reached with the 1-D, accumulated plastic strain
p
u
. The
tensile yield stress and the initial yield surface radius (k
0
) are related by k
0
=
_
2/3
ys
. At
initial yield, the 1-D exponential hardening model has a plastic modulus of b
u
Q
u
, a quantity
often referred to as H
0
.
Chapter 3 (Updated: 8-20-2011) 3.10-2 Elements and Material Models
Users Guide - WARP3D Material: cyclic
! ! " #
$%
!
%
!
! % ! & "
$%
!
%
!
'() '+)

y
/
y

y
/
y
Fig. 3.10.1: Capabilities of this cyclic plasticity model: (a) stress relaxation for cyclic non-symmetric
strain loading, (b) ratcheting caused by cyclic, non-symmetric stress loading.
The generalized plasticity option
Before yielding occurs and during unloading, the material behavior follows a linear-elastic re-
sponse controlled by the elastic modulus and Poissons ratio (E and ). However, the elastic
domain does not dene admissibility; an additional surface acts as the limit function. Thus,
plastic ow may occur immediately upon reloading if reverse loading has not returned the
state to the elastic domain. Note that, unlike the limit surface depicted for nonlinear kine-
matic hardening in Fig. 3.10.2, this limit surface is explicitly specied and directly governs the
nonlinearity of stress-strain response.
Figure 3.10.4 presents the uniaxial stress-strain response of the generalized plasticity model
with kinematic hardening. In the gure,
ys
is the uniaxial (tensile) yield stress,
u
and
u
are
1-D specializations of the 3-D parameters (, ) that describe the evolution of the limit surface,
and (1)H
u
is the 1-D kinematic hardening modulus. Optional isotropic hardening, with 1-D
constant modulus H
u
, is not shown in the gure. The isotropic hardening is simply a linear
relationship between the radius of the yield surface and a measure of the accumulated plastic
strain. The material properties listed above E, ,
ys
, H
u
,
u
, and
u
have a piecewise linear,
temperature-dependent response in the generalized plasticity model. The fraction of hardening
modulus allocated to isotropic hardening () and to kinematic hardening (1 ) does not vary
with temperature.
3.10.2 Model Properties
Tables 3.10.1 and 3.10.2 list the properties dened for the cyclic material model. The mate-
rial properties are summarized below. The property keywords nonlinear hardening and gen-
eralized plasticity have no associated values. One of them must be specied before the other
property values are listed.
The mathematical formulations and computational code for both options employ conve-
nient, 3-D denitions for the various material constants that appear throughout. When the
Chapter 3 (Updated: 8-20-2011) 3.10-3 Elements and Material Models
Users Guide - WARP3D Material: cyclic
!"#"$ &'()*+,
-",!. &'()*+,

O
k
0
k= k

1
k
0
k= k +
H

ys

ys
2
ys
2
ys

u
A
B
H
u
/
u
Limit
H
u
/
u
Fig. 3.10.2: Illustration of the nonlinear hardening option for in both three-dimensional space and uni-
axial tension-compression, after Lemaitre and Chaboche [3]. Note the resumption of plastic deformation
on reloading from B only after reaching prior maximum stress at A. Also the limiting condition can only
have a horizontal asymptote.
3-D tensorial denitions are specialized to 1-D as needed to use simple tests for calibration
of the parameter values, the 1-D equivalent formulation values and the corresponding 3-D
values are generally are scaled by 3/2,
_
2/3, etc.
Users input values for the 1-D, uniaxial specializations of the 3-D material parameters. The
code converts these values to their 3-D denitions for use in computations.
nonlinear hardening option
Elastic and yield parameters:
E, , (E, nu, alpha): Youngs modulus, Poissons ratio, thermal expansion coecient
(or anisotropic expansion coecients). The properties E, nu, alpha maybe temperature
dependent (see Section 2.2).

ys
(yld pt): tensile yield stress upon initial loading (k
0
=
_
2/3
ys
).
Parameters for isotropic hardening:
q u (1-D): Sets the maximum (saturation) tensile stress reached as
ys
+ q u. Set q u= 0
for no isotropic hardening. q
3D
=
_
2/3 q
u
.
b u (1-D): Sets the rate at which the saturation tensile stress is reached with accumulated
(uniaxial) plastic strain. b
3D
=
_
2/3 b
u
.
Parameters for kinematic hardening.
Chapter 3 (Updated: 8-20-2011) 3.10-4 Elements and Material Models
Users Guide - WARP3D Material: cyclic

ys
+Q
u

ys
b
u
Q
u

u
(
p
u
) =
ys
+ Q
u
(1 exp [b
u

p
u
])
k =
q
2
3

u

p
u
Fig. 3.10.3: Saturating exponential, isotropic hardening for the nonlinear hardening option (1-D formu-
lation).
h u (1-D): Along with
u
, sets the radius of the limit surface. Sets the kinematic hardening
modulus at the onset of plastic ow ( = 0). h
3D
= (2/3)h
u
.
gamma u (1-D): Along with h u, sets the radius of the limit surface. Controls the non-
linearity of the backstress evolution.
3D
=
_
2/3
u
.
Notes: Set h
u
=
u
= 0 for no kinematic hardening. Set
u
= 0, h
u
> 0 to model simple
bilinear kinematic hardening. In 1-D uniaxial loading (no isotropic hardening), the
limiting tensile stress is
max
u
=
ys
+ h
u
/
u
.
generalized plasticity option
Elastic and yield parameters (see later notes about temperature dependence):
E, , (E, nu, alpha): Youngs modulus, Poissons ratio, thermal expansion coecient
(or anisotropic expansion coecients).

ys
(yld pt): tensile yield stress upon initial loading (k
0
=
_
2/3
ys
).
Hardening and limit surface parameters. Users input values for the 1-D, uniaxial specialization
of the 3-D formulation:
gp h u (1-D): Sets the terminal hardening rate of the generalized plasticity model under
monotonic uniaxial loading.
gp tau: Sets the (temperature invariant) fraction of isotropic to kinematic hardening:
h
iu
= h
u
, (3.10.1)
h
ku
= (1 ) h
u
. (3.10.2)
Chapter 3 (Updated: 8-20-2011) 3.10-5 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Model Property Keyword Mode Default
Value
Request nonlinear hardening option nonlinear hardening
Youngs modulus e number 30,000
Poissons ratio nu real 0.3
Mass density rho number 0.0
Thermal expansion (isotropic) alpha number 0.0
Thermal expansion (an-isotropic) alphax, alphay, alp-
haz, alphaxy, alphaxz,
alphayz
number 0.0
Tensile yield stress yld pt number 0.0
Kinematic hardening parameter (1-D) h u number 0.0
Kinematic hardening parameter (1-D) gamma u number 0.0
Isotropic hardening modulus (1-D) q u number 0.0
Isotropic hardening exponent (1-D) b u number 0.0
Subincrementation tolerance sig tol number 0.001
Table 3.10.1 Properties for cyclic material model: nonlinear hardening option. (property names are not
case sensitive)
gp beta u (1-D): Sets the asymptotic yield stress due to the limit surface evolution
(hardening further changes the yield stress but in a constant, non-saturating manner).

3D
=
_
2/3
u
.
gp delta u (1-D): Along with , sets the rate at which asymptotic behavior is approached.

3D
= (2/3)
iu
.
The material properties E, nu, alpha, gp sigma 0 (yld pt), gp beta u, gp delta u, and gp h u
may all be temperature dependent (see Section 2.2 for specication of values).
Notes: To degenerate the generalized plasticity model to the bilinear plasticity model set
gp beta u = gp delta u = 0. For isotropic hardening only, set gp tau=1; for kinematic hardening
only, set gp tau = 0; and for uniaxial loading with H=0, the limiting stress is
max
u
=
ys
+
u
and
u
> 0 sets the rate at which the limit stress is reached with plastic straining.
3.10.3 Model Output
By default, the material model prints no messages during computations. If requested, the
material model prints: (1) the element number and strain point number whenever the eective
stress rst exceeds the specied yield stress, and (2) the number of subincrements required
at each Gauss point undergoing plastic yielding. An excessive number of subincrements may
indicate that the global step size is too large. This option for detailed printing is requested with
the nonlinear solution parameter material messages on (refer to Section 2.10.8).
The model makes available the accumulated work density, U
0
, at each Gauss point to the
element routines for subsequent output. U
0
at step n+1 is evaluated using the trapezoidal rule
U
n+1
0
= U
n
0
+
1
2
_
t
n+1
+t
n
_
: d (3.10.3)
Chapter 3 (Updated: 8-20-2011) 3.10-6 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Model Property Keyword Mode Default
Value
Request generalized plasticity option generalized plasticity
Youngs modulus e number 30,000
Poissons ratio nu real 0.3
Mass density rho number 0.0
Thermal expansion (isotropic) alpha number 0.0
Thermal expansion (anisotropic) alphax, alphay, alp-
haz, alphaxy, alphaxz,
alphayz
number 0.0
Tensile yield stress (1-D) yld pt number 0.0
Terminal hardening modulus (1-D) gp h u number 0.0
Fraction of H
u
for isotropic hardening gp tau number 0.0
Limit function parameter (1-D) gp beta u number 0.0
Limit function parameter (1-D) gp delta u number 0.0
Subincrementation tolerance sig tol number 0.001
Table 3.10.2 Properties for cyclic material model: generalized plasticity option. (property names are not
case sensitive)
where the unrotated Cauchy stresses (t) and unrotated strain increments (d) are adopted for
the nite-strain formulation.
The element stress output contains three values for the material model state variables.
These are:
mat val1: a measure of the accumulated plastic strain over loading history,
e
p
=
_
t
0
_

p
ij

p
ij
dt (3.10.4)
mat val2: current radius of the yield surface, k,
nonlinear hardening option: k =
_
2
3
[
ys
+ Q
u
(1 exp [b
u

p
u
])] (3.10.5)
generalized plasticity option: k =
_
2
3
(
ys
+ H
iu

p
u
) (3.10.6)
mat val3: state ag, =1 if point is experiencing active plastic loading over the step, = 3
otherwise.
For reference, the corresponding 1-D value of the accumulated plastic strain is given by

p
u
=
_
t
0
|
p
11
|dt =
_
2
3
e
p
, (3.10.7)
and the current Mises equivalent stress is

vm
=
_
3
2
k . (3.10.8)
Chapter 3 (Updated: 8-20-2011) 3.10-7 Elements and Material Models
Users Guide - WARP3D Material: cyclic

ys

u

p
u

u
H
ku

u
f > 0
f > 0
f = 0
f = 0
f < 0
A
B
C
Fig. 3.10.4: Illustration of generalized plasticity model with kinematic hardening in uniaxial tension-
compression, after Auricchio and Taylor [4]. Note: (1) the abscissa is plastic strain; (2) resumption of
plastic deformation (C) on reloading (from B) prior to attainment of the previous maximum stress (A).
The limit asymptote is H
ku
= (1 )H
u
, which can be set to zero to match the large-strain behavior
of the nonlinear hardening option.
3.10.4 Element Blocking
As described in Section 2.6, elements are assigned to blocks to facilitate parallel processing.
For the computational material model cyclic, all elements in a block must refer to the same
material dened in an analysis model.
Consider an analysis model with 3 materials dened in the input named mat a, mat b and
mat c. Each of these materials species cyclic as the computational material model. Dierent
values for each of the cyclic properties (e.g., yld pt)may be dened in the materials mat a,
mat b and mat c. The blocking requirement described here requires that all elements assigned
to a block have the same associated material, either mat a, mat b and mat c.
3.10.5 Examples
With only a small number of parameters needed to characterize the nonlinear behavior, these
models are relatively straightforward to calibrate. However, the material parameters may not
remain generally applicable for loading paths that dier considerably from the data used for cal-
ibration, e.g., signicantly larger or smaller strain ranges than those applied during calibration
tests.
Chapter 3 (Updated: 8-20-2011) 3.10-8 Elements and Material Models
Users Guide - WARP3D Material: cyclic
nonlinear hardening option
This example denes a material with both nonlinear kinematic and nonlinear isotropic hard-
ening (note: material property names are case insensitive, upper-case letters may be use to
improve readability of input les).
structure cct
c
material steel_w_mixed_hardening
properties cyclic type nonlinear_hardening e 30000 nu 0.3 yld_pt 60,
q_u 80 b_u 0.01 gamma_u 3000 H_u 5000 sig_tol 0.001
This next example denes a material with only nonlinear kinematic hardening.
material steel_w_kinematic_hardening
properties cyclic type nonlinear_hardening e 30000 nu 0.3 yld_pt 60,
q_u 0.0 b_u 0.0 gamma_u 6000 H_u 5000 sig_tol 0.001
The following example denes a material with only nonlinear isotropic hardening.
material isotropic_hardening
properties cyclic type nonlinear_hardening e 30000 nu 0.3 yld_pt 60.0,
q_u 80 b_u 0.01 gamma_u 0.0 H_u 0.0 sig_tol 0.001
generalized plasticity option
The following example denes a material with nonlinear limit behavior and both linear kine-
matic and linear isotropic hardening.
material mixed_hardening
properties cyclic type generalized_plasticity e 30000 nu 0.3 yld_pt 60.0,
gp_beta_u 100.0 gp_delta_u 20000 gp_h_u 400.0 gp_tau 0.25 sig_tol 0.001
The following example denes a material with only nonlinear limit behavior and linear kine-
matic hardening.
material kinematic_hardening
properties cyclic type generalized_plasticity e 30000 nu 0.3 yld_pt 60.0,
gp_beta_u 100.0 gp_delta_u 20000 gp_h_u 300.0 gp_tau 0.0 sig_tol 0.001
The following example denes a material with only nonlinear limit behavior and linear isotropic
hardening.
material isotropic_hardening
properties cyclic type generalized_plasticity e 30000 nu 0.3 yld_pt 60.0,
gp_beta_u 100.0 gp_delta_u 20000 gp_h_u 100.0 gp_tau 1.0 sig_tol 0.001
Chapter 3 (Updated: 8-20-2011) 3.10-9 Elements and Material Models
Users Guide - WARP3D Material: cyclic
The following example denes a material with only nonlinear limit behavior (no hardening.)
material no_hardening
properties cyclic type generalized_plasticity e 30000 nu 0.3 yld_pt 60.0,
gp_beta_u 100.0 gp_delta_u 20000 gp_h_u 0.0 gp_tau 0.5 sig_tol 0.001
The following example denes a material with temperature-dependent behavior using stress-
strain curves at three isothermal temperatures (see also Section 2.2)
c
stress-strain curve 1 temperature 100 e 30000 nu 0.3 alpha 0.0001,
gp_sigma_0 60.0 gp_beta_u 100.0 gp_delta_u 10000.0 gp_h_u 1000.0
c
stress-strain curve 2 temperature 300 e 25000 nu 0.25 alpha 0.0002,
gp_sigma_0 50.0 gp_beta_u 80.0 gp_delta_u 8000.0 gp_h_u 700.0
c
stress-strain curve 3 temperature 500 e 20000 nu 0.2 alpha 0.0005,
gp_sigma_0 35.0 gp_beta_u 75.0 gp_delta_u 5000.0 gp_h_u 250.0
c
c
material gp_temp_dep
properties cyclic type generalized_plasticity curves 1-3,
rho 7.3e-7 gp_tau 0.2 sig_tol 0.001
Example calibration of an Inconnel 718 alloy
During development of this model, room temperature cyclic loading tests of an Inconel 718 alloy
provided a specic data set for trial calibration of the parameters. For the nonlinear hardening
option, the parameters are: e = 185 GPa, nu = 0.3, yld pt = 0.674 GPa, h u = 412.5 GPa,
gamma u = 735, q u = 0, and b u = 0. For the generalized plasticity option the parameters are:
e = 185 GPa, nu = 0.3, yld pt = 0.8 GPa, gp beta u = 0.51, gp delta u = 38.3, gp h u=20.56
GPa, and gp tau=0.
3.10.6 Plasticity Algorithms - Overview
The material model employs a strain driven algorithm for stress updating, based on the current
increment of strain, =
i
n+1

n
, where n is the previously converged global state and i
is the current global iteration for step n + 1. The material model uses a subincrementation
procedure to improve the accuracy of the stress update, the rst step of which computes the
fraction of the step, if any, that remains purely linear-elastic. This procedure passes a deviatoric
strain increment to the actual plasticity algorithm which then solves for the discrete consistency
parameter, t =

. The stress and history variables are then updated from the computed

. The material model also provides an approximation for the consistent tangent the subin-
crementation process introduces some deviation from a true consistent tangent. The material
models and the discrete algorithms are discussed next, independent of the subincrementation
procedure.
Chapter 3 (Updated: 8-20-2011) 3.10-10 Elements and Material Models
Users Guide - WARP3D Material: cyclic
3.10.7 nonlinear hardening option
Yield function and ow rule
The yield function is based on the standard, pressure invariant von Mises surface. Let , ,
and be the strain increment, stress, and the backstress respectively, all symmetric, second
order tensors. Dening the deviator tensors and tensor norms as
()
0
ij
= ()
()
kk
3

ij
, k ( ) k=
_
( )
ij
( )
ij
(3.10.9)
the yield surface is described by
f(, , e
p
) =k
0
k k( e
p
). (3.10.10)
The scalar variable e
p
denotes a measure the accumulated plastic strain, based on additive
decomposition of the strain tensor into elastic and plastic parts as,

0
= (
0
)
e
+ (
0
)
p
. (3.10.11)
The accumulated plastic strain is then a monotonically increasing function of time, such that

e
p
=k
_

0
_
p
k ; e
p
=
_
t
0

e
p
dt . (3.10.12)
Applying an associative ow rule, the plastic strain rate is written as
_

0
_
p
=

n, k
_

0
_
p
k=

,

0 , (3.10.13)
where denes the unknown consistency parameter and n is the unit normal for the yield
surface,
n =

0

k
0
k
, k n k 1 . (3.10.14)
The governing equation for the deviatoric stress rate,
0
= 2G(
0
)
e
, becomes

0
= 2G

_

0
_
p

= 2G

. (3.10.15)
Strain Hardening
The nonlinear hardening option features both kinematic and isotropic hardening. The evolution
of the backstress governs the kinematic hardening as
=

(Hn ) . (3.10.16)
The parameters are H with units of stress and the unitless . The second term creates the
nonlinearity; setting = 0 reproduces linear kinematic hardening of the bilinear model. For
isotopic hardening, the current radius of the yield surface is given by
k ( e
p
) = k
0
+ Q(1 exp [b e
p
]) . (3.10.17)
Setting Q = 0 eliminates isotropic hardening. Here, the material parameters have their val-
ues/denitions for the 3-D formulation. The 1-D specialization is treated later in this section.
Chapter 3 (Updated: 8-20-2011) 3.10-11 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Discretization
Continuum Eqs. (3.10.10), (3.10.12), (3.10.15), (3.10.16), (3.10.17) are discretized using the
backward Euler method to produce the following system of nonlinear algebraic equations:

0
s+1
=
0
s
+ 2G
_

0
s+1

n
s+1
_
=
trial
s+1
2G

n
s+1
(3.10.18)

s+1
=
s
+

(Hn
s+1

s+1
) (3.10.19)
_
_

0
s+1

s+1
_
_
= k
_
e
p
s+1
_
(3.10.20)
e
p
s+1
= e
p
s
+

(3.10.21)
where the subscript s denotes the previously converged state and s+1 is the current state, with

0
s+1
=
0
s+1

0
s
, the strain increment over the step from s to s+1. Note that s is used here to
dierentiate this subincrement step from the global step number n, since the subincrementation
process uses multiple sub-steps for a global step n n+1. These equations are condensed into
a single, nonlinear equation in terms of the discrete consistency parameter,

,
_
1 +

_
k
_
e
p
s
+

_
+ 2G

+

H
_
_

s+1
_
_
= r
_

_
= 0 (3.10.22)
where,

s+1
=
_
1 +

trial
s+1

s
(3.10.23)
This equation is solved via Newtons method (see next section) with the stress, backstress, and
accumulated plastic strain updated by

s+1
=
trial
s+1


_

_
s+1
(3.10.24)

s+1
=
1
1 +

_
s+1
_
(3.10.25)
where

_
=
2G

k
_
e
p
+

_,
_

_
=

H
k
_
e
p
+

_, and (3.10.26)

_
=
_
1 +

_
1 +
_

_
+
_

_
(3.10.27)
The 3-D measure of accumulated plastic strain is updated using Eq. (3.10.21).
Chapter 3 (Updated: 8-20-2011) 3.10-12 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Solution for the consistency parameter
The nonlinear residual equation, r(

) = 0, is solved using Newtons method. The (i + 1)


th
estimate of

is computed as

i+1
=

i
+

r
_

i
_
/r
0
_

i
_
(3.10.28)
where the derivative, r
0
() = dr/d, is given by
r
0
_

_
=

k
_
e
p
s
+

_
+ 2G

_
dk
_
e
p
+

_
d e
p
+ 2G
_
+ H

i
s+1

trial
s+1
_
_

i
s+1
_
_
(3.10.29)
The iterations begin with

(1)
= 0 and continue until convergence as measured by

r
_

i+1
_

<
ys
tol

(3.10.30)
where tol
y
= 10
6
. Although iterations most often converge quickly due to the quadratic
convergence inherent in Newtons method, a large (global) strain step may cause Newtons
method to fail. After 15 iterations without convergence, the solution procedure terminates, and
the model requests a reduction in global step size if the adaptive solution option is allowed,
otherwise the program exits.
Newtons method may occasionally converge to a negative value for

, although a plastic
step requires

> 0. Simo and Hughes [5] assert that for a convex yield surface, f (
trial
,
n
, e
p
)
> 0 guarantees the existence of

> 0. Thus, if Newtons method determines a

< 0, the model
applies interval bisection together with Newtons method to nd a positive value. The initial
interval has a lower bound of

= 0. An upper bound,

f
, is sought such that r (0) r
_

f
_
< 0,
where r is dened in Eq. (3.10.22). The procedure examines up to 4 multiples of an initial guess
for

f
(the absolute value of the converged, negative root). If an acceptable upper bound is not
found, the model requests a global step size reduction if possible, otherwise the program ter-
minates. Within a suitable interval, the procedure employs Newtons method. If the computed

falls outside the interval or 10 consecutive Newton iterations occur without convergence,
the procedure takes an interval bisection step and computes a new starting

as the mean of
the interval. If the procedure executes 10 interval bisection steps without nding a positive
root, the material model requests a global step size reduction if adaptive solutions are allowed,
otherwise the program terminates.
Consistent tangent
The consistent tangent operator, required for calculating the element stiness matrices, is a
fourth order tensor that provides the change in stress with respect to change in strain,
C =
d
n+1
d
n+1
. (3.10.31)
If state n + 1 is elastic, C is given by
Chapter 3 (Updated: 8-20-2011) 3.10-13 Elements and Material Models
Users Guide - WARP3D Material: cyclic
C
E
ijkl
= K
ij

kl
+ 2G
_
1
2
(
ik

jl
+
il

jk
)
1
3

ij

kl
_
. (3.10.32)
Otherwise, if state n + 1 is plastic loading, the tangent operator is given by
C
P
ijkl
= K
ij

kl
+ a
_

ik

jl

1
3

ij

kl
_
+ bn
ij
n
kl
c
trial
ij
n
kl
(3.10.33)
a =
2G

_
1 +

+
_
(3.10.34)
b =
k

_
(3.10.35)
c =

(3.10.36)
=
2G
_
1 +

_
k
0
+ 2G + H +
_
k + 4G

n
trial
n+1
_ (3.10.37)
where k
0
= dk/d e
p
and n is computed as in Eq. (3.10.14).
The fourth term of the Eq. (3.10.33), c
trial
n, is generally not symmetric. Thus, the
implemented tangent is taken a symmetric average
_
C
P
ijkl
_
sym
=
1
2

C
P
ijkl
+ C
P
klij

(3.10.38)
Also, the model computes the tangent from data for the last stress update, i.e., the last
subincrement of the total step. Thus the tangent is not fully consistent with the entire global
step, =
i
n+1

n
. The subincrementation and symmetrization of the consistent tangent can
lead to a lack of global quadratic convergence for general load paths. However, the convergence
is superlinear in general and becomes essentially quadratic for radial load paths and small step
sizes.
3.10.8 generalized plasticity option
Yield surface, limit function, and ow rule
Eqns. (3.10.9)-(3.10.15) from the nonlinear hardening option apply as well to the generalized -
plasticity option. The main dierences between the two options are: (1) the GP may have con-
stant (kinematic) hardening at large plastic strains, (2) the GP model may have temperature-
dependent material properties, and (3) the GP model does not use the yield surface to dene
admissibility. Instead, a nonlinear limit function, F, describes admissible states where
F = h(f)
_
n :
0


(3.10.39)
Chapter 3 (Updated: 8-20-2011) 3.10-14 Elements and Material Models
Users Guide - WARP3D Material: cyclic
h(f) =
1
( f) + H
(3.10.40)
=
1
H
k
dH
k
d
: n +
dk
0
d
+
dH
i
d
e
p
(3.10.41)
such that

0, F 0, and

F = 0. The term reects the yield surface variation with
temperature, . Note that f is the yield function as given in Eq. (3.10.10) and , , and H are
material parameters. and are related to their 1-D (uniaxial) counterparts used for input
values and described previously via
=
_
2
3

u
and =
2
3

u
. (3.10.42)
Also note that the total hardening modulus, H = H
k
+H
i
is also related to the 1-D moduli
through
H
k
=
2
3
H
ku
; H
i
=
2
3
H
iu
. (3.10.43)
The generalized plasticity model allows an admissible state to be outside the yield surface
since the yield and limit surfaces are not coincident. Thus yielding can occur immediately on re-
loading without rst traversing a linear-elastic region. Nonlinear stress-plastic strain response
is due entirely to nonlinearity in the limit function.
Strain hardening
The generalized plasticity model features optional linear kinematic and linear isotropic hard-
ening. Evolution of the backstress governs the kinematic hardening (translation of the yield
surface) by
=

H
k
H
k
+ H
k
_

0
_
p
(3.10.44)
The parameter H
k
is the kinematic hardening modulus, with units of stress. The isotropic
hardening modulus, H
i
, (units of stress) governs expansion of the yield surface as
k( e
p
) = k
0
+ H
i
e
p
. (3.10.45)
Discretization
The generalized plasticity implementation employs a predictor-corrector strategy for which the
trial state assumes all response is linear-elastic. If the actual state is linear-elastic, it must be
within the yield surface or lie in an unloading direction

n
0

< 0

from the previous


state. The discrete version of the unloading test is
f
trial
s+1
f
s
< 0 (3.10.46)
Chapter 3 (Updated: 8-20-2011) 3.10-15 Elements and Material Models
Users Guide - WARP3D Material: cyclic
where
f
trial
s+1
=
_
_
_
trial
s+1
_
_
_ k
trial
s+1
=
_
_
_
trial
s+1

trial
s+1
_
_
_ k
trial
s+1
, (3.10.47)

trial
s+1
=
G
s+1
G
s

0
s
+ 2G
s+1

0
s+1
, (3.10.48)

trial
s+1
=
H
k,s+1
H
k,s

s
, (3.10.49)
k
trial
s+1
= k
0,s+1
+ H
i,s+1
e
p
s
. (3.10.50)
The subscript s denotes the previously converged state and s + 1 is current state, with

0
s+1
=
0
s+1

0
s
, the strain increment over the step from s to s + 1. Note that s is used here
to dierentiate this step from the global step number n, since the subincrementation process
uses multiple sub-steps for each global step n n + 1. Applying the backward Euler method
to the continuum equations yields a single quadratic equation for the consistency parameter

=

t

:
a

2
+ b

+ c = 0 (3.10.51)
where
a = (2G + H) ( (2G +H
i
)) (3.10.52)
b = ( + H) ( (2G +H
i
)) f
trial
s+1
+ (2G + H)

f
trial
s+1
f
s

(3.10.53)
c =

f
trial
s+1

f
trial
s+1
f
s

. (3.10.54)
The smallest positive root is the correct solution [4]. In Eqns. (3.10.52), (3.10.53), and (3.10.54),
the material properties equal the temperature-dependent values at s+1. The term H
i
reects
the change in the isotropic hardening coecient from s to s + 1.
The stress and internal variables are then updated with

0
s+1
=
trial
s+1
2G
s+1

n (3.10.55)

s+1
=
trial
s+1
+ H
k,s+1

n (3.10.56)
e
p
s+1
= e
p
s
+

(3.10.57)
where n =
trial
s+1
/ k
trial
s+1
k.
Chapter 3 (Updated: 8-20-2011) 3.10-16 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Consistent tangent
The consistent tangent operator, required for calculating the element stiness matrices, is a
fourth order tensor that provides the change in stress with respect to change in strain,
C =
d
n+1
d
n+1
. (3.10.58)
If state n + 1 is elastic, C is given by
C
E
ijkl
= K
n+1

ij

kl
+ 2G
n+1
_
1
2
(
ik

jl
+
il

jk
)
1
3

ij

kl
_
. (3.10.59)
Otherwise, if state n + 1 is plastic loading, the tangent operator is given by
C
P
ijkl
= K
n+1

ij

kl
+ a
_

ik

jl

1
3

ij

kl
_
+ bn
ij
n
kl
(3.10.60)
where
a = 2G
n+1
_
1
2G
n+1

_
_

n+1
_
_
+ (2G
n+1
+ H
k,n+1
)
_
(3.10.61)
b = 2G
n+1
_
2G
n+1

_
_

n+1
_
_
+ (2G
n+1
+ H
k,n+1
)
A
_
(3.10.62)
A =
2G
n+1
B
1
(2G
n+1
+ H
n+1
) B
1
+ B
2
, (3.10.63)
B
1
= 2f
n+1
f
n
+ (H
n+1
+
n+1
H
i
) , (3.10.64)
B
2
= (
n+1
+ H
n+1
)
n+1
(H
n+1
+
n+1
H
i
) f
n+1
. (3.10.65)
The above expression, Eq. (3.10.60) reveals that the consistent tangent for the general-
ized plasticity model remains symmetric.
3.10.9 Subincrementation for both cyclic options
The subincrementation procedure rst computes the elastic fraction of the global strain incre-
ment, =
i
n+1

n
. The fraction 0 1 is found such that
_
_

0
n
+ 2G
0

n
_
_
k ( e
p
n
) = 0 (3.10.66)
and the state
0
n
+ 2G
0
n+1
lies on the yield surface from global step n. Solving for leads
to a quadratic equation with solution
Chapter 3 (Updated: 8-20-2011) 3.10-17 Elements and Material Models
Users Guide - WARP3D Material: cyclic
= a/b
_
(a/b)
2
+ (c/b) (3.10.67)
where
a = (
n

n
) 2G
0
n+1
, (3.10.68)
b = 2G
0
n+1
2G
0
n+1
, (3.10.69)
c = k( e
p
n
)
2
(
n

n
) (
n

n
) . (3.10.70)
Note that c is a re-statement of the yield surface, i.e., c = 0 f = 0 and f > 0 c < 0.
Therefore, if f = 0 (previous step was plastic loading)
=
a
b

a
b

. (3.10.71)
Since b > 0 and 0,
= 0 if a 0 and = 2

a
b

if a < 0 . (3.10.72)
The requirement that < 1 is automatically satised, since this procedure is used only if
the full strain increment causes the trial stress to lie outside the current yield surface and thus
the intersection with the surface must occur before the full increment is applied.
Also, note that c 0, since f > 0 is not allowed, and thus Eq. (3.10.67) always has at least
one positive solution.
For the generalized plasticity model, Eqn. (3.10.66) has a nonlinear form due to temperature-
dependent material properties. Ridders method provides a satisfactory method to solve for in
the generalized plasticity model. This method converges rapidly to the solution of Eqn. (3.10.66)
that incorporates mechanical and thermal loading eects on the yield surface.
If the elastic fraction is non-zero, the rst subincrement is eectively a step from
n
to

n
+
n+1
. This is a linear-elastic update; the stress at the end of this subincrement is

0(1)
n+1
=
0
n
+ 2G
0
n+1
and the backstress is
(1)
n+1
=
n
, where the superscript refers to the
subincrement number. Also, the accumulated plastic strain is unchanged from step n.
The remaining strain increment, (1 )
n+1
, causes plastic yielding. The accuracy of
the stress state computed at the end of the increment depends, in part, on the size of the
plastic fraction of the step. The premise of subincrementation strategies lies in dividing the
total strain increment into several small steps and computing the stress state sequentially for
each increment produces a more accurate answer than a single step procedure but does so more
eciently than a global step size reduction.
The method employed here uses estimates of truncation error to compute the number of
subincrements required to satisfy a user supplied tolerance on the stress accuracy. First, the
stress is computed for both a single step (
(1)
) and a 2-step procedure (
(2)
); i.e., a step size
Chapter 3 (Updated: 8-20-2011) 3.10-18 Elements and Material Models
Users Guide - WARP3D Material: cyclic
of h and h/2, respectively. Since the numerical integration of the rate equations is rst order
accurate, the error can be estimated from the two solutions. The error is computed as
E

= max
i,j=1,3

(2)
ij

(1)
ij

. (3.10.73)
If the error is greater than the tolerance, the number of subincrements needed to satisfy
the tolerance, s, is estimated as
s = ceil

1.1
2E

tol

(3.10.74)
where tol

=
y
sig tol (sig tol is the user specied tolerance) and the 1.1 factor insures the
tolerance is satised. The balance, 2E

/tol

, artises from an estimate of the step size, h

, such
that E (h

) = tol

.
Since at least 2 solutions are generated via this procedure (1-step, 2-step, and possibly
s-step), extrapolation is simple and can produce an additional order of magnitude in accuracy.
Extrapolation is carried out on a component-wise basis. Let x be any single component of the
solution (e.g., x =
0
11
or x =
23
) and n
a
and n
b
be two dierent numbers of subincrements
for which the solution already exists such that n
a
> n
b
. Then the extrapolated solution is
x
a,b
= ax
a
bx
b
(3.10.75)
where
a =
n
a
n
a
n
b
, (3.10.76)
and
b =
n
b
n
a
n
b
. (3.10.77)
For example, extrapolating 1-step and 2-step solutions produces
x
2,1
=
2
2 1
x
2

1
2 1
x
1
= 2x
2
x
1
. (3.10.78)
The tangent modulus used at the global level is computed according to Eqs. (3.10.33) and
(3.10.60) considering only the last subincrement. It does not account for the inuence of all
the subincrements on the solution or extrapolation so it is not completely consistent with the
algorithm. Nevertheless, there is typically only a small reduction in global convergence rate.
Chapter 3 (Updated: 8-20-2011) 3.10-19 Elements and Material Models
Users Guide - WARP3D Material: cyclic
3.10.10 Details on 1-D specialization of 3-D plasticity formulation
Stresses
The 3-D version of Mises plasticity is specialized to 1-D for identication of material properties
from a uniaxial test (tension and/or compression). Dene the stress tensor and the deviator of
the stress tensor
=
_
_

11

12

13

21

22

23

31

32

33
_
_
, (3.10.79)
and

m
=

11
+
22
+
33
3
. (3.10.80)
The deviator of the stress tensor is then

0
=
_
_

11

m

12

13

21

22

m

23

31

32

33

m
_
_
. (3.10.81)
For 1-D loading:
11
6= 0 and all other components are zero,

0
u
=
_
_

11


11
3
0 0
0

11
3
0
0 0

11
3
_
_
. (3.10.82)
The Mises yield function can be written in the form
k
0
k k = 0 (3.10.83)
where k is a material constant with units of stress and is the radius of the Mises yield cylinder.
The norm, k k, is given by
k
0
k=
_

0
ij

0
ij
. (3.10.84)
Then for 1-D, we have
k
0
u
k=
_
2
3
|
11
| , (3.10.85)
and k becomes identied as
k =
_
2
3
|
11
| . (3.10.86)
Chapter 3 (Updated: 8-20-2011) 3.10-20 Elements and Material Models
Users Guide - WARP3D Material: cyclic
In terms of the uniaxial tensile yield stress,
ys
, k
0
at the onset of yielding becomes k
0
=
_
2/3
ys
. For simple shear loading, all stress components but = |
12
| = |
21
| are zero with
k
0
u
k=

2 |
12
| =

2 , (3.10.87)
with k
0
then also becoming identied as
k
0
=

2
ys
. (3.10.88)
Equating both denitions of k
0
, we have

2
ys
=
_
2
3

ys
, (3.10.89)

ys
=

ys

3
. (3.10.90)
The Mises yield criterion of Eq. (3.10.83) may be written in a variety of other forms by
including various constants in both k
0
k and k.
In Eq. (3.10.83), with k in terms of the shear stress, we can also write
1

2
k
0
k
ys
= 0 , (3.10.91)
where the rst term is identied now with second invariant of the deviator stress tensor, J
2
,
giving
_
J
2

ys
= 0 . (3.10.92)
Alternatively, Eq. (3.10.86) can be used in Eq. (3.10.83) in a similar way to write
k
0
k
_
2
3

ys
= 0 . (3.10.93)
Now multiply through by
_
3/2 to dene
_
3
2
k
0
k
ys
= 0 , (3.10.94)
where again J
2
can be introduced to write the yield function in another quite common form
_
3J
2

ys
= 0 . (3.10.95)
Chapter 3 (Updated: 8-20-2011) 3.10-21 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Plastic strains
The strains and strain rates (wrt loads or time) are treated with additive decomposition
=
e
+
p
(3.10.96)
and
=
e
+
p
(3.10.97)
where the plastic strains are deviatoric and aligned with the deviatoric stresses, i.e.,
p
k
0
k.
For 3-D plastic deformation, we have

p
=
_
_

p
11

p
12

p
13

p
12

p
22

p
23

p
13

p
23

p
33
_
_
, (3.10.98)
where the trace (
p
) =
p
11
+
p
22
+
p
33
0 to reect the incompressibility of plastic strains. The
norm of plastic strains is given by
k
p
k=
_

p
ij

p
ij
. (3.10.99)
The corresponding rate denition is denoted

e
p
=k
p
k , (3.10.100)
where k
p
k and

e
p
may have increasing/decreasing (instantaneous) values 0 over the loading
history. Here

e
p
is a measure of the instantaneous rate 0 of plastic strain accumulation, with
the total plastic strain accumulation over the loading history given by
e
p
=
_
t
0

e
p
dt , (3.10.101)
with t denoting time or a loading measure.
Specialization to the 1-D, uniaxial case with loading only along the 1-direction yields

p
u
=
_
_

p
11
0 0
0 0.5
p
11
0
0 0 0.5
p
11
_
_
, (3.10.102)
where incompressibility dictates the values for
p
22
and
p
33
. The subscript u distinguishes spe-
cialization to the 1-D (uniaxial) case. The norm for this 1-D form becomes
k
p
u
k=
_
3
2
|
p
11
| . (3.10.103)
Chapter 3 (Updated: 8-20-2011) 3.10-22 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Similarly, the 1-D rate form for the accumulation rate of plastic strain and the accumulated
plastic strain become

e
p
u
=k
p
u
k=
_
3
2
|
p
11
| , (3.10.104)
and
e
p
u
=
_
t
0

e
p
u
dt =
_
3
2

p
u
where
p
u
=
_
t
0
|
p
11
| dt . (3.10.105)
Reducing 3-D constitutive equations to 1-D: Generalized Plasticity
The continuum 3-D equations for the Generalized Plasticity (GP) model (with temperature
invariant material properties) are summarized below.
f =k
0
k k( e
p
) (3.10.106)
k( e
p
) = k
0
+ H
i
e
p
(3.10.107)
F = h(f)[n :
0
]

(3.10.108)
or alternatively,
F = h(f)
_
d
dt
||
0
|| +n :
_


(3.10.109)
h(f) =
f
( f) + H
(3.10.110)
n =
df/d
0
k df/d
0
k
=

0

k
0
k
; k n k 1 (3.10.111)

p
=

n (3.10.112)
= H
k

n = H
k

p
(3.10.113)
H = H
i
+ H
k
(3.10.114)
where the norm of
p
, the norm of its rate,

e
p
, and the accumulated (monotonically increasing)
plastic strain measure, e
p
, are dened as in Eqs. (3.10.99), (3.10.100), and (3.10.101); k
0
is the
radius of the Mises yield cylinder at the onset of plastic ow; H
i
and H
k
provide constant
rates of isotropic and kinematic hardening with increasing plastic ow; and are constant
material parameters. All values above are cast in terms of the 3-D formulation (uniaxial forms
are introduced later in this section).
Chapter 3 (Updated: 8-20-2011) 3.10-23 Elements and Material Models
Users Guide - WARP3D Material: cyclic
To identify the hardening parameter H
i
, Eq. (3.10.107) is specialized to the 1-D case using
Eq. (3.10.86) and Eq. (3.10.105)
k( e
p
u
) = k
0
+ H
i
e
p
u
, (3.10.115)
which can be written in the form (using Eqs. (3.10.86), (3.10.105))
k(
p
u
) =
_
2
3

ys
+ H
i
_
_
3
2

p
u
_
(3.10.116)
Now introduce the uniaxial version of the isotropic (constant) hardening parameter as H
iu

(3/2)H
i
, then the isotropic hardening function further reduces to
k (
p
u
) =
_
2
3
(
ys
+ H
iu

p
u
) , (3.10.117)
where the 1-D form H
iu
is input by the user to dene model properties.
Following Eq. (3.10.82), dene a direction tensor m which relates the uniaxial stress-based
variables to their 3-D tensorial counterparts;
m =
1
3
_
_
2 0 0
0 1 0
0 0 1
_
_
. (3.10.118)
The 1-D form of the deviator stress tensor can be written

0
u
=
11
m , (3.10.119)
where the sense of the deviator takes the sign of
11
. Here, Tr(
0
u
) 0 and ||
0
u
|| =
_
2/3 |
11
|
Similarly, the 1-D form of the backstress may be written most conveniently as

u
=
11
m. (3.10.120)
where the Tr(m) 0 and ||
u
|| =
_
2/3 |
11
|. The direct correspondence between
11
and
11
simplies subsequent interpretation of (uniaxial) material properties.
Continuing, the 1-D form of the plastic strain tensor can be written

p
u
=
3
2

p
11
m , (3.10.121)
where the sense of
p
u
takes on the sign of
p
11
[refer to Eq. (3.10.102)].
With these 1-D denitions, the yield function in Equation (3.10.106) becomes
f = |
11

11
| k mk k(
p
u
) =
_
2
3
[|
11

11
| (
ys
+ H
iu

p
u
)] , (3.10.122)
in which all the components have direct one-dimensional signicance.
Chapter 3 (Updated: 8-20-2011) 3.10-24 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Now consider evolution of the backstress in 1-D. Using the rate form of Eq. (3.10.121),
Eq. (3.10.113) reduces to

11
m =
3
2
H
k

p
11
m , (3.10.123)
which further simplies to

11
= H
ku

p
11
, (3.10.124)
since mis a constant tensor and with the introduction of H
ku
(3/2)H
k
, the uniaxial version of
the kinematic hardening parameter, as done previously for the isotropic hardening parameter in
Eq. (3.10.117). The quantity H
ku
is input by the user to dene the uniaxial equivalent kinematic
hardening rate.
The last step is to solve for
11
in terms of
p
11
. Using Eq. (3.10.111) and the denitions
above for the 1-D forms of
0
and , we can write
n
u
=

0
u

u
k
0
u

u
k
=

11
m
11
m
k
11
m
11
mk
=
_
3
2
sgn(
11

11
) m . (3.10.125)
Equation (3.10.112) becomes (using Eq. (3.10.121))
3
2

p
11
m =

_
3
2
m sgn(
11

11
) , (3.10.126)
where the sign of
p
11
sets the sign of

. Again the scalar terms on either side of the above
equation must be equal. Rearranging the scalar equality yields

=
_
3
2

p
11
sgn(
11

11
) . (3.10.127)
Also, using the rate form of Eq. (3.10.119) and the above form for n
u
, we have
n
u
:
0
u
=
_
2
3
sgn(
11

11
)
11
. (3.10.128)
Substituting the preceding equations into the limit surface, Eq. (3.10.109), generates the
relationship between the uniaxial stress and uniaxial strain:
h(f)
11
=
3
2

p
11
. (3.10.129)
The straightforward path to determine the 1-D (uniaxial) equivalents of the material parameters
and is to let H
i
= H
k
= 0, which makes 0 Then from Eqs. (3.10.110), (3.10.122) with

11
= H
iu
= 0,
h(f) =
f
( f)
=
_
2
3
(
11

ys
)

_

_
2
3
{
11

ys
}
_ , (3.10.130)
Chapter 3 (Updated: 8-20-2011) 3.10-25 Elements and Material Models
Users Guide - WARP3D Material: cyclic
which simplies to
h(f) =

11

ys

__
3
2
(
11

ys
)
_ , (3.10.131)
where
11

ys
is assumed for simplicity here to determine the remaining material constants
and .
The separable dierential equation
3
2

p
11
=

11

ys

__
3
2
(
11

ys
)
_
11
(3.10.132)
is integrated to compute

p
11
=
1
(3/2)
_
_

11

ys
+
_
3
2
ln

11

ys

_
3
2

_
3
2

_
_
. (3.10.133)
Thus, we can identify the 1-D equivalent denitions for and as
u

_
3/2 and
u
(3/2)
such that

p
11
=
1

u
_

11

ys
+
u
ln

11

ys

_
,
11

ys
. (3.10.134)
The following table summarizes the 3-D algorithmic entities and their 1-D counterparts,
for the Generalized Plasticity model. Note that WARP3D takes the 1-D equivalent material
parameters as input values: H
iu
, H
ku
,
u
,
u
.
Entity 3-D algorithm 1-D specialization
accumulated plastic strain e
p
=
_
t
0

e
p
dt e
p
u

_
3
2

p
u
;
p
u
=
_
t
0
|
p
11
|dt
hardening parameter H H
u
(3/2)H
limit function extent parameter
u

_
3
2

limit function rate parameter


u
(3/2)
current yield stress k( e
p
) = k
0
+ H
i
e
p
k (
p
u
) =
_
2
3
(
ys
+ H
iu

p
u
)
Reducing 3-D constitutive equations to 1-D: Nonlinear Hardening
The continuum 3-D equations for the Nonlinear Hardening (NH) model are summarized below:
f =k
0
k k( e
p
) , (3.10.135)
k( e
p
) = k
0
+ Q[1 exp (b e
p
)] , (3.10.136)
Chapter 3 (Updated: 8-20-2011) 3.10-26 Elements and Material Models
Users Guide - WARP3D Material: cyclic
n =
df/d
0
k df/d
0
k
=

0

k
0
k
; k n k 1 , (3.10.137)

p
=

n , (3.10.138)
=

(Hn ) , (3.10.139)
where the norm of
p
, the norm of its rate,

e
p
, and the accumulated (monotonically increasing)
plastic strain measure, e
p
, are dened as in Eqs. (3.10.99), (3.10.100), and (3.10.101); k
0
is
the radius of the Mises yield cylinder at the onset of plastic ow; H provides a constant rate
of kinematic hardening with increasing plastic ow; and provides the nonlinearity in the
kinematic hardening rate. Q and b introduce an isotropic hardening response that saturates to
a constant yield cylinder radius, k
0
+ Q, at large values of the accumulated plastic strain. All
values above are cast in terms of the 3-D formulation (uniaxial forms are introduced later in
this section).
To identify the isotropic hardening parameters Q and b, Eq. (3.10.136) is specialized to the
1-D case using Eq. (3.10.86) and Eq. (3.10.105)
k( e
p
u
) = k
0
+ Q[1 exp (b e
p
u
)] , (3.10.140)
which can be written in the form (using Eqs. (3.10.86), (3.10.105))
k(
p
u
) =
_
2
3

ys
+

_
2
3
Q
u
_
1 exp

_
3
2
b
p
u
_
, (3.10.141)
where uniaxial denitions of the isotropic hardening parameters are introduced such that Q =
_
2/3 Q
u
and in the following b
u
=
_
3/2 b. Here,
ys
and Q
u
denote the yield stress and
saturation ow stress, respectively, in uniaxial tension. The dimensionless term b
u
sets the rate
at which the saturation ow stress is attained with increasing (uniaxial) plastic strain. The 1-D
form of the isotropic hardening function thus simplies to
k (
p
u
) =
_
2
3
(
ys
+ Q
u
[1 exp (b
u

p
u
)]) , (3.10.142)
where the 1-D forms
ys
, Q
u
and b
u
are input by the user to dene model properties.
To determine the 1-D form of the kinematic hardening parameters H and , write the rate
of backstress, Eq. (3.10.139), in the 1-D form

u
=

(Hn
u

u
) . (3.10.143)
Now use the 1-D specializations for
u
, n
u
, and
u
from Eqs. (3.10.120), (3.10.125), and
(3.10.118) to write

11
m =

_
3
2
Hsgn(
11

11
) m
11
m

. (3.10.144)
Chapter 3 (Updated: 8-20-2011) 3.10-27 Elements and Material Models
Users Guide - WARP3D Material: cyclic
Equating terms applied to the constant tensor, m, leads to the simplied form

11
=

_
3
2
Hsgn(
11

11
)
11

. (3.10.145)
Using the 1-D form for the rate of the consistency parameter,

, given by Eq. (3.10.127) yields

11
=
_
3
2

p
11
sgn(
11

11
)

_
3
2
Hsgn(
11

11
)
11

, (3.10.146)
which can be re-arranged to the form

11
=
_
3
2
H
_
3
2

11
sgn(
11

11
)
_

p
11
. (3.10.147)
The 1-D forms for H and are seen to be H
u
= (3/2)H and
u
=
_
3/2 . Recall also
that
p
11
can be positive or negative. Let = 1 set the sign of
p
11
based on the direction of
loading (tension/compression). We also see that sgn(
11

11
) carries the same sign as the
plastic strain rate, e.g. in compression yielding both sgn(
11

11
) and
p
11
are negative. For
simplicity, drop the 11 subscripts and simplify
= H|
p
| |
p
| . (3.10.148)
The nonlinear kinematic hardening model with > 0 denes a limit surface by bounding
the backstress magnitude at large plastic strains. The above equation can be re-arranged into
a separable form such that
_

p

p
0
d
p
=
_

0
d
H
u

. (3.10.149)
Integrating both sides yields
(
p

p
0
) =
1

u
ln [H
u

u
] |

0
. (3.10.150)
Re-arrange, take the exponential of both sides, and solve for to nd
=
H
u

u
+

H
u

exp[
u
(
p

p
0
)] , (3.10.151)
where at large plastic strains we have (see also Ref. [3])
=
limit
11
= 1
H
u

u
. (3.10.152)
In this limit expression, both H
u
and
u
refer to their denitions in the 1D formulation. Use
this limiting expression for
11
in the 1-D form of the yield function, Eq. (3.10.122), eliminate
isotropic hardening for simplicity and re-arrange to nd
Chapter 3 (Updated: 8-20-2011) 3.10-28 Elements and Material Models
Users Guide - WARP3D Material: cyclic
k
limit
= k
0
+
H

. (3.10.153)
In uniaxial terms,

limit
u
=
ys
+
_
3
2
H

, (3.10.154)
and using the uniaxial denitions for H and from Eq. (3.10.147) we have

limit
u
=
ys
+
H
u

u
. (3.10.155)
The following table summarizes the 3-D algorithmic entities and their 1-D counterparts,
for the Nonlinear Hardening model. Note that WARP3D takes the 1-D equivalent material
parameters as input values: Q
u
, b
u
, H
u
, and
u
.
Entity 3-D algorithm 1-D specialization
accumulated plastic strain e
p
=
_
t
0

e
p
dt e
p
u

_
3
2

p
u
;
p
u
=
_
t
0
|
p
11
|dt
isotropic parameter Q Q
u

_
3/2 Q
isotropic parameter b b
u

_
3/2 b
kinematic parameter H H
u
(3/2)H
kinematic parameter
u

_
3/2
current yield stress (k,
u
) k
0
+ Q[1 exp (b e
p
)]
ys
+ Q
u
[1 exp (b
u

p
u
)]
3.10.11 References
[1] P. J. Armstrong and C. O. Frederick. A mathematical representation of the multi-axial Baushinger
eect. Tech. report C.E.G.B. Report RD/B/N731, Berkeley Nuclear Laboratories, R&D Department,
1965.
[2] J. Lubliner, R. L. Taylor, and F. Auricchio. A new model of generalized plasticity and its numerical
implementation. International Journal of Solids and Structures, 30:31713184, 1993.
[3] J. Lemaitre and J. L. Chaboche. Mechanics of Solid Materials. Cambridge University Press, 2000.
[4] F. Auricchio and R. L. Taylor. Two material models for cyclic plasticity: non-linear kinematic hard-
ening and generalized plasticity. International Journal of Plasticity, 11:6596, 1995.
[5] Simo, J.C., Hughes, T.J.R. Computational Inelasticity. Springer, 2000. ISBN: 978-0-387-97520-7.
Chapter 3 (Updated: 8-20-2011) 3.10-29 Elements and Material Models
Users Guide - WARP3D Material: UMAT
3.11 Material Model Type: umat
This model provides the complete material constitutive response through computations per-
formed by a user-supplied subroutine umat. The Fortran code for the umat and all supporting
routines are placed in the le umats.f for inclusion in the WARP3D executable. The umat
programming interface in WARP3D matches that used in Abaqus. Existing umat routines de-
veloped for use with Abaqus can be used with very minimal changes in WARP3D. Appendix
J describes the umat interface and the mechanism to incorporate the routine(s) as part of the
WARP3D executable.
This section provides information needed by the user of the umat to associate elements
with the material and its user-denable properties.
The following example illustrates the process
structure cct
c
material inco718
properties umat um_1 30000 um_2 0.3 um_3 -1.0 um_4 1.0e-04,
um_5 65.5 um_6 0.0 rho 1.2e-04
material hastelloy
properties umat um_1 28500 um_2 0.28 um_3 0.0 um_4 2.1e-04,
um_5 18.6 um_6 12.0 rho 0.0
material steel_w_kinematic_hardening
properties cyclic type nonlinear_hardening e 30000 nu 0.3 yld_pt 60,
q_u 0.0 b_u 0.0 gamma_u 6000 H_u 5000 sig_tol 0.001 rho 1.1e-04
In the above, three materials are dened for subsequent use to set the constitutive properties
of nite elements. The rst two materials specify the umat routine with dierent numerical
values for the six (6) umat properties. The third material species the built-in cyclic material
model included in WARP3D.
umats may have up to fty (50) user-denable property values. They have names illustrated
above in the form um 1, um 2, . . . um 50. Properties are all stored as oat-point values, i.e.,
um 3 -4 is stored as -4.0. The physical ordering of property values in the input data lines is
immaterial since each value is prefaced by the name. WARP3D stores the property values in
sequential, ascending order and provides them on each call to the umat routine. WARP3D is
unaware of the number of property values needed by the umat or acceptable ranges of values.
The umat code is responsible for such verication.
3.11.1 Mass
WARP3D handles computation of the element mass matrix and thus requires the mass density
value (rho) as with the built-in material models.
The mass density is constant over the element with the value set in the material denition
as in the example above for inco718.
Chapter 3 (Updated: 7-26-2012) 3.11-1 Elements and Material Models
Users Guide - WARP3D Material: UMAT
3.11.2 Temperature Eects
Two options exist for umat developers: (1) the umat routine handles all processing of tem-
perature eects with the user specifying any required properties through um 1, um 2, . . . ; (2)
the user species thermal expansion coecients through the usual property values of other
(built-in) material models (alpha or alphax, alphay, alphaz, ... alphayz) and WARP3D handles
temperature eects outside the umat code.
Option (1) oers the umat developer an opportunity to make the temperature modeling
as complex as necessary, e.g., temperature dependent values of thermal expansion, values that
vary with time or spatial location of the material points, values read by the umat from a
separate data le, etc.
Option (2) oers simplicity for umat developers when the thermal expansion coecients
are invariant of temperature. The user assigns expansion coecients as part of the material
denition just include them before or after all the um .. values. WARP3D input translators
set all thermal expansion values to zero by default and stores those (zero) values unless the
user species non-zero values.
3.11.3 Model Output
During computations, the umat code may print information to the current output device. The
information, if any, printed during computations is determined by the umat developer. The
type and amount of such printed information may be controlled by a umat material property
as implemented by the developer.
WARP3D outputs the six (6) stress and strain values produced by the umat code. For the
geometrically nonlinear analysis, the strain values have the logarithmic denition; stress values
have the Cauchy denition.
The umat code computes and returns to WARP3D the updated work density, U
0
, at each
material point. This value is output by WARP3D with the label eng dens following the six
stress components. WARP3D also computes and outputs the mises equivalent stress value from
the stress components with the label mises

mises
=

2
2
q
(
11

22
)
2
+ (
11

33
)
2
+ (
22

33
)
2
+ 6(
2
12
+
2
13
+
2
23
) (3.11.1)
where this value is computed independent of the umat code.
In the strain output, WARP3D computes and outputs an e eps value dened by

eff
=

2
3
q
(
11

22
)
2
+ (
11

33
)
2
+ (
22

33
)
2
+ 1.5(
2
12
+
2
13
+
2
23
) (3.11.2)
The element stress output also contains three values for the umat material model state
variables or any other values the developer wishes to make available to the user. The output
labels are c1, c2 and c3.
Chapter 3 (Updated: 7-26-2012) 3.11-2 Elements and Material Models
Users Guide - WARP3D Material: UMAT
3.11.4 Element Blocking
As described in Section 2.6, elements are assigned to blocks to facilitate parallel processing.
For the computational material model umat, all elements in a block must refer to the same
material dened in an analysis model.
Consider an analysis model with 3 materials dened in the input named mat a, mat b and
mat c. Each of these materials species umat as the computational material model. Dierent
values for each of the umat properties (e.g., um 1, um 2, . . . ) may be dened in the materials
mat a, mat b and mat c. The blocking requirement described here requires that all elements
assigned to a block have the same associated material, either mat a, mat b or mat c.
3.11.5 References
[1] http://www.3ds.com/products/simulia/portfolio/abaqus/overview/
Chapter 3 (Updated: 7-26-2012) 3.11-3 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
3.12 Material Model Type: cp
Crystal plasticity (CP) models simulate micro-scale deformation of metal alloys. CP models
average the inherently discrete processes that drive metal plasticity (dislocation transport) into
a continuum theory of deformation, suitable for nite element simulations. The CP model best
represents deformation on the scale of several grains (polycrystal deformation), though it may
also realistically represent large single crystals.
Crystal plasticity models dier from typical continuum material models employed in nite
element analyses in that two distinct types of parameters dene the material properties. The
rst type includes the usual values for elastic constants, ow properties, thermal expansion
coecients, etc. The second type include a set of Euler angles and the initial orientation of
the atomic (crystal) lattice relative to some reference conguration. In most situations, a nite
element model will adopt one set of material parameters but many dierent crystal orientations.
In contrast for an alloy with multiple phases, materials may be dened with combinations of
multiple sets of crystal parameters and lattice orientations.
Depending on the intended length-scale of the nite element simulation, each element may
have: (1) a single crystal orientation and a single set of material properties or (2) many crystal
orientations (polycrystal homogenization). Both options are available in WARP3D. To facilitate
input, the CP material model separates the denitions of crystal (elastic and ow) properties,
orientations, possible combinations of crystal properties, orientations, and other miscellaneous
physical properties such as mass density and thermal expansion coecient.
Appendix K provides a more comprehensive description of the CP model formulation.
3.12.1 Formulation
Kinematic Assumptions
The CP model in WARP3D closely follows the formulation presented in [1]. Unfortunately, CP
models must distinguish elastic and plastic rotations, which makes them unsuitable for hypoe-
lastic formulations. We present the model as hyperelastic; WARP3D handles the additional
calculations and rotations required to bring the true Cauchy stresses the CP model calculates
into the hypoelastic unrotated frame (similar to how WARP3D handles hyperelastic UMATs,
see Section 3.11).
The CP model takes as input the deformation gradient F
n+1
and the temperature T
n+1
and
returns the updated Cauchy stress
n+1
while maintaining a set of internal history variables.
The stress update is based on the kinematic assumptions:
F = F
e
F
p
(3.12.1)
F
e
= (I + ) R
e
I (3.12.2)

L
p
=
n

i=1

(s)
_

b
(s)
n
(s)
_
(3.12.3)
Chapter 3 (Updated: 4-22-2013) 3.12-1 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
where

L
p
=

F
p
F
p1
,

b
(s)
is the slip direction vector of system s, n
(s)
is the slip plane normal
vector of system s and
(s)
is given by:

(s)
=

0

(s)

n1

(s)
(3.12.4)
with
(s)
the resolved shear on system s (
(s)
=
_
R
e
m
(s)
s
(R
e
)
T
_
: , with the Kirchho stress
and m
(s)
s
=
_

b
(s)
s
n
(s)
s
_
sym
),
0
some reference strain rate, taken to be
0
=
_
2
3
D : D, with D
the symmetric part of the spatial velocity gradient, and some slip system strength, dened in
the section on work-hardening below. Equation 3.12.1 is common to nearly all current theories
of plastic deformation. Plastic deformation of metals generally results in small elastic stretch
(but possibly large elastic rotation), which justies Eq. 3.12.2. The decomposition of polyslip
into a series of simple shear deformations justies Eq. 3.12.3. Equation 3.12.4 derives from
empirical observation of material response..
We assume R
e
(the elastic rotation): (1) varies slowly in time, (2) remains xed over a time
(load) step and (3) updates with an explicit integration. We integrate a stress-rate equation
implicitly to nd the Kirchho stress
n+1
. Following a lengthy derivation, the result becomes
a nonlinear system of equations to compute the updated stress at n + 1:

n+1
=
n
+ tC

n
_
D
n+1


D
p
n+1
+S

n+1

W
p
n+1


W
p
n+1
S

n+1
_
(3.12.5)

D
p
n+1
=
N

s=1

(s)
n+1
_
R
e
n
m
(s)
s
(R
e
n
)
T
_

W
p
n+1
=

R
e
n
(R
e
n
)
T
+
N

s=1

(s)
n+1
_
R
e
n
q
(s)
s
(R
e
n
)
T
_
with q
(s)
s
=
_

b
(s)
s
n
(s)
s
_
anti
. The Cauchy stress is then simply
n+1
=
n+1
/J
n+1
with J
n+1
=
det F
n+1
. The material model routines solve this equations with Newtons method. After a
successful stress update, the CP model updates the elastic rotation with the explicit, Euler
exponential integration:
R

n+1
= exp
__
W
n+1

s=1

(s)
n+1
_
R
e
n
q
(s)
s
(R
e
n
)
T
_
(3.12.6)
_

n+1

D
p
n+1


D
p
n+1

n+1
_

1
2
(
n+1

n+1

n+1

n+1
)
_
t
_
R
e
n
This description of the model here necessarily omits many details of the derivation (see
Appendix K for a more complete discussion).
In addition to updated stresses at n + 1, the material model routines must return the con-
sistent tangent modulus for use in the global Newton iterations (again, we omit the derivation).
Chapter 3 (Updated: 4-22-2013) 3.12-2 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
S
t
a
g
e

I
S
t
a
g
e

I
I
S
t
a
g
e

I
I
I
S
t
a
g
e

I
V
Figure 3.12.1: Stages of work hardening. Most metal alloys do not exhibit Stage I behavior.
The ow rule of Eq. 3.12.3 is non-associative which leads to a non-symmetric consistent tangent
matrix. WARP3D and its solvers currently process only symmetric systems of equations. The
CP model computes an approximate, symmetrized tangent. Since this is only an approximate
tangent, the global Newton iterations may not achieve true quadratic convergence. Users should
expect the potential of additional Newton iterations per load step, and generally must specify
smaller increments of load per step to achieve good convergence rates.
Work Hardening
We have not yet dened the slip system strength . This value represents both the initial
strength of the system from inherent obstacles to dislocation motion (the yield stress), and the
increase in strength due to forest dislocation hardening (work hardening). The total strength
is thus:
=
a
+
y
(T, )

0
+ (
p
, T, )

0
(3.12.7)
which explicitly separates temperature and rate invariant components of the yield stress (
a
)
from those dependent on temperature and rate (
y
). The work hardening component ( ) might
depend on both rate and temperature in addition to the amount of accumulated plastic strain.
The /
o
ratio accounts for temperature dependent elastic properties.
Work hardening behavior follows the stages illustrated in Fig. 3.12.1. The infrequent Stage
I behavior characteristic of Luders bands is not considered here with eorts focused on Stages
II, III, and IV. Stage II has a constant slope (d/d
p
), Stage IV has a small constant slope,
and Stage III transitions between the two. A linear Voce Law shown in Fig. 3.12.2 denes the
Stage III transition. For the moment, let the nal, Stage IV slope be zero. Then the Voce Law
becomes:
d
dt
=

0
_
1

v
(T, )
_


(s)

(3.12.8)
Chapter 3 (Updated: 4-22-2013) 3.12-3 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
S
t
a
g
e

I
I
S
t
a
g
e

I
I
I
S
t
a
g
e

I
V
Figure 3.12.2: Simplied Voce Law evolution of work-hardening slope. Here Stage II is the
instantaneous starting slope
0
and the nal Stage IV slope is 0.
where we replace d with d and d
p
with


(s)

dt. We can view


v
(T, ) as the saturation
strength of work hardening for a given temperature and rate. The parameter
0
determines the
initial Stage II hardening slope. Determining the slip system strength then reduces to choosing
functional forms for
y
(T, ) and
v
(T, ) and integrating the Voce Law.
The Mechanical Threshold Strength Kocks, Argon, and Ashby developed one theory for

y
(T, ) and
v
(T, ) called the Mechanical Threshold Stress (MTS, [2]). Simply put, the MTS
is the value
y
or
v
would have with no thermal or rate activation energy, that is (0, 0).
Dene this value to be (the MTS). Kocks, Argon, and Ashby proposed an Arrhenius-type
scaling law to bring this MTS to a given combination of rate and temperature:
=
_

_
1
_
kT
(T) b
3
g
(i)
0
ln

(i)
0

_
1
q
(i)
_

_
1
p
(i)
(3.12.9)
where k is the Boltzmann constant, T is absolute temperature, b is the magnitude of the
Burgers vector, g
(i)
0
is a normalized activation energy,
(i)
0
is a reference strain rate, and q
(i)
and p
(i)
are constants related to the shape of the activation energy barrier. Applying this
concept to the work hardening model (Eqs. 3.12.7 and 3.12.8) we have:

y
(T, ) =
y
_

_
1
_
kT
(T) b
3
g
0,y
ln

(i)
0,y

0
_
1
q
y
_

_
1
p
y
(3.12.10)
Chapter 3 (Updated: 4-22-2013) 3.12-4 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
S
t
a
g
e

I
I
S
t
a
g
e

I
I
I
S
t
a
g
e

I
V
Figure 3.12.3: Voce law modied for empirical Stage IV hardening.
f
and
t
are new parame-
ters.

v
(T, ) =
v
_

_
1
_
kT
(T) b
3
g
0,v
ln

(i)
0,v

0
_
1
q
v
_

_
1
p
v
(3.12.11)
In these equations the , g
0
,
0
, q, and p terms are parameters, b and k are physical constants,
and we adopt the form:
(T) =
0

D
0
exp (T
0
/T) 1
(3.12.12)
for the temperature-dependent shear modulus, where
0
, D
0
, and T
0
are all parameters. The
CP model in WARP3D implements this hardening formulation with an implicit integration of
Eq. 3.12.7. This introduces an additional equation into the local (material) nonlinear system of
Eq. 3.12.5, which in turn expands its linearization in Newtons method by one row and column.
Stage IV Hardening
The CP model provides two approaches to Stage IV hardening. The rst adopts a constant,
terminal Stage IV hardening slope, much like the model species the Stage II slope in Eq.
3.12.8. In addition, to avoid a sharp transition in slope between Stage III and Stage IV, we
smooth the transition with a cubic spline (see Fig. 3.12.3). This requires some modication to
Eq. 3.12.8 and introduces the parameters
f
(the terminal Stage IV slope) and
t
(the width
of the transition region). This simple model is integrated implicitly.
A second approach includes the eect of Geometrically Necessary Dislocations (GNDs).
GNDs are those (theoretically) necessary to maintain compatible deformation (for early work
Chapter 3 (Updated: 4-22-2013) 3.12-5 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
see [3]). Researchers argue these necessary dislocations are distinct from the statically stored
dislocations associated with forest hardening, and therefore contribute to a dierent hardening
mechanism. Acharya et al. associate these geometric dislocations with Stage IV hardening [4].
Omitting some derivation and theory (see references for details), the Nyes tensor of geometri-
cally necessary dislocations is:
= F
e1
The density of necessary dislocations along each slip system is:

(s)
=
_
_
n
(s)
s
_
:
_
n
(s)
s
_
Archarya et al. show a reasonable addition to the Voce law, accounting for GNDs is:
d
dt
=

0
_
1

v
+

(s)


(s)

(3.12.13)

(s)

=
k
0
k
1

(s)
(3.12.14)
In Eq. 3.12.14 k
1
= 2
0
/ ((T) b), = 1/3, and k
0
is a parameter (reasonable values are on
the order of 1). Calculating the curl of the elastic deformation through an implicit integration
is very dicult; consequently, we update the values of
(s)

explicitly. The remainder of the


hardening evolution remains implicit, as above.
Polycrystal Homogenization
Some computational models represent each grain in a polycrystal aggregate using multiple nite
elements. Such models enforce compatibility of deformation via shared nodal displacements and
displacement compatible element formulations. Stress equilibrium is enforced weakly through
the Galerkin weak form.
In other computational models, techniques are employed that group many crystals into a
single polycrystal often at an integration point in a nite element model. These are termed
polycrystal homogenization methods; they represent a natural approach to create reduced,
multi-scale models. With an appropriate homogenization technique, single nite elements on
the scale of centimeters can represent an aggregated microstructure of grains with a length-scale
on the order of microns.
The CP model in WARP3D provides Taylor-homogenized (constant-deformation/strain )
polycrystals, where each nite element represents multiple crystals. With the Taylor approx-
imation, the strain (rate of strain) in each grain remains xed at the global value, and the
resulting (not necessarily equilibrium) stresses are averaged.
Chapter 3 (Updated: 4-22-2013) 3.12-6 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
3.12.2 Crystal Denition
A crystal denes a set of elastic, ow, and hardening properties. Commonly, each phase in the
material will be a dierent crystal. Crystals are dened in the analysis input le and assigned a
number by the user. Crystal numbers must start at 1 and increase sequentially. The following
shows an example crystal denition:
crystal 1
properties slip_type fcc elastic_type isotropic,
e 78811.2 nu 0.33,
mu_0 29628.3 D_0 0.0 t_0 204.0 harden_n 20,
theta_0 180.0,
b 3.5E-7 boltz 1.3806E-20,
tau_a 0.0,
tau_hat_y 155.0 g_0_y 0.007808 q_y 2.0 p_y 0.5,
eps_dot_0_y 1.0E13,
tau_hat_v 25.0 g_0_v 0.00488 q_v 2.0 p_v 0.5,
eps_dot_0_v 1.0E7,
hardening geometric k_0 5.0
Tables 3.1, 3.2, 3.3, and 3.4 detail all parameters for crystal denitions. Note that elastic
properties of the material are temperature invariant at this time, while the plastic properties
vary with temperature. Since the shear modulus of the material is both a plastic material
property and an elastic property, it must be dened twice for cubic, elastic anisotropy.
The keywords mu_0, D_0, and t_0 set properties in Eq. 3.12.12 above to dene the temperature-
dependent shear modulus for the plastic hardening equations.
If the material is isotropically elastic, do not set a value for the shear modulus.
For cubic anisotropy, users must enter a second (constant) value for the shear modulus using
the keyword mu. This second value is only for the purpose of dening the constant elasticity
tensor.
If the shear modulus in the hardening equations and in the elasticity tensor both should be
constant, set mu_0 to the constant value and set D_0 = 0.
The denition of the remaining properties should be clear with reference to the noted
equations and the previous section on the model formulation. The model implementation is not
restricted to FCC, BCC, and HCP systems. Research users of WARP3D can add additional
slip system types by altering the source le mod crystals.f. Similarly, users could add additional
constant elasticity tensors by altering the same le.
3.12.3 Material Denition
A complete material denition to set properties of nite elements in WARP3D for the CP
model requires: (1) at least one crystal, (2) crystal orientation, and (3) some miscellaneous
properties. Users can provide crystals (see 3.12.2) and orientation Euler angles through two
mechanisms either directly in the denition of the material in the analysis input le or using
a separate (at) text le.
These parameters can be specied using combinations of both mechanisms as proves most
conventient: (1) direct specication of the crystal number, with a le for the angle specications,
Chapter 3 (Updated: 4-22-2013) 3.12-7 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
Property Keyword Options/type
Slip system type slip type fcc, bcc, hcp
Elastic type elastic type isotropic, cubic
Youngs modulus e real
Poissons ratio nu real
Shear modulus (elastic) mu real

0
(Eq. 3.12.12) mu 0 real
T
0
(Eq. 3.12.12) T 0 real
D
0
(Eq. 3.12.12) D 0 real
Boltzmann constant k real
Magnitude of Burgers vector b real
n (Eq. 3.12.4) harden n real

a
(Eq. 3.12.7) tau a real
Table 3.1: General crystal properties.
Property Keyword Options/type

y
tau hat y real
g
0,y
g 0 y real
q
y
q y real
p
y
p y real

0,y
eps dot 0 y real
Table 3.2: Properties related to
y
, refer to Eq. 3.12.10 above.
(2) vice versa, and (3) direct specication of both the crystal number and the Euler angles, or
(4) a separate le for both.
The main drawback to direct specication of one set of parameters in the material denition
is that only a single crystal or orientation can be entered using this option for both the crystal
number and orientation precludes the denition of a homogenized polycrystal. In addition, in a
model with many grains (regions of dierent orientations) assigning each grain its own material
model will quickly become cumbersome. Dening orientations (and/or crystal types) through
a separate le avoids both diculties and is the recommended approach.
The keyword crystal_input determines how the material species the crystal numbers. If
Property Keyword Options/type

v
tau hat v real
g
0,v
g 0 v real
q
v
q v real
p
v
p v real

0,v
eps dot 0 v real

0
theta 0 real
Table 3.3: Properties related to
v
, refer to Eq. 3.12.11 above.
Chapter 3 (Updated: 4-22-2013) 3.12-8 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
Property Keyword Options/type
Stage IV hardening type hardening empirical, geometric

f
(Fig. 3.12.3) theta f real

t
(Fig. 3.12.3) tau t real
k
0
(Eq. 3.12.14) k 0 real
Table 3.4: Properties related to Stage IV hardening.
crystal_input is set to single, then the command must be followed by crystal_type <int>,
where <int> is an integer corresponding to a valid crystal number.
If crystal_input is set to file, then the command must be followed by filename <string>
where <string> is the lename of a at ASCII le with format described in the next paragraph.
The keyword angle_input similarly denes how the orientation(s) for the material model
are input. If angle_input is followed by single then the command angles <float> <float>
<float> must subsequently appear in the material denition, where the three oats are the
Euler angles dening the materials crystallographic orientation. If angle_input is followed by
file then filename <string> must be a at le, with format dened below. Currently, Euler
angles must use the symmetric Kocks convention. The model uses this convention internally.
The le referenced by the filename command should be a (at) ASCII le with one or more
records for each nite element using the material, one record per line, with records generated
using the format:
< int > < int > < oat > < oat > < oat >
The rst integer is the nite element number. The second integer is the crystal number for this
element. This part of the record is present only if the crystal_input file specication was
used. The next three oating point numbers are the Euler angles for this element. This part of
the record is present only if the option angle_input file is used.
Each element can have more than one entry in which case the material model assumes
the element represents a Taylor-homogenized polycrystal. Conditions on the element entries:
(1) the number of entries per element must correspond to the parameter n_crystals (i.e. each
element number must appear n_crystals times) and (2) elements must appear in sequential,
numerical order (all crystals in the rst element using the material, then all crystals in the
second element, and so on in numerical order).
Table 3.5 describes the remaining material options. The tolerance parameter refers to
the local, material (Newton) iterations to compute the new converged stress state. The debug
option turns on a variety of print statements inside the CP computation routines.
3.12.4 Model Output
The model provides the usual stresses, strains, and energy densities for output. It currently
outputs a single material model state variable into mat val1, the Mises equivalent plastic strain,
from the integral:

p
=
_
_
2
3
D
p
: D
p
dt (3.12.15)
Chapter 3 (Updated: 4-22-2013) 3.12-9 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
Property Keyword Options/type
Euler angle convention angle convention kocks
Isotropic thermal expansion coecient alpha real
Mass density rho real
Local convergence tolerance tolerance real
Number of crystals per material point n crystals integer
Euler angle type angle type degrees, radians
Crystal input type crystal input single, le
Crystal number (if single input) crystal type integer
Euler angle input type orientation input single, le
Euler angles (if single input) angles real, real, real
Name of input le (if le input) lename string
Debug ag debug on, o
Table 3.5: Material model properties and options.
In addition to this material state variable, the CP model introduces an entirely new Patran
element result le (see Section 2.12 for an overview on Patran compatible result les). This
result le can be requested with the WARP3D output command:
output patran
_
binary
formatted
_
element states
The element state les have lenames we(b/f )m######where (b/f ) is b if binary les are
requested or f if formatted les are requested and ###### is the step number. The pa-
tran templates directory in the WARP3D distribution contains a le (warp elem mm10.res tmpl )
which has natural language descriptions of each column of output in the webm and wefm les.
The variables output are listed in Table 3.6.
The le contains one record for each nite element assigned a CP material. Computed
values are those averaged over all integration points of the element.
Quantity Description Number of columns
nslip Number of slip systems 1
tau bar Work hardening strength 1
tau v Saturation strength
v
1
slip Total accumulated slip on systems 1-24 24
Fe Components of F
e
9
curl-Fe Components of F
e1
9
e-stretch Components of (Voigt notation) 6
e-rot Components of R
e
9
euler Updated Euler angles, in Kocks convention 3
Table 3.6: Variables output in Patran style element state le.
Chapter 3 (Updated: 4-22-2013) 3.12-10 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
3.12.5 Examples
Crystal Denition Isotropic Elasticity and Empirical Stage IV Hardening
This crystal is isotropically elastic, with a constant value of for the hardening equations. This
example employs the empirical Stage IV hardening option.
Note that all values are dened on a single, logical line of input continued across multiple
physical lines with commas.
Physical units for all examples are MPa, mm, N, and mJ.
crystal 1
properties slip_type fcc elastic_type isotropic,
e 70000.0 nu 0.30,
mu_0 26923.1 D_0 0.0 T_0 204.0 harden_n 20,
theta_0 2000.0,
b 3.5E-7 boltz 1.3806E-20,
tau_a 5.0,
tau_hat_y 155.0 g_0_y 0.007808 q_y 2.0 p_y 0.5,
eps_dot_0_y 1.0E13,
tau_hat_v 25.0 g_0_v 0.00488 q_v 2.0 p_v 0.5,
eps_dot_0_v 1.0E7,
hardening empirical theta_f 200.0 tau_t 30.0
Crystal Denition Anisotropic Elasticity and Geometric Hardening
This crystal denition demonstrates the options for cubic elastic anisotropy, temperature de-
pendent shear modulus, and geometric hardening.
crystal 2
properties slip_type bcc elastic_type cubic,
e 70000.0 nu 0.30 mu 37000.0,
mu_0 37000.0 D_0 1000.0 T_0 204.0 harden_n 20,
theta_0 2000.0,
b 3.5E-7 boltz 1.3806E-20,
tau_a 5.0,
tau_hat_y 155.0 g_0_y 0.007808 q_y 2.0 p_y 0.5,
eps_dot_0_y 1.0E13,
tau_hat_v 25.0 g_0_v 0.00488 q_v 2.0 p_v 0.5,
eps_dot_0_v 1.0E7,
hardening geometric k_0 1.0
Single Crystal Material Properties in Material Denition
This example denes a simple, single crystal material with a single orientation. The material
is dened completely inside the WARP3D input le it does not refer to an external at le.
material simple_cp
properties cp alpha 1.08E-5 rho 0.0 angle_convention kocks,
n_crystals 1 angle_type degrees,
crystal_input single crystal_type 1,
orientation_input single angles -108.11 45.3 17.2,
debug off tolerance 1.0E-10
Chapter 3 (Updated: 4-22-2013) 3.12-11 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
Single Crystal Material Orientations in File
This material demonstrates the more common case simulation of a single phase material,
with each grain represented by many elements and many grains in the simulation model. A
separate data le provides the material orientation for each nite element.
material simple_cp
properties cp alpha 1.08E-5 rho 0.0 angle_convention kocks,
n_crystals 1 angle_type degrees,
crystal_input single crystal_type 1,
orientation_input file filename angle_input,
debug off tolerance 1.0E-10
Contes of the le angle_input:
1 -37.63606 47.07174 53.69239
2 -37.63606 47.07174 53.69239
3 -37.63606 47.07174 53.69239
4 -37.63606 47.07174 53.69239
5 -45.11568 19.94000 9.48913
6 -45.11568 19.94000 9.48913
7 -45.11568 19.94000 9.48913
8 -45.11568 19.94000 9.48913
9 51.94430 30.14746 82.73049
10 51.94430 30.14746 82.73049
11 51.94430 30.14746 82.73049
12 51.94430 30.14746 82.73049
.
.
.
Here each grain is discretized with only four elements.
Polycrystal Material
This example uses a at le to specify both the crystal number and the orientation for a six
crystal, Taylor homogenized polycrystal.
material simple_cp
properties cp alpha 1.08E-5 rho 0.0 angle_convention kocks,
n_crystals 6 angle_type degrees,
crystal_input file,
orientation_input file filename angle_input,
debug off tolerance 1.0E-10
And the at le:
1 1 -37.63606 47.07174 53.69239
1 2 -42.17084 18.08290 45.31991
1 1 137.61596 52.41387 45.10806
Chapter 3 (Updated: 4-22-2013) 3.12-12 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
x
z
y
l
Figure 3.12.4: Example problem test 74.
1 2 110.92660 31.62225 52.36629
1 1 -45.11568 19.94000 9.48913
1 2 -64.65921 36.80016 78.43154
2 1 143.02645 45.44031 55.51358
2 2 66.58257 15.24942 79.21969
2 1 51.94430 30.14746 82.73049
2 2 -57.14742 24.13026 28.04172
2 1 -65.42632 45.87315 54.27781
2 2 73.70291 44.81913 35.88700
.
.
.
Test Problem Included in Distribution
The example problem shown in Fig. 3.12.4 is included in the WARP3D verication directory in
the sub-directory test74. The simulation models a cube composed of 555 cubic grains, each
grain with its own orientation and discretized with 5 5 5 elements. The assembled elements
are loaded in uniaxial tension. All the grains have the same crystal denition and orientations
are read from the le angle input.
3.12.6 References
[1] S. Kok, A. J. Beaudoin, and D. A. Tortorelli. A polycrystal plasticity model based on the mechanical
threshold. International Journal of Plasticity, 18:715-741, 2002.
[2] U. F. Kocks, A. S. Argon, and M. F. Ashby. Thermodyanmics and kinetics of slip. In B. Chalmers,
J. W. Christian, and T. B. Massalki, editors, Progress in Materials Science, vol. 19. Pergamon Press,
1975.
Chapter 3 (Updated: 4-22-2013) 3.12-13 Elements and Material Models
Users Guide - WARP3D Material: crystal plasticity
[3] M. F. Ashby. The deformation of plastically non-homogeneous materials. Philosophical Magazine,
21:399-424, 1970.
[4] A. Acharya, J. L. Bassani, and A. Beaudoin. Geometrically necessary dislocations, hardening, and a
simple gradient theory of crystal plasticity. Scipta Materialia, 48:167-172, 2003.
Chapter 3 (Updated: 4-22-2013) 3.12-14 Elements and Material Models
4.1--1 !"#$%&' ( )*+#,- .-%&/'#01
Chapter 4
Domain IntegraIs
!"# $%&'()*+&,(%
!"#"$% %&%'%#$ '%$()*+ ,-% %+.%/",&&0 .)1%-23& 2)- /)'.3$"#4 &"#%,- ,#* #)#&"#%,- 2-,/5
$3-% '%/(,#"/+ .,-,'%$%-+6 !)- &"#%,- ,#,&0+%+7 $(% +$-%++5"#$%#+"$0 2,/$)-+7 !
8
7 ,-% -%,*"5
&0 *%$%-'"#%* 2-)' $(% %#%-40 -%&%,+%5-,$% "#$%-.-%$,$")# )2 $(% "5"#$%4-,& 9:"/% ;<=>7
?#)1&%+ ,#* @$%-#A%-4 ;B<>7 C3*",#+D0 ,#* :"/% ;EF>G6 !)- #)#&"#%,- ,#,&0+%+7 $(% "#$%#+"5
$0 )2 *%2)-',$")# ,&)#4 $(% /-,/D 2-)#$ "+ 4%#%-,&&0 /(,-,/$%-"H%* A0 $(% I-,/D J". K.%#"#4
L"+.&,/%'%#$ 9IJKLG ,#*)- , .)"#$1"+% M,&3% )2 $(% "5"#$%4-,&6 8# $1)5*"'%#+")#+7 $(%
"5"#$%4-,& +%$+ $(% ,'.&"$3*% )2 $(% +"#43&,- 2"%&* #%,- , +(,-. /-,/D $".7 ,+ 4"M%# A0 $(%
N:: +)&3$")#+ 9:"/% ,#* :)+%#4-%# ;<O>7 N3$/("#+)# ;P<>G7 3#*%- /%-$,"# &"'"$"#4 /)#*"5
$")#+ "#M)&M"#4 ',$%-",& /)#+$"$3$"M% A%(,M")- ,#* $(% %Q$%#$ )2 .&,+$"/ *%2)-',$")# -%&,5
$"M% $) $(% 3#/-,/D%* &"4,'%#$ +"H%6 8# $(-%%5*"'%#+")#+7 $(% +"$3,$")# "+ #)$ #%,-&0 +)
/&%,-R $(% #,$3-% )2 #%,-5$". 2"%&*+ "# =5L-%',"#+ , 2)/3+ )2 /3--%#$ -%+%,-/(6 :%')$% 2-)'
$-,/$")#2-%% +3-2,/%+7 $(% /-,/D2-)#$ 2"%&*+ ',0/&)+%&0-%+%'A&% $()+% )2 .&,#%5+$-,"#R #%,-
2-%% +3-2,/%+ $(% 2"%&*+ %Q("A"$ +$-)#4 =5L %22%/$+6 N)1%M%-7 .3-%&0 '%/(,#"/,& ,-43'%#$+
/)#/%-#"#4 $(% %#%-40 2&3Q +()1$(,$ $(% "5"#$%4-,& .-)M"*%+ , &)/,& %#%-40 -%&%,+% -,$% "#5
*%.%#*%#$ )2 $(% %Q,/$ +"#43&,- 2)-')2 $(% #%,- $".2"%&*+6 S#*%- $(%+% /)#*"$")#+7 "/(,-,/5
$%-"H%+ $(% #$%#& '$()(*+ ,-$#./
J("+ /(,.$%- *%+/-"A%+ $(% L)',"# 8#$%4-,& 9L8G /,.,A"&"$"%+ "'.&%'%#$%* "# TU:V=L
$) /)'.3$% "5"#$%4-,& M,&3%+ "# =5L9W)*% 8G 2)&&)1"#4 $(% +)&3$")# 2)- , &),* +$%. 9X"7 %$ ,&6
;YF>7 W)-,# ,#* @("( ;YB>;YY>7 @("(7 %$ ,&6 ;<Z>G6 8$ ,&+) *%+/-"A%+ 8#$%-,/$")# 8#$%4-,& 988G
/,.,A"&"$"%+ $) /)'.3$% '"Q%*5')*% +$-%++ "#$%#+"$0 2,/$)-+ ,#* 05+$-%++%+ 9[,3%$ ,&6 ;EF<>7
\,D,'3-, ,#* V,-D+ ;EEF>;EFZ>G6 C)$( $(% L8 ,#* 88 .-)/%*3-%+ ,-% ')-% 4%#%-,& ,#* +"'5
.&%- 2)- $(% ,#,&0+$ $) +.%/"20 $(,# $(% %,-&"%- ]"-$3,& I-,/D ^Q$%#+")# 9]I^G $%/(#"_3%
9V,-D+ ;<F>7 N%&%# ;=`>G6 J(% ,#,&0+$ *%2"#%+ #)*,& M,&3%+ )2 , 1.(+23 ,4*#3(-* 1("/( ',0
A% "#$%-.-%$%* ,+ $(% ')$")# )2 ',$%-",& #%,- $(% /-,/D 2-)#$ *3% $) , )($34%5 /-,/D %Q$%#5
+")#6 J(% #3'%-"/,& /)'.3$,$")#+ $(%#-%_3"-% %M,&3,$")#, M)&3'% "#$%4-,& )M%- %&%'%#$+
"# =5L1("/( "#/&3*%+ $(% %#%-40 *%#+"$07 $(% +$-%++ 2"%&*7 $(% *"+.&,/%'%#$7 M%&)/"$07 ,//%&5
%-,$")# 2"%&*+ ,#* $(% 1%"4($ 23#/$")#+6 T%"4($ 23#/$")#+ )M%- %&%'%#$+ ,-% /)#+$-3/$%*
2-)'$(% +.%/"2"%* #)*,& M,&3%+ 3+"#4 /)#M%#$")#,& "+).,-,'%$-"/ .-)/%*3-%+6 J("+ _3"/D&0
A%/)'%+ ,#)#%-)3+ $,+DR ()1%M%-7 /,.,A"&"$"%+ ,-% "#/&3*%*2)- ,3$)',$"/ 4%#%-,$")#)2 $(%
1%"4($ 23#/$")# M,&3%+ 1("/( 4-%,$&0 +"'.&"20 /)'.3$,$")#+ "# =5L /-,/D /)#2"43-,$")#+6
U# ).$")# 2)- $(% 3+%- $) +.%/"20 *"-%/$&0 $(% 1%"4($ 23#/$")#M,&3%+ )#, #)*%5A05#)*% A,+"+
-%',"#+ ,M,"&,A&%6
J(% "5"#$%4-,& .-)/%*3-%+ *%+/-"A%* "# $("+ /(,.$%- ',0 A% "#M)D%* 2)&&)1"#4 , &"#%,-
)- #)#&"#%,- +)&3$")# 2)- , &),* +$%. 9+$,$"/*0#,'"/G6 8#$%-,/$")# .-)/%*3-%+ 0"%&* M,&"*
+$-%++ "#$%#+"$0 2,/$)-+ ,#* 05+$-%++%+ )#&0 2)- &"#%,- ,#,&0+%+6 J(% 3+%- .-)M"*%+ "#.3$
/)'',#*+ $) *%2"#% , aa*)',"#b 2)- %M,&3,$")# )2 " )- 6 2)&&)1%* A0 , #-7843. '-7%(*
(*3.+$%5 /)'',#*7 )- , #-7843. (*3.$%#3(-* (*3.+$%5 /)'',#*6 J(% +.%/"2"/,$")# )2 , +"#4&%
aa,3$)',$"/b *)',"# A0 $(% 3+%- $0."/,&&0 /,3+%+ L8 ,#* 88 %M,&3,$")#+ )M%- ',#0 +%.,-,$%
*)',"#+ )2 "#/-%,+"#4 *"+$,#/% 2-)'$(% /-,/D2-)#$6 J(% /)'.3$%* "5M,&3% 2)- %,/(*)',"#
,#* $(% M,-",$")# )2 "5M,&3%+ A%$1%%# $(% *)',"#+ ,-% .-"#$%* 9'"#"'3' "9 ',Q"'3' "
!"#$%" &'()# * !"#$%&
'()**+ +,-./#$ 0 123-(4 54/#6$-7"
!"# !$%&!'% ! ()& !**%**+%", )( -!,. /"#%-%"#%"0%12 345678 !9*) ):,-:,* ,.%*% $!9:%*
()& ;; 0!90:9!,/)"* ()& %!0. 9)!#/"' +)#% <;= ;;= ;;;1 !"# ,.% ">*,&%**%* <0:&&%",9? "
@@
!"#
"
77
12 A.% ">*,&%** "
@7
B/99 C% /"09:#%# /" ! (:,:&% &%9%!*% )( 3456782
A.% 8; -&)0%#:&%* 0:&&%",9? /+-9%+%",%# .!$% ,.%*% (%!,:&%*9/+/,!,/)"*D
! ,.% +!,%&/!9 &%*-)"*% /* 0)"*/#%&%# ")"9/"%!& %9!*,/0 B.%" ,.% +!,%&/!9 +)#%9 %+-9)?* !"
/"0&%+%",!9 -9!*,/0/,? ,.%)&? <,./* /* ! $%&? 0)++)" !**:+-,/)" !"# !$)/#* :""%0%**!&?
0)+-9/0!,/)"* ,.!, !&/*% (&)+ ,.% %E-9/0/, -!&,/!9 #%&/$!,/$% )( ,.% *,&%** B)&F #%"*/,?1
! ,.% F/"%,/0 %"%&'? !"# !00%9%&!,/)"* )( 0&!0F &%'/)" +!,%&/!9 /" #?"!+/0 9)!#/"' !&% /">
09:#%# /" !
! C)#? ()&0%*= ),.%& ,.!" 0!:*%# !00%9%&!,/)"*= !&% /'")&%# #:&/"' ! 0)+-:,!,/)"*
! ,.% %((%0,* )( (/"/,% *,&!/"* !"# (/"/,% &),!,/)"* !, +!,%&/!9 -)/",* !&% /"09:#%# /" !
! ,.% %((%0,* )( #$%&' 0&!0F '&)B,. !&% "), /"09:#%# /" ! <GG*9)BH 0&!0F '&)B,. :"#%& #?"!+/0
9)!#/"' /* *:--)&,%#1
! ,.% %((%0,* )( :*%& *-%0/(/%# 9)!#* !--9/%# ,) ,.% 0&!0F (!0%* !&% /"09:#%# /" ! :*/"' !"
!--&)E/+!,% ,%0."/I:% <,.%*% ,%&+* +!/",!/"-!,./"#%-%"#%"0% ()& #)+!/"* &%+),% (&)+
,.% (&)",12 A.% ! -&)0%**)& 0!""), -&)-%&9? #/*,/"':/*. C%,B%%" */+:9,!"%):*9? !--9/%#
0&!0F (!0% 9)!#* !"# ,%+-%&!,:&% 9)!#* <()& 0&!0F (!0% %9%+%",*1
! /"/,/!9 *,&!/"* 0!:*%# C? /+-)*%# ,.%&+!9 9)!#/"' !&% /"09:#%# /" !J ,.% ,.%&+!9 %E-!"*/)"
0)%((/0/%",* +!? .!$% !"/*),&)-/0 $!9:%* <!>$!9:%* ()& ,.%&+!9 9)!#/"' "%'9%0, (/"/,% *,&!/"
%((%0,*1
! !>/",%'&!9 &):,/"%* !00):", ()& *+)),.= !&C/,&!&? *-!,/!9 $!&/!,/)"* /"K):"'L* +)#:9:* !"#
6)/**)"L* &!,/)
! ,.% +!,%&/!9 -&)-%&,/%* +!? C% ,%+-%&!,:&% #%-%"#%", <!* #%*0&/C%# /" M%0,/)" N2N271
! %9%+%",* !9)"' ,.% 0&!0F (&)", +!? C% O0)99!-*%#H <.%E%* #%'%"%&!,%# ,) B%#'%*12 A.% 0)9>
9!-*%#%9%+%", (!0% +!?.!$% :"/I:% ")#% ":+C%&* ,.!, !&% '%)+%,&/0!99?0)/"0/#%", <:*%#
()& ")"9/"%!& !"!9?*%* ,) !99)B C9:",/"'1 )& &%-%!,%# ")#% ":+C%&* <:*%# ()& 9/"%!& !"!9?>
*%*1
! /" !"!9?*%* %E%0:,%# :*/"' -!&!99%9 0)+-:,!,/)"* <*%% P.-2 Q1= 345678 -%&()&+* ,.% 8;
0)+-:,!,/)"* /"-!&!99%9 !* B%992 A.% %9%+%",* -&%*%", /"! #)+!/"()& !0)+-:,!,/)"* '%">
%&!99?&%*/#% )"+:9,/-9% -&)0%**)&*2 A./* %"!C9%* -!&!99%9 0)+-:,!,/)")( %9%+%", 0)",&/C:>
,/)"* ,) ,.% ! $!9:%2 ;" 9!&'% 7>8 +)#%9*= ,.% *-%%# :- !,,!/"%# B/,. -!&!99%9 )-%&!,/)" C%>
0)+%* */'"/(/0!",
A.% ;; -&)0%#:&%* 0:&&%",9? /+-9%+%",%# .!$% ,.%*% (%!,:&%*9/+/,!,/)"*D
! ,.% +!,%&/!9 &%*-)"*% /* 0)"*/#%&%# 9/"%!& %9!*,/0 !"# /*),&)-/0
! ,.% F/"%,/0 %"%&'? !"# !00%9%&!,/)"* )( 0&!0F &%'/)" +!,%&/!9 /" #?"!+/0 9)!#/"' !&% ()* /">
09:#%# /" +2 R)#? ()&0%* !&% !9*) /'")&%# #:&/"' + 0)+-:,!,/)"*
! (/"/,% *,&!/"* !"# (/"/,% &),!,/)"* $/)9!,% ,.% ,.%)&? C%./"# ,.% ;; +%,.)#
! ,.% %((%0,* )( #$%&'0&!0F'&)B,.!&% "), /"09:#%#/"+ <0&!0F'&)B,.:"#%& I:!*/>*,!,/0 9)!#>
/"' /* *:--)&,%#1
! ,.% %((%0,* )( :*%&>*-%0/(/%# 9)!#* !--9/%# ,) ,.% 0&!0F (!0%* !&% /"09:#%# /" + :*/"' ,.% *!+%
!--&)E/+!,% /",%'&!,/)" ,%0."/I:% :*%# ()& ! 0!90:9!,/)"*2 S)& 0)"*,!", 0&!0F>(!0% ,&!0>
,/)"*= :*%&* +!? /"$)F% !" !9,%&"!,/$%= %E!0, /",%'&!,/)" *0.%+%
! *,&!/"* 0!:*%# C? /+-)*%# ,.%&+!9 9)!#/"' !&% ()* 0:&&%",9? /"09:#%# /" +
! +>/",%'&!9 &):,/"%* !00):", ()& *+)),.= !&C/,&!&? *-!,/!9 $!&/!,/)"* /"K):"'L* +)#:9:* !"#
6)/**)"L* &!,/)= !"# -&)$/#% ,
;
= ,
;;
= ,
;;;
= "
@@
!"# "
77
$!9:%* ()& STU*
! %9%+%",* !9)"' ,.% 0&!0F (&)", +!? C% O0)99!-*%#H <.%E%* #%'%"%&!,%# ,) B%#'%*12 A.% 0)9>
9!-*%# %9%+%", (!0% +!? .!$% :"/I:% ")#% ":+C%&* ,.!, !&% '%)+%,&/0!99? 0)/"0/#%", )&
&%-%!,%# ")#% ":+C%&*2
! /" !"!9?*%* %E%0:,%# :*/"' -!&!99%9 0)+-:,!,/)"* <*%% P.-2 Q1= 345678 -%&()&+* ,.% ;;
0)+-:,!,/)"* /" -!&!99%9 !* B%992 A.% %9%+%",* -&%*%", /" ! #)+!/" ()& + 0)+-:,!,/)"* '%">
'()**% +,-./#$ 0 123-(4 54/#6$-7"
%&!99?&%*/#% )"+:9,/-9% -&)0%**)&*2 A./* %"!C9%* -!&!99%9 0)+-:,!,/)")( %9%+%", 0)",&/C:>
,/)"* ,) ,.% + $!9:%2 ;" 9!&'% 7>8 +)#%9*= ,.% *-%%# :- !,,!/"%# B/,. -!&!99%9 )-%&!,/)" C%>
0)+%* */'"/(/0!",2
! +>/",%'&!9 &):,/"%* 0)+-:,% ,.% ">*,&%** 0)+-)"%", "
@@
()& /">-9!"% +/E%#>+)#% <+)#% ;=
+)#% ;;1 9)!#/"'2 P)+-:,%# ">*,&%**%* "
@@
!"# "
77
!&% 0:&&%",9? $!9/# )"9? ()& '%"%&!9=
+)#%>; 9)!#/"'2
A.% "%E, *%0,/)")( ,./* 0.!-,%& -&)$/#%* ! *:++!&? )( ,.% ,.%)&%,/0!9 C!*/* ()& 8; +%,.)#*2
V,.%& *%0,/)"* #%*0&/C% ,.% ":+%&/0!9 !9')&/,.+* ,) %$!9:!,% ,.% $)9:+% /",%'&!9* !"# /">
-:, 0)++!"#*2 M!+-9% ):,-:, (&)+ ! 0)+-:,!,/)" /99:*,&!,%* ,.% $!&/):* /"()&+!,/)"
!$!/9!C9%2 4*%0,/)")",.% /",%&!0,/)"/",%'&!9 #/*0:**%* ,.%)&? C%./"# ,.% +%,.)#= !"# #%>
*0&/C%* ":+%&/0!9 -&)0%#:&%*= /"-:, 0)++!"#* !"# ):,-:, '%"%&!,%# C? 3456782
Users Guide WARP3D Background
4.2- 1 Chapter 4 Domain Integrals
4.2 Background
4.2.1 Local Energy Release Rates
A local value of the mechanical energy release rate, denoted J(s), at each point s on a planar,
nongrowing crack front under general dynamic loading is given by
J(s) +
lim
G 0

W)T

n
1
*P
ji
u
i
X
1
n
j
dG (4.1)
where W and T are the stresswork density and the kinetic energy density per unit volume
at t+0; G is a vanishingly small contour which lies in the principal normal plane at s, and
n is the unit vector normal to G(see Fig. 4.1). P
ji
denotes the nonsymmetric 1st PiolaKirch
hoff (1st PK) stress tensor which is work conjugate to the displacement gradient expressed
on the t+0 configuration, u
i
X
j
, i.e., the stresswork rate is simply P
ij
u
i
X
j
per unit
volume at t+0. All field quantities are expressed in the local orthogonal coordinate system,
X
1
*X
2
*X
3
, at location s on the crack front.
This important result was first derived by Eshelby [25] and independently by Cherepa
nov [14], and later by others considering only mechanical energy balance for a local transla
tion of the crack front in the X
1
direction (Mode I). Any form of loading (including crack face
tractions) and arbitrary material behavior is permitted when G 0. All proposed forms of
path independent integrals (contour, area, volume) for application in fracture mechanics
derive from Eq. (4.1) by specialization of the loading and material behavior (see for exam
ple, Amestoy et al. [1], Bakker [5], Carpenter et al. [13], de Lorenzi [21] and Kishimoto et
al. [55]).
Moran and Shih [65][66] have proven the local path independence of J on the actual
shape of G in the limit as G 0
)
. To have both path independence and a nonvanishing,
finite value, the integrand of Eq. (4.1) must have order 1r. The quantity J defined by Eq.
(4.1) has no direct relationship to the form of the neartip strainstress fields, except for very
limited circumstances. For planestress and planestrain conditions, with nonlinear elastic
material response and smallstrain theory, J of Eq. (4.1) simplifies to the wellknown Jin
tegral due to Rice [83] that exhibits global path independence. Under the additional limita
tion of smallscale yielding (SSY), J sets the amplitude of the HRR singular fields. The role
of J as a single parameter which characterizes the near tip strainstress fields for arbitrary
loading (static, thermal, dynamic) and 3D configurations is a topic of much current re
search.
The stresswork density (W) per unit initial volume at t+0 may be defined in terms of
the mechanical strains as
W+|F|
t
0
t :

d*d
th

dt (4.2)
where|F| denotes the determinant of the deformation gradient F+xX (such that
dV+|F|dV
0
), t denotes the unrotated Cauchy stress and d is the unrotated rate of de
formation tensor computed from the displacement gradients. d
th
denotes the contribution
arising from specified thermal strains. The kinetic energy density is given directly by
T +
1
2

u
i
t

2
(4.3)
Users Guide WARP3D Background
4.2- 2 Chapter 4 Domain Integrals
where r is the material mass density (sum on i) in the initial configuration at t+0.
The direct evaluation of Eq. (4.1) is cumbersome in a finite element model due to the
geometric difficulties encountered in defining a contour that passes through the integra
tion points. Such a contour is desired since the most accurate stress and strain quantities
are available at the integration points. Moreover, the limiting definition of the contour re
quires extensive mesh refinement near the crack tip to obtain meaningful numerical re
sults. The next section develops the Domain Integral equivalent of Eq. (4.1) which is natu
rally suited for finite element models.
G
n
A
X
1
X
2
X
3
FIG. 4.1Local Jintegral in 3D.
s
4.2.2 Domain Integral Formulation
By using a weight function, which may be interpreted as a virtual displacement field, the
contour integral of Eq. (4.1) is converted into an area integral for two dimensions and into
a volume integral for three dimensions (Li, et al. [60], Nikishkov and Atluri [77]). The re
sulting expressions are (see Fig. 4.2):
J
a*c
+
s
c
s
a
[J(s)q
t
(s)]ds + J
1
) J
2
) J
3
(4.4)
where each integral is defined by
J
1
+
V
0
P
ji
u
i
X
k
q
k
X
j
* W
q
k
X
k
dV
0
(4.5)
J
2
+ *
V
0

W
X
k
*P
ji

2
u
i
X
j
X
k
q
k
dV
0
(4.6)
J
3
+ *
V
0
T
q
k
X
k
*

2
u
i
t
2
u
i
X
k
q
k
)
u
i
t

2
u
i
tX
k
q
k
dV
0
(4.7)
Users Guide WARP3D Background
4.2- 3 Chapter 4 Domain Integrals
q
k
denotes a component of the vector weight function in the k coordinate direction, q
t
(s) rep
resents the resultant value of the weight function at point s on the crack front, V
0
repre
sents the volume of the domain surrounding the crack tip in the (undeformed) configuration
at t+0, and s denotes positions along the crack front segment.
The vector function q is directed parallel to the direction of crack extension. When all
field quantities of the finite element solution are transformed to the local crack front coordi
nate system at point s, and Mode I extension is considered, only the q
1
term of the weight
function is nonzero. In subsequent discussions, this transformation to the (local) crack
front coordinate system is assumed to hold; the k subscript on q terms is thus dropped with
q alone implying the q
1
term.
Body forces (other than inertial loading) are assumed to be zero for simplicity. The treat
ment of crack face tractions involves an additional integral discussed subsequently. J(s) is
the local energy release rate that corresponds to the perturbation at s, q
t
(s). Figure 4.2
shows a typical domain volume defined for an internal segment along a threedimensional
surface crack.
a
b
c
s
crack faces
A
1
V
A
2
A
3
FIG. 4.2Finite volume for use in Domain Integral formulation
A
3
, A
4
X
1
X
2
X
3
The qfunction must vanish on the surfaces A
1
, A
2
andA
3
in Fig. 4.2 for the develop
ment of Eqs. (4.5) through (4.7) from (4.4). This requirement makes area integrals (line in
tegrals in two dimensions) defined on these surfaces vanish. Fig. 4.3 shows the variation
in amplitude of a valid qfunction for the domain shown in Fig. 4.2. All material over which
the qfunction and its first derivative are nonzero must be included in the volume inte
grals. The value of q at each point in the volume, V
0
, is readily interpreted as the virtual
displacement of a material point due to the virtual extension of the crack front, q
t
(s).
An approximate value of J(s
b
) is obtained by applying the meanvalue theorem over the
interval s
a
ts ts
c
. The pointwise value of the Jintegral at s
b
is given by (see Fig. 4.3):
Users Guide WARP3D Background
4.2- 4 Chapter 4 Domain Integrals
a
b
s
q-function
q
t
c
FIG. 4.3Variation of weight function, q, over volume at crack front
X
1
X
2
X
3
J(s +b) [

s
c
s
a
J(s)q
t
(s)ds

s
c
s
a
q
t
(s)ds
+
J
A
q
(4.8)
where J is the energy released due to the cracktip perturbation, q
t
(s). The increase in
crackarea corresponding to this perturbation, A
q
, is simply the integral of q
t
(s) along the
crack front from s
a
to s
c
.
For common through crack test specimens, e.g. SE(B), C(T), the crack front is generally
straight or only slightly curved. For such crack geometries, the average J for the entire
crack front value is obtained by the application of a uniform q
t
(s) across the full crack front.
The above volume integrals are evaluated by Gauss quadrature. Derivatives of the q
function over each finite element in V are computed by standard isoparametric techniques
from specified values of q at element nodes. The higher order derivatives are computed by
either: 1) extrapolating Gauss point values to the element nodes and applying standard iso
parametric techniques or, 2) interpolating the Gauss point values to a lower order integra
tion within the element.
4.2.3 Domain Form of the JIntegral: Discussion
Thermal Loading
For infinitesimal strain theory, the J
2
integral vanishes for a homogeneous, elastic materi
al (linear or nonlinear) in the absence of thermal strains as shown in the following manner.
Begin by replacing the 1st PK stresses with the conventional (symmetric) stress tensor ap
plicable when strains and displacement gradients are small. Then
*P
ji

2
u
i
X
j
X
1
[ *s
ij

2
u
i
X
j
X
1
.
(4.9)
Users Guide WARP3D Background
4.2- 5 Chapter 4 Domain Integrals
After exchanging the order of differentiation, inserting the (symmetric) smallstrain tensor
and using symmetry of s
ij
, the second term in Eq. (4.6) is rewritten as:
*s
ij

2
u
i
X
j
X
1
+ *s
ij

X
1

u
i
X
j
+ *s
ij

ij
X
1
.
(4.10)
The chain rule is now invoked to expand the first term in Eq. (4.6), again assuming
smalldisplacement gradients. The derivative of strain energy density with respect to
strain is the stress tensor for elastic materials. The result is:
W
X
1
+
W

ij

ij
X
1
+ s
ij

ij
X
1
. (4.11)
The two terms defining the integrand of J
2
thus sum to zero for homogeneous elastic mate
rials in the absence of thermal strains.
Now consider the influence of initial strains caused imposed thermal loading, again us
ing small strain theory. Equation (4.10) remains unchanged; however, Eq. (4.11) must be
rewritten more explicitly as
W
X
1
+
W

e
ij

e
ij
X
1
+ s
ij

e
ij
X
1
+ s
ij

X
1

ij
*
th
ij

(4.12)
where the total strain is now given by elastic (including nonlinear) and thermal components
such that
ij
+
e
ij
)
th
ij
. Upon combining Eqs. (4.10) and (4.12), we have
J
2
+
V
0
s
ij

th
ij
X
1
qdV
0
. (4.13)
To simplify numerical implementation, rewrite the thermal strains as
th
ij
+a
ij
Q, where Q
denotes the temperature deviation from the specified reference temperature, i.e.,
Q+Q*Q
0
,. The above expression becomes
J
2
+
V
0
s
ij
a
ij
Q
X
1
)
a
ij
X
1
QqdV
0
.

(4.14)
which somewhat simplifies implementation in a finite element context since temperatures
are known at element nodes (the combined effect of specified nodal values and any constant
element temperatures). Computation of the Cartesian temperature derivative follows
standard finite element procedures. Derivatives of the thermal expansion coefficients with
respect to the crack direction ( X
1
) must be obtained and this does complicate the computa
tions. Also, the symmetric tensor of thermal expansion coefficients, a
ij
, requires trans
formation into crack front coordinates. For materials with constant thermal expansion co
efficients within the domain of integration ( V
0
), the above (kernel) expression simplifies
further to just q a s
ij
QX
1
.
Dynamic Effects
Dynamic loading effects appear in the J
3
term of the domain integral representation of the
Jintegral. The first term in J
3
provides the flux of the kinetic energy in the direction of the
crack propagation. The second and third terms arise from the explicit partial derivative,
([]X
1
) , of the kinetic energy density. The second term contains material accelerations
and the third term is identified with the spatial gradient of the velocities. The second term,
Users Guide WARP3D Background
4.2- 6 Chapter 4 Domain Integrals
containing the material accelerations, has been found to make significant contributions to
the total Jintegral for nonpropagating cracks. This term is similar in form to domain inte
grals that accommodate ordinary body forces.
Incremental Plasticity Effects
For a homogeneous, elastic structure under static loading (without any thermal strains),
J
2
and J
3
are identically zero. For incremental (load path dependent) plasticity, the devi
ation of J
2
from zero indicates the degree of nonproportional loading experienced over the
domain of integration.
For many practical cases, the loading produces nearly proportional material histories
within the domain of integration; in such cases the very small contribution of J
2
is ne
glected. Shih, Moran and Nakamura [89] neglected J
2
for Jintegral calculations. Vargas
and Dodds show that up to 15% of the Jintegral in a 2dimensional static case can be due
to J
2
for incremental plasticity models when the plastic strains and the elastic strains with
in the domain have similar magnitudes. For larger plastic strains, however, this difference
diminishes to less than 0.1%, which justifies the use of J
2
)J
3
as an approximation to Eq.
(4.4) for large amounts of plastic deformation. However, the contribution of J
2
in the pres
ence of thermal strain gradients within the integration domain can be essential to maintain
domain independence of computed Jvalues.
The derivation of Eqs. (4.4) through (4.7) is mathematically rigorous. Provided suffi
cient resolution of the cracktip stressstrain fields exists for accurate numerical integra
tion, the calculated Jintegral equals the weighted J(s), where J(s) is the contour definition
in the limit as the contour shrinks onto the crack tip. For a given q
t
(s), i.e., the crack front
variation of the weighting function, many combinations of domain volume and distribution
of the qfunction are possible. Thus, similar to path independence arguments for the con
tour Jintegral, domain independence arguments apply for the domain Jintegral. In prac
tice, several domains defined concentrically about the crack tip are evaluated to insure do
main independence of the computed Jintegral. In the general case of thermal loading and
inelastic material response all three components of the Jintegral are required for the cal
culated value to be domain independent.
Summary
Numerical evaluation of the J
1
integral requires only straightforward application of iso
parametric element techniques once the computed field quantities are transformed from
the global X*Y*Z coordinate system to the X
1
*X
2
*X
3
(local crack front) system at
point s on the front. In this simplified form, Eq. (4.5) becomes
J
1
+
V
0
P
ji
u
i
X
1
q
X
j
* W
q
X
1
dV
0
. (4.15)
J
2
makes a nonzero contribution in the WARP3D implementation only in the presence of
thermal strains (small strain formulation with a symmetric tensor of thermal expansion
coefficients)
J
2
+
V
0
s
ij
a
ij
Q
X
1
)
a
ij
X
1
QqdV
0
.

(4.16)
The kinetic energy and inertial loading terms from Eq. (4.7) become
J
3
+ *
V
0
T
q
X
1
*

2
u
i
t
2
u
i
X
1
q )
u
i
t

2
u
i
tX
1
qdV
0
(4.17)
Users Guide WARP3D Background
4.2- 7 Chapter 4 Domain Integrals
WARP3D domain integral processors evaluate only the first two terms of this integral. The
third term (velocity) is vanishing small unless high speed crack propagation takes place.
When crack face tractions are present, an additional contribution to the Jintegral is
computed using
J
4
+ *
A
3
)A
4
t
i
u
i
X
1
qdA
0
. (4.18)
where t
i
denotes the face traction expressed in the front system and A
3
)A
4
denotes the
upper and lower portion of the loaded faces (refer to Fig. 4.2).
Eqs. (4.15, 4.17 and 4.18) are implemented to support finitestrains and finiterotations
as indicated. The present formulation applies most realistically to models in which the dis
placement field leads to large (rigid) rotations on the domain but in which finite strains are
confined to the usual blunting zone ahead of the crack tip. An example is a pin loaded,
singleedge notch tension specimen, SE(T), containing a deep notch, i.e., aWu0.5. Under
increased loading, the specimen may undergo relatively large rotations as the line of action
of the axial load realigns with the center point of the remaining ligament. Finite strains
are confined to the near tip region. The present formulation includes the effects of such
large (rigid) rotations of the specimen on Jvalues (when thermal strains are absent).
Users Guide WARP3D Numerical Procedures
4.3- 1 Chapter 4 Domain Integrals
4.3 Numerical Procedures
This section describes the numerical procedures implemented to evaluate the Domain Inte
grals described previously. An understanding of these procedures is necessary for the cor
rect use of the commands described subsequently.
4.3.1 Definition of the qFunction
Consistent with the isoparametric formulation, the qfunction within an element has the
form
q(c, h, z) +

i+1
N
i
(c, h, z) q
i
(4.19)
where q
i
are the specified values of the qfunction at the element nodes. The user defines:
(1) a list of nodes along the crack front included in the computations to evaluate A
q
, (2) ele
ments over which integrations are to be performed, (3) q
i
at nodes over the volume, V, and
(4) orientation of the crack front coordinate axes at the point s under consideration.
When collapsed elements are defined along the crack front producing coincident nodes,
only one of the coincident nodes at each location is specified; the computational routines
locate the remaining coincident nodes and assign them the same value of q.
When the crack front has a small, initial radius, the user specifies a list of nodes at each
crack front position to be treated as tip nodes. The computational routines then assign all
listed nodes at each front position the same value of q. The specified lists of front nodes also
play a key role in the generation of automatic domains for initially blunt crack fronts.
To define the orientation of the crack front axes relative to the global axes, users specify
the components of a unit vector normal to the crack plane.
The specification of nodal qvalues becomes exceedingly tedious for 3D analyses. An
automatic" procedure is available as an option for generation of qvalues. This procedure
requires that the user specify: front nodes along the crack front, the number of domains re
quired for checking path independence and components of the unit vector normal to the
crack plane. The domain processors create domains of increasing distance from the crack
tip using the mesh topology.
4.3.2 Volume Integrals
The volume integrals are numerically evaluated using the same Gaussian quadrature pro
cedures adopted for element stiffness generation. The integral in Eq. (4.15) presents no dif
ficulties as both W and the stresses are available at the Gauss point locations and the q
function derivative is readily computed from specified nodal values and Eq. (4.19). Gauss
quadrature applied to Eq. (4.15) yields the expression for numerical computations as
J
1
+*

p
W
q
X
1
*P
ji
u
i
X
1
q
X
j

p
det
X
m
h
m

p
w
p
(4.20)
where the summation extends over all Gauss quadrature points (p) and w
p
denotes the
Gauss weight values. The 1st PK stresses are computed from the unrotated Cauchy
stresses using the two step transformation
s +R@ t @ R
T
(4.21)
Users Guide WARP3D Numerical Procedures
4.3- 2 Chapter 4 Domain Integrals
P +|F| s @ F
*T
(4.22)
Cartesian derivatives of q and the displacements are obtained in the usual manner using
the chain rule
q
X
1
+

n
I

3
m
N
I
h
m
h
m
X
1
q
I
(4.23)
and,
u
i
X
1
+

n
I

3
m
N
I
h
m
h
m
X
1
u
iI
(4.24)
where n denotes the number of element nodes. Similar procedures are followed for evalua
tion of the first two terms of Eq. (4.17); the third term in this equation is neglected.
To evaluate the J
2
integral, standard isoparametric procedures readily support com
putation of the first term which involves QX
1
, since temperatures are known at the
nodes of elements. The second term requires evaluation of spatial derivatives of the ther
mal expansion coefficients, a
ij
X
1
. Thermal expansion coefficients are specified for ma
terials and materials are associated with lists of finite elements in the WARP3D input. To
compute the required derivatives, nodal values for a
ij
are constructed by averaging values
from elements incident on the nodes. Only elements with nonzero expansion coefficients
are included in the averaging process. Standard isoparametric techniques then yield
a
ij
X
1
at Gauss integration points within elements. The a
ij
X
1
term maintains domain
independence of the Jvalues when the thermal expansion coefficient(s) are not constant
within the integration domain.
4.3.3 Crack Face Traction Integral
The crack face traction integral, Eq. (4.18), is evaluated using the equivalent nodal forces
applied to crack face nodes. These forces arise from userspecified element face pressures
and tractions. The code neglects forces applied directly to the model nodes in the evaluation
of this integral. The crack face integral is thus evaluated numerically using the expression

l
q
l

u
i
X
1

T
l

P
i

A
3
)A
4
t
i
u
i
X
1
qdA
0
8 (4.25)
where k is taken over elements with nonzero crack face tractions; l is taken over all element
nodes on the loaded face;

is the vector of equivalent nodal forces acting element node


l (forces derived only from applied face pressurestractions). Displacement derivatives at
the element nodes needed in Eq. (4.25) are obtained by extrapolating derivatives computed
at the 222 Gauss point locations. Lagrangian polynomials are again adopted for the
extrapolation. Not only is this technique more accurate than evaluating derivatives direct
ly at the element nodes, the difficulty in computing derivatives at nodes on the crack front
due to the singularity is avoided (extrapolated derivatives are not singular).
The computational routines that evaluate Eq. (4.25) determine which element faces are
loaded by examining the nodal forces for the complete element. They do not have access to
the original definition of applied face pressurestractionsonly the corresponding equiva
lent nodal forces. If an element force vector indicates that more than one face is loaded, the
lowest numbered element face is processed and a warning message is issued to the user.
If all nodes of an element have nonzero equivalent nodal forces, a body force load is as
sumed to exist and no domain integral contributions are computed.
Users Guide WARP3D Numerical Procedures
4.3- 3 Chapter 4 Domain Integrals
For user specified domains (not the automatic domains), the list of elements to process
must include all elements with crack face loading if any node on the face has a nonzero q
value. The automatic domain procedure performs this task.
The domain integral processors for crack face loadings correctly recognize and compute
domain terms for models with collapsed" crack front elements. This includes both cases
of (1) unique nodes on the collapsed faced generally used to allow blunting in nonlinear
analyses, and (2) repeated nodes on the collapsed face generally used in linear analyses.
4.3.4 Crack Front Nodes
Fronts Defined by Collapsed Elements
The use of degenerated bricktype elements leads to meshes with (1) multiple, coincident
nodes along the crack front, or (2) elements with repeated nodes to create the collapsed face.
Collapsed faces with multiple (unique) coincident nodes allows blunting in nonlinear anal
yses. Collapsed faces with repeated nodes do not allow such blunting and are generally used
in linear analyses. To simplify specification of the qfunction over the domain volume, the
qvalue for only one of the coincident nodes at such crack front positions is required. The
remaining coincident nodes at corresponding crack front positions are located and assigned
the same value for q. The procedure followed to locate coincident nodes is outlined below.
For each user specified node along the crack front, the numerical procedure constructs
coordinates for a cubical prism centered at the node, then locates all other nodes of the mod
el that lie within the prism. Such nodes are treated as coincident with the specified node
and are assigned the same qvalue. Dimensions for the cubical prism are defined as follows:
for 2 or more nodes specified along the crack front (3D models), the prism ex
tends"Rtol about the node, where R is the distance between the first two listed nodes
on the crack front.
The value 0.001 is currently specified for tol. While this value has proven adequate for
most crack front meshes, models with exceptionally large element lengths along the front
may require a smaller value for tol (at present this requires a change in the source code).
Fronts Defined With Initial Root Radius
For analyses that require a formulation including finitestrain effects, crack fronts are gen
erally modeled with a small, initial radius as illustrated in Fig. 4.4. For these models, the
automatic procedure described above to define a set of tip" nodes becomes inadequate. Us
ers are required to specify the appropriate list of tip" nodes at each front position, e.g., the
nodes indicated by open symbols in the figure. Each node is then assigned the same qvalue
by the computational routines.
Only the node actually on the symmetry plane (53 in the figure) is required unless the
automatic domain option is invoked. The list of userspecified tip nodes provides the seed"
to start the automatic procedure for domain generation, i.e., elements in the first domain
are those incident on the listed tip" nodes.
4.3.5 Computation of A
q
The area under the qfunction along the crack front, denoted A
q
, is required to normalize
J for arbitrary magnitudes of the specified qfunction in Eq. (4.8), see also Fig.4.3. Thus,
A
q
may be interpreted as area of crack extension represented by a virtual crack extension
q. The value of A
q
is defined by
A
q
+
s+c
s+a
q(s)ds (4.26)
Users Guide WARP3D Numerical Procedures
4.3- 4 Chapter 4 Domain Integrals
which is numerically evaluated using Gauss quadrature as
A
q
+

I
N
I
(s
p
)q
I

dX
2
1
)dX
2
2

p
w
p
(4.27)
where the functional form of q over the segment of crack front under consideration,
a vs vc, is specified by the user to vary in a piecewise linear, parabolic or cubic manner.
Lagrangian interpolating functions, N
I
(s), are used to construct the piecewise functions for
q along the crack front. The length of crack front over a vs vc is computed with the ex
pression
L +

dX
2
1
)dX
2
2

p
w
p
(4.28)
and is displayed for checking purposes.
4.3.6 Output From Computations
The printed output displayed during Domain Integral computations is organized in a
hierarchial manner at the load step for the user specified domains. By default, only the re
sults for each complete domain are printed; an option to print contributions for each ele
ment is available. The values printed for each domain (or element in a domain) are labeled
DM1 through DM6 and correspond to the terms in Eqs. (4.15) through (4.18) as follows
DM
1
+*
V
e(0)
W
q
X
1
dV
0
(4.29)
DM
2
+
V
e(0)
P
ji
u
i
X
1
q
X
j
dV
0
(4.30)
FIG. 4.4Typical blunttip model employed in finitestrain analyses
User - specified tip node
Initial Root Radius
Elements Added
To Make Ring 2
53
Users Guide WARP3D Numerical Procedures
4.3- 5 Chapter 4 Domain Integrals
DM
3
+*
V
e(0)
T
q
X
1
dV
0
(4.31)
DM
4
+
V
e(0)

2
u
i
t
2
u
i
X
1
qdV
0
(4.32)
DM
5
+ *
A
3
)A
4
t
i
u
i
X
1
qdA
0
(4.33)
DM
6
+
V
e(0)
s
ij
a
ij
Q
X
1
)
a
ij
X
1
QqdV
0
.

(4.34)
The sum of these integrals over all elements of the domain is displayed followed by A
q
, the
area under the qfunction along the crack front. The Jintegral value is printed as the sum
of the above integrals divided by A
q
. The units of J are FLL
2
. The average, maximum,
and minimum J values are summarized in tabular form. Separate sums are also printed
for static and dynamic contributions.
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--1 -2034#$ 5 +./0(1 ,14#6$07"
!"! #$%%&'() *$+ ,$%&-' .'/01+&2)
!"!"3 45/2-'0 $* 6+$70))
!"#$ %&$ '"'()*+* #,-.($%$* /,0 %&$ (+*% ,/ (,'1 *%$.* '..$'0+"2 +" %&$ #300$"% !"#$%&' ()*+
$,-!'#'.&* #,--'"14 56789: #,--'"1 .0,#$**,0* 0$'1 %&$ "$;% 1'%' (+"$< =&+* #'" >$
'""%&$%& #,--'"14 '",%&$0 !"#$%&' #,--'"1,0 '("#-).#,--'"1?'* @$(( '* '"3->$0
,/ ,%&$0 A'(+1 #,--'"1*B<
=&$ ("#-). #,--'"1 +"+%+'%$* %&$ +".3% *$C3$"#$ %, *.$#+/) +"/,0-'%+," '>,3% ' 1,D
-'+" /,0 #,-.3%'%+," ,/ %&$ /++"%$20'(< E,((,@+"2 *.$#+/+#'%+," ,/ ' A'(+1 1,-'+"4 %&$ +".3%
#,--'"1 !"#$%&' ("#-). ).&'01-, +"A,F$* %&$ 1,-'+" +"%$20'( .0,#$**,0* %, .$0/,0-/D+"D
%$20'( #,-.3%'%+,"* 3*+"2 '"'()*+* 0$*3(%* /,0 %&$ -,*% 0$#$"% ?#300$"%B (,'1 *%$.'"'()G$1<
56789: .$0/,0-* +"%$0'#%+," +"%$20'( #'(#3('%+,"* @+%& %&$ +".3% #,--'"1 !"#$%&' ).+
&'1-!&)". ).&'01-,< H,%& /D+"%$20'( '"1 +"%$0'#%+," +"%$20'( #,-.3%'%+,"* /,((,@ /0,- %&$
#,--'"1 !"#$%&' ("#-). ).&'1-!&)". ).&'01-,*4 ,0 !"#$%&' ).&'1-!&)". ("#-). ).&'01-,*<
I,--'"1* 1$*#0+>$1 +" %&+* *$#%+," %, #,"*%03#% 1,-'+"* '..() %, #,-.3%'%+,"* ,/ >,%& /
'"1 2D+"%$20'(*< =&$ $;'-.($* &$0$ 0$/$0 ,"() %, /D#,--'"1*< J$#%+," K<L 1$*#0+>$* '11+D
%+,"'( /$'%30$* /,0 2D$A'(3'%+,"<
=, $A'(3'%$ /4 2 ,A$0 1+//$0$"% 1,-'+"* 3*+"2 0$*3(%* /,0 %&$ #300$"% (,'1 *%$.4 *+-.()
0$.$'% %&$ ("#-). <<< !"#$%&' ("#-). ).&'01-, *$C3$"#$ '* ,/%$" '* 1$*+0$1< 56789:
*%,0$* ,"() %&$ 1$/+"+%+," ,/ %&$ -,*% 0$#$"%() 1$/+"$1 1,-'+"< 5&$" /4 2 '0$ $A'(3'%$1 3*D
+"2 %&$ *'-$ 1,-'+" 1$/+"+%+,"* '% -'") (,'1 *%$.*4 %&$ 3).$%& 41"# 4),' #,--'"1 .0,A$*
#,"A$"+$"% %, $(+-+"'%$ 0$.$%+%+,"< =&$ ("#-). 1$/+"+%+,"* '"1 !"#$%&' ("#-). ).&'01-,
#,--'"1* '0$ 1$/+"$1 +" ' *$.'0'%$ +".3% /+($ '"1 *+-.() 0$/$0$"#$1 @+%& %&$ 3).$%& 41"#
4),' /$'%30$ ,/ 56789:<
6% #,-.($%+," ,/ 1,-'+" +"%$20'( #,-.3%'%+,"*4 ,%&$0 #,--'"1* -') >$ 2+A$" %, #,-D
.3%$ 1+*.('#$-$"%* /,0 '11+%+,"'( *%$.*4 0$C3$*% ,%&$0 ,3%.3%4 '(%$0 *,(3%+," .'0'-$%$0*4
$%#<
!"!"8 .'95/ :++$+ #$++07/-$'
=&$ .0,#$**,0 ,/ 1,-'+" +"%$20'( #,--'"1* 0$#,A$0* $'*+() /0,--,*% *)"%'; $00,0*< M$*D
*'2$* +"1+#'%+"2 %&$ $00,0 '0$ 1+*.(')$1 '"1 ' "$@+".3% (+"$ 0$'1N *+-.() 0$D$"%$0 %&$ #,0D
0$#%$1 /,0- ,/ %&$ #,--'"1< =&$ "$@ +"/,0-'%+," ,A$0@0+%$* .0$A+,3* A'(3$*<
=&$ +".3% .0,#$**,0 .$0/,0-* +--$1+'%$ #&$#F* /,0 ,>A+,3* $00,0* +"%&$ *.$#+/+$11'%'<
M,0$ $;%$"*+A$ #,"*+*%$"#) #&$#F+"2 ,/ %&$ 1,-'+" 1$/+"+%+," ,##30* 130+"2 %&$ '#%3'( "3D
-$0+#'( #,-.3%'%+,"*<
!"!"; #$%9$'0'/) $* & ,$%&-' ,0*-'-/-$'
O'#& 1,-'+" /,0 /4 2 #,-.3%'%+," #,"*+*%* ,/ %&$ /,((,@+"2 +"/,0-'%+,"P
Q< =&$ '(.&'"3-$0+# "'-$ ?+1B ,/ %&$ 1,-'+" '* *.$#+/+$1 +" ' ("#-). #,--'"1<
R< I,-.,"$"%* ,/ ' 3"+% A$#%,0 ",0-'( %, %&$ #0'#F .('"$<
9< !.%+,"'( DD #,-.,"$"%* ,/ '3"+% %'"2$"% A$#%,0%, %&$ #0'#F/0,"% '% %&$ ",1$@&$0$ %&$/DD+"D
%$20'( A'(3$ +* >$+"2 #,-.3%$1<
K< 6 *)--$%0) /('24 +/ '..(+#'>($< /4 2DA'(3$* '0$ %&$" 1,3>($1 .0+,0 %, .0+"%+"2<
S< 6 (+*% ,/ ",1$* 1$/+"+"2 ' .,0%+," ,/ %&$ #0'#F /0,"% 3"1$0 #,"*+1$0'%+,"< T,%$ %&'% '(( $($D
-$"%* '(,"2 %&$ #0'#F /0,"% -3*% >$ ,/ %&$ *'-$ %).$P ,5()*"$4 65()*"$4 <<<
L< 6DA'(3$* '% ",1$* '(,"2 %&$ .,0%+," ,/ %&$ #0'#F /0,"% 3"1$0 #,"*+1$0'%+," '"1 ,A$0 %&$ 1$D
*+0$1 A,(3-$ ,/ 1,-'+" +"%$20'%+,"< =@, -$%&,1* %, *.$#+/) ",1'( A'(3$* ,/ 6 '0$ 'A'+('>($P
3*$0D1$/+"$1 '"1 '3%,-'%+#<
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--2 -2034#$ 5 +./0(1 ,14#6$07"
'< U*$0 1$/+"$1V3*$0* *.$#+/) '#%3'( ",1'( A'(3$* /,0 6 '"1 %&$ (+*% ,/ $($-$"%* ,A$0
@&+#& %&$ 1,-'+" +"%$20'%+," +* 1$*+0$1< 6 *+"2($ A'(3$ +* .0+"%$1 /,0 / '"1 2<
>< 63%,-'%+#V3*$0* *.$#+/) %&$ "3->$0 ,/ #,"#$"%0+# 1).0* ,/ $($-$"%* $"#(,*+"2 %&$
%+. ,A$0 @&+#& /4 2 '0$ $A'(3'%$1 '% %&$ #0'#F /0,"% .,*+%+,"< =&$ 6DA'(3$* '"1 (+*%*
,/ $($-$"%*'0$2$"$0'%$1'3%,-'%+#'(()>)56789:1,-'+".0,#$**,0*< /4 2DA'(3$*
'0$ .0+"%$1 /,0 $'#& 1).0 ,/ $($-$"%* 0$C3$*%$1<
W< 80+"%+"2 ,.%+,"*< H) 1$/'3(% %&$ %,%'( 78
)
A'(3$* '0$ .0+"%$1 /,0 %&$ 1,-'+" ?$'#& 0+"2 +/
'3%,-'%+#BN +"1+A+13'( $($-$"% #,"%0+>3%+,"* '0$ ",% .0+"%$1< U*$0* -') 0$C3$*% .0+"%+"2
,/ +"1+A+13'( $($-$"% A'(3$* '* @$((<
X< !01$0 ,/ Y'3** C3'10'%30$ /,0 $($-$"% A,(3-$ +"%$20'(*< =&$ 1$/'3(% +"%$20'%+," ,01$0 +*
%&'% 3*$1 /,0 $($-$"% *%+//"$** #,-.3%'%+,"< 6 ,"$D.,+"% 03($ +* '" ,.%+,"'( ,01$0<
Z< I0'#F /'#$ (,'1+"2* ,.%+,"< H) 1$/'3(%4 #,"%0+>3%+,"* %, /4 2 /0,-$($-$"%* @+%& 1$%$#%'>($
#0'#F/'#$ (,'1+"2'0$+"#(31$1< 6",.%+,"+*'A'+('>($ %,"$2($#% #0'#F/'#$ (,'1+"2#,"%0+>3D
%+,"*< =&+* ,.%+," +* "$$1$1 /,0 #0'#F 20,@%& '"'()*$* +" @&+#& %&$ #0'#F #(,*+"2 /,0#$* '0$
*(,@() 0$(';$1 %, G$0, >$&+"1 %&$ $;%$"1+"2 /0,"%< =&$*$ /,0#$* '0$ +"%$0.0$%$1 >) %&$ 1,D
-'+" .0,#$**,0* '* $C3+A'($"% (,'1* /,0 #0'#F /'#$ (,'1+"2<
Q[< :$>32 ,3%.3% ,.%+,"*< =@, ($A$(* ,/ 1$>322+"2 +"/,0-'%+," -') >$ 0$C3$*%$1<
QQ< \$0+/+#'%+," ,/ 1,-'+" +".3%< 6 ]]13-.^ ,.%+," .0+"%* %&$ 1$/+"+%+," ,/ 1,-'+" .'0'-$%$0*
/0,- +"%$0"'( *%,0'2$<
!"!"! .'-/-&/-'1 & ,$%&-' ,0*-'-/-$'
=&$ #,--'"1 %, +"+%+'%$ ' "$@ 1,-'+" &'* %&$ /,0-
domain < name: label >
@&$0$ %&$ 1,-'+" "'-$ '..$'0* '* ' 1$*#0+.%,0 +" .0+"%$1 ,3%.3%<
!"!"< #+&7= 62&'0 4+-0'/&/-$'
=&$ ,0+$"%'%+," ,/ %&$ (,#'( #0'#F /0,"% *)*%$-4 9
Q
+9
R
+9
9
4 *&,@" +" E+2< K<9 -3*% >$ *.$#+D
/+$1< =&$ 3*$0 1$/+"$* #,-.,"$"%* ,/ ' 3"+% A$#%,0 ",0-'( %, %&$ #0'#F.('"$ ?9
Q
+9
9
B '(+2"$1
+" %&$ .,*+%+A$ 1+0$#%+," ,/ 9
R
< 56789:%&$" 1$%$0-+"$* %&$ 1+0$#%+," ,/ 9
9
?%&$ #0'#F/0,"%
%'"2$"% A$#%,0B 3*+"2 %&$ (+*% ,/ #0'#F /0,"% ",1$*4 @&$0$ %&$ .,*+%+A$ 1+0$#%+," ,/ 9
9
+* +"
%&$ 1+0$#%+," /0,- %&$ /+0*% ",1$ %, %&$ *$#,"1 ",1$ +" %&$ (+*%< J$$ "$;% *$#%+," '>,3% *+%3D
'%+,"* @&$0$ 56789: #'"",% #,-.3%$ %&$ %'"2$"% A$#%,0< =&$ 1+0$#%+," 9
Q
+* /,3"1 /0,-
%&$ #0,** .0,13#% 9
R
!9
9
<
=&$ #,--'"1 %, 1$/+"$ #0'#F .('"$ ",0-'(* &'* %&$ /,0-
normal (plane) < direction cosine: number >
nx
ny
nz
@&$0$ .:; /,0 $;'-.($4 1$/+"$* %&$ .0,_$#%+," ,/ %&$ #0'#F .('"$ ?3"+%B ",0-'( ,"%, %&$ 2(,>D
'( 9 ';+*< `/ %&$ 2(,>'( < ';+* +* ",0-'( %, %&$ #0'#F .('"$4 /,0 $;'-.($4 3*$ %&$ #,--'"1
!"#$%& '&%!( !) *+,
=&$ 1+0$#%+," #,*+"$* .0,A+1$1 +" %&$ #,--'"1 -3*% 1$/+"$ ' A$#%,0 ,/ 3"+% ($"2%&
? .:
R
".=
R
".>
R
#QB<
5&$"%&$ /4 2DA'(3$* '0$ "$2'%+A$ >3% &'A$ %&$ #,00$#% '>*,(3%$ A'(3$4 0$A$0*$ %&$ *$"*$
,/ %&$ #0'#F .('"$ ",0-'( A$#%,0<
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--3 -2034#$ 5 +./0(1 ,14#6$07"
=&+* #,->+"$1 .0,#$130$ +" @&+#& %&$ 3*$0 *.$#+/+$* %&$ 9
R
1+0$#%+," '"1 %&$ 1,-'+"
.0,#$**,0* 3*$ %&$ /0,"% ",1$ (+*% %, #,-.3%$ 1+0$#%+,"* /,0 9
Q
+9
9
"'%30'(() /+%* %&$ .,+"%D
@+*$ #,-.3%'%+," ,/ /4 2 '(,"2 ' #30A$1#0'#F /0,"%< J+-+('0()4 ' %&+#F"$**D'A$0'2$ /4 2DA'(D
3$ /,0 ' *(+2&%() #30A$1 ,0 *%0'+2&% #0'#F /0,"% +" ' %&0,32& #0'#F #,"/+230'%+," +* $'*+() ,>D
%'+"$1 @+%& %&$ '3%,-'%+# -$%&,1 ,/ 6 *.$#+/+#'%+,"< T,%$4 &,@$A$04 %&'% %&$ 9
9
1+0$#%+,"
/,0 %&$ 1,-'+" +* 1$/+"$1 >) %&$ /+0*% %@, ",1$* 2+A$" +" %&$ /0,"% ",1$ (+*%<
!"!"> #+&7= ?+$'/ @&'10'/ A07/$+ B49/-$'&2C
56789:3*$* #,,01+"'%$* ,/ %&$ .0,A+1$1 (+*% ,/ #0'#F /0,"% ",1$* %, #,-.3%$ ' 3"+% A$#%,0
%&'% (+$* %'"2$"% %, %&$ #0'#F /0,"% +" %&$ ?9
9
1+0$#%+," '% %&$ ",1$ @&$0$ %&$ /DD+"%$20'(
A'(3$ +* #,-.3%$1 >) %&$ 1,-'+" '..0,'#&< I,"*+1$0 E+2< K<S '"1 %&$ #,-.3%'%+," ,/ / '%
",1$ QK< =&$ .0,A+1$1 (+*% ,/ #0'#F /0,"% ",1$* +* Q[4 QK4 QX +" %&+* ,01$0 @&+#& 1$/+"$* %&$
.,*+%+A$ *$"*$ ,/ 9
9
< =&$ 6DDA'(3$ /3"#%+," %).$ +* *.$#+/+$1 '* a>^ ?*$$ *3>*$C3$"% *$#%+,"B<
=&$ $($-$"%* '(,"2 %&$ /0,"% +" %&+* $;'-.($ '0$ %).$ (91+*,. &'A+"2 (+"$'0 2$,-$%0) '"1
1+*.('#$-$"% +"%$0.,('%+,"< 56789:#,-.3%$* %@, %'"2$"% A$#%,0* '% ",1$ QKP /0,-",1$*
Q[4 QK '"1 QK4 QX< =&$ 'A$0'2$ ,/ %&$*$ %@, %'"2$"%* +* %'F$" %, 1$/+"$ %&$ 3"+% %'"2$"% /,0
/ #,-.3%'%+,"* '% ",1$ QK< E,0 C3'10'%+# #0'#F /0,"% $($-$"%*4 %&$ %@, %'"2$"%* '% ",1$
QK '0$ #,-.3%$1 3*+"2 *$.'0'%$ C3'10'%+# +"%$0.,('%+," ,/ %&$ #0'#F /0,"% *&'.$ ,A$0 %&$
%@, '1_'#$"% $($-$"%*< =&$ 'A$0'2$ %'"2$"% +* %&$" '2'+" /,0-$1<
=&+* .0,#$** @,0F* A$0) @$(( /,0 a+"%$0+,0^ ",1$* '(,"2 %&$ #0'#F /0,"%< 6% %&$ a$;%$0"'(^
/0,"% ",1$*4 ,"() ,"$ %'"2$"% #'" >$ #,-.3%$1< `/ %&$ #0'#F /0,"% *&'.$ 1$/+"$1 >) %&$ $($D
-$"%* '"1 ",1$* '1$C3'%$() 0$.0$*$"%* %&$ '#%3'( ?2$"$0'(() *-,,%&B *&'.$4 %&$ *+"2($
?#,-.3%$1B %'"2$"% A$#%,0 +* *'%+*/'#%,0) '"1 ", /30%&$0 3*$0 +".3% +* "$$1$1< =&+* *+%3D
'%+," ,##30* @&$" ' *-,,%&() #30A$1 #0'#F /0,"% +* -,1$($1 @+%& C3'10'%+# $($-$"%* &'AD
+"2-+1D*+1$ ",1$* (,#'%$1,"%&$ #30A$1/0,"% ?",% ' a#&,01'(^ '..0,;+-'%+,"B< `"#,"*%0'*%4
#,"*+1$0 E+2< K<9 '2'+"< J3..,*$ ",1$ Q[ +* '" a$;%$0"'(^ ",1$ ," %&$ /0,"% '* *&,@"< =&$
#,00$#% %'"2$"% +* *&,@" +" %&$ /+230$< b,@$A$04 %&$ #,-.3%$1 %'"2$"% '% ",1$ Q[ ?>'*$1
," ",1$* Q[ '"1 QKB (+$* '(,"2 ' *%0'+2&% (+"$ /0,- ",1$ Q[ %, QK '"1 +* ",% #,00$#% ?+"%0,D
13#$* ' F+"F@+%&%&$ #,00$#% %'"2$"% '* *&,@B< `/ 3*$14 %&$ +"#,00$#% %'"2$"% ($'1* %, /+A'(D
3$* %&'% A'0)/,0 $'#&1,-'+"1$/+"$1'% ",1$ Q[< =&$ 3*$0 *&,3(1.0,A+1$ %&$ #,00$#% %'"2$%
'% ",1$ Q[ /,0 %&+* #'*$<
=&$ 3*$0 -') ,A$00+1$ %&$ #,-.3%$1 %'"2$"% @+%& ' 0$.('#$-$"% %'"2$"% A$#%,0< =&$
#,--'"1 +*
tangent (vector) < direction cosine: number >
tx
ty
tz
@&$0$ &:; /,0 $;'-.($4 1$/+"$* %&$ .0,_$#%+," ,/ %&$ %'"2$"% A$#%,0 ,"%, %&$ 2(,>'( 9 ';+*<
=&$ 1+0$#%+," #,*+"$* .0,A+1$1 +" %&$ #,--'"1 -3*% 1$/+"$ ' A$#%,0 ,/ 3"+% ($"2%&
? &:
R
"&=
R
"&>
R
#QB<
!"!"D EF%%0/+-7 49/-$'
=&$ *=##'&1)! ,.%+," +* .0,A+1$1 '* ' #,"A$"+$"#$ *+"#$ -'") /+"+%$ $($-$"% -,1$(* '0$
1$/+"$1 /,0 *)--$%0+# 2$,-$%0+$*4 (,'1+"2 '"1 #,"*%0'+"%*< 5&$" %&+* F$)@,01 +* *.$#+/+$14
'(( /4 2DA'(3$* '0$ 1,3>($ .0+,0 %, .0+"%+"2< 6" ,3%.3% -$**'2$ *+2"'(* @&$" /4 2DA'(3$* '0$
1,3>($1 '* @$((<
=&$ #,--'"1 %, 0$C3$*% 1,3>(+"2 ,/ /4 2DA'(3$* /,0 *)--$%0) &'* %&$ /,0-
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--4 -2034#$ 5 +./0(1 ,14#6$07"
symmetric
!"!"G #+&7= ?+$'/ H$(0)
!"#$%& '()*$(+ ,- .#//01&(+ 2/(3($%&
=&$ #,--'"1 %, 1$/+"$ ",1$* ," %&$ #0'#F /0,"% /,0 %&$ 1,-'+" &'* %&$ /,0-
front (nodes)
l3disop
q3disop
< integerlist > (verify) tolerance ($) < real >
@&$0$ %&$ ,01$0+"2 ,/ /0,"% ",1$* +" %&$ (+*% -3*% /,((,@+"#0$'*+"2 9
9
< =&$ %).$ ,/ $($-$"%*
'(,"2 %&$ #0'#F/0,"% ?,5()*"$,0 65()*"$B -3*% >$ *.$#+/+$1%, *3..,0% $00,0 #&$#F+"2< 5&$"
65()*"$ $($-$"%* '0$ 3*$1 '(,"2 %&$ #0'#F /0,"%4 %&$ "3->$0 ,/ /0,"% ",1$* (+*%$1 -3*% '(D
@')* >$ '" ,11 "3->$0 ?94 S4 W4 <<<B<
5&$" %&$ #0'#F /0,"% +* -,1$($1 @+%& #,(('.*$1 $($-$"%*4 %@, #'*$* '0+*$P ?QB %&$0$ '0$
-3(%+.($ #,+"#+1$"% ",1$* '% (,#'%+,"* '(,"2 %&$ /0,"% ?3*$1 /,0 ","(+"$'0 '"'()*$*B '"1 ?RB
%&$ #,(('.*$1 /'#$ &'* 0$.$'%$1 ",1$* ?3*$1 /,0 (+"$'0 '"'()*$*B< E,0 #'*$ ?QB4 ,"() ,"$ ,/
%&$ #,+"#+1$"% ",1$* *&,3(1 >$ *.$#+/+$1 '% %&$*$ (,#'%+,"* +" %&+* #,--'"1< =&$ 0$-'+"+"2
#,+"#+1$"% ",1$* '0$ (,#'%$1 '3%,-'%+#'(() '"1 +"#(31$1 +" *3>*$C3$"% .0,#$**+"2< 6 (+*%
,/ %&$ ,%&$0 ",1$* #,+"#+1$"% @+%& $'#& /0,"% ",1$ *.$#+/+$1 +" %&+* #,--'"1 +* .0+"%$1 +/
%&$ F$)@,01 @'1)4= '..$'0* '* %&$ ('*% +%$- ,/ %&$ #,--'"1< `/ %&$ (+*% ,/ %&$*$ #,+"#+1$"%
",1$* +* +"#,00$#%4 %&$ 3*$0 -') "$$1 %, '1_3*% %&$ %,($0'"#$ 3*$1 %, +1$"%+/) #,+"#+1$"%
",1$*<
=, (,#'%$ #,+"#+1$"% ",1$*4 56789:#,"*%03#%* ' >,; '0,3"1 $'#& 3*$0D1$/+"$1 #0'#FDD
/0,"% ",1$< =&$ >,; &'* /'#$* '% ' 1+*%'"#$ ,/ &",'1-.!'%A /0,- %&$ $"#(,*$1 ",1$< b$0$4
A0$.0$*$"%* %&$ 1+*%'"#$ >$%@$$" %&$ /+0*% %@, 3*$0D*.$#+/+$1 #0'#FD/0,"% ",1$* /,0 %&$ 1,D
-'+"< 56789:#,"*+1$0* '(( ",1$* %&'% (+$ @+%&+" ' >,; %, >$ #,+"#+1$"% @+%& %&$ $"#(,*$1
",1$< =&$ 1$/'3(% /,0 &",'1-.!' +* [<[[[94 >3% %&$ 3*$0 -') *.$#+/) ' "$@A'(3$ '* 1$*#0+>$1
'>,A$< =&$ @'1)4= F$)@,01 #'3*$* ,3%.3% ,/ &",'1-.!' '"1 &",'1-.!'%A<
=, +((3*%0'%$ %&$ 3*$ ,/ %&+* #,--'"14 #,"*+1$0 %&$ #30A$1 #0'#F /0,"% *F$%#&$1 +" E+2<
K<S< I0'#F/0,"% $($-$"%* '0$ (+"$'0 +*,.'0'-$%0+#* ?,5()*"$B< c$% ",1$ Q[ (+$ ,"'*)--$%0)
.('"$N ",1$ RR (+$* ," %&$ ,3%*+1$ ?/0$$B *30/'#$< =, #,-.3%$ /4 2 '% ",1$ Q[ ," %&$ /0,"%4 %&$
#0'#F /0,"% *$2-$"% +" %&$ 1,-'+" +"#(31$* ",1$* Q[ '"1 QK< =&$ +".3% #,--'"1 +*
-#"!. !"/(0 *, *1 &2/30"' 4(#3-5
=, #,-.3%$ /4 2 '% ",1$ QK4 %&$ #0'#F /0,"% *$2-$"% +" %&$ 1,-'+" +"#(31$* ",1$* Q[4
QK '"1 QX< =&$ +".3% #,--'"1 +*
-#"!. !"/(0 *, *1 *6 &2/30"' 4(#3-5 ."& 7 ,+,,,*
b$0$4 6 A'0+$* (+"$'0() ?.+$#$@+*$B '(,"2 %&$ /0,"% >$%@$$" ",1$* Q[4 QK '"1 QX ?6 @+(( >$
G$0, '% Q[ '"1 QX '"1 d [ '% QKB< =, +1$"%+/) ",1$* #,+"#+1$"% @+%& ",1$* Q[4 QK '"1 QX4
56789: 2$"$0'%$* ' >,; '0,3"1 $'#& ,/ %&$*$ %&0$$ ",1$*< E'#$* ,/ $'#& >,; (+$ '% ' 1+*D
%'"#$ ,/ [<[[[Q%A /0,- %&$ $"#(,*$1 /0,"% ",1$4 @&$0$ A +* %&$ 1+*%'"#$ /0,- ",1$ Q[ %,
",1$ QK< M,1$( ",1$* %&'% (+$ @+%&+"$'#&>,; 0$#$+A$ %&$ *'-$ 6DA'(3$ '* %&$ $"#(,*$1/0,"%
",1$<
!"#$%& '()*$(+ 4*%5 6$*%*0/ 7##% 70+*8&
=&$ 3*$0 /+0*% 1$/+"$* (+*%* ,/ ]]%+.^ ",1$* /,0 $'#& #0'#F /0,"% .,*+%+," "$$1$1 +" %&$ 1,-'+"
3*+"2 #,--'"1* ,/ %&$ /,0-
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--5 -2034#$ 5 +./0(1 ,14#6$07"
node set <set id:integer> < integerlist >
@&$0$ %&$ *'& )( +* *+-.() ' #,"A$"+$"% +1$"%+/+$0 +" %&$ 0'"2$ ,/ QD9[ /,0 ('%$0 0$/$0$"#$<
`/ %&$ -$*& &'* Z $($-$"%* 1$/+"$1 '(,"2 %&$ #0'#F /0,"%4 /,0 $;'-.($4 Q[ *3#& (+*%* ,/ %+.
",1$* '0$ 3*3'(() 1$/+"$1< =&$ /+0*% ",1$ '..$'0+"2 +" %&$ &+"%$2$0(+*%'*&,3(1 >$ %&$ '#D
%3'( /0,"% ",1$ ,"%&$ *)--$%0).('"$4 +<$<4 ",1$ S9+"E+2< K<K< =&$ #,00$*.,"1$"#$ >$%@$$"
%&$ *'& )( '"1 ' *.$#+/+# #0'#F/0,"% .,*+%+,"+* -'1$ $;.(+#+% +"%&$ -,1+/+$141".& ."('* #,-D
-'"1<
=&$ #,--'"1 %, 1$/+"$ ",1$* ," %&$ #0'#F /0,"% /,0 %&$ 1,-'+" &'* %&$ /,0-
front (node) sets < integerlist >
l3disop
q3disop
@&$0$ %&$ ,01$0+"2 ,/ /0,"% ",1$ *$%* +" %&$ (+*% -3*% /,((,@+"#0$'*+"2 9
9
< =&$ %).$ ,/ $($D
-$"%* '(,"2 %&$ #0'#F/0,"% ?,5()*"$,0 65()*"$B -3*% >$ *.$#+/+$1%, *3..,0% $00,0 #&$#F+"2<
`"%&+* #,"%$;%4 %&$*$ '0$ a2$"$0+#^ $($-$"% %).$* @&+#&*+-.() +"1+#'%$ @&$%&$0 #0'#F/0,"%
$($-$"% $12$* '0$ (+"$'0 ,0 C3'10'%+#< E,0 %0'"*+%+," $($-$"%* @&+#& &'A$ >,%& (+"$'0 '"1
C3'10'%+# $12$*4 3*$ %&$ '..0,.0+'%$ F$)@,01P ,5()*"$ /,0 (+"$'0 '"165()*"$ /,0 C3'10'%+#<
5&$" 65()*"$ $($-$"%* '0$ 3*$1 '(,"2 %&$ #0'#F /0,"%4 %&$ "3->$0 ,/ /0,"% *$%* (+*%$1-3*%
'(@')* >$ '" ,11 "3->$0 ?94 S4 W4 <<<B<
=, +((3*%0'%$ %&$ 3*$ ,/ %&+* #,--'"14 #,"*+1$0 '2'+" %&$ #30A$1 #0'#F /0,"% *F$%#&$1
+" E+2< K<S< I0'#F /0,"% $($-$"%* '0$ (+"$'0 +*,.'0'-$%0+#* ?,5()*"$B< c$% ",1$ *$% Q (+$ ,"
' *)--$%0) .('"$N ",1$ *$% K (+$* ," %&$ ,3%*+1$ ?/0$$B *30/'#$< c$% ",1$* Q[4 QK4 QX '"1 RR
+" %&$ /+230$ ",@1$",%$ %&$ *)--$%0) .('"$ ",1$ '% %&$ >(3"% ",%#& %+. '% $'#& /0,"% .,*+D
%+,"?%&$ *'-$ '* ",1$ S9 +"E+2< K<KB< =, #,-.3%$ /4 2 '% %&$ /0,"% .,*+%+,"+1$"%+/+$1 >) ",1$
*$% Q4 %&$ #0'#F /0,"% *$2-$"% +" %&$ 1,-'+" +"#(31$* ",1$ *$%* Q '"1 R< =&$ +".3% #,-D
-'"1* '0$ ?1$/+"$ %&$ "$$1$1 *$%* ,/ ",1$* /+0*% /,((,@$1 >) %&$ 41".& #,--'"1B
!"/( 0(. * *, 2 18 91 +++
!"/( 0(. 8 *1 12 8: 2* +++
!"/( 0(. 2 *6 8* 81 62 +++
!"/( 0(. 1 88 1* 2: 11 +++
-#"!. !"/( 0(.0 * 8 &2/30"'
=&$ 1$/+"+%+," ,/ '(( /0,"% ",1$ *$%* +* +"#(31$1 '>,A$ /,0 +((3*%0'%+," $A$" %&,32& ,"() *$%*
Q '"1 R '0$ 0$/$0$"#$1 +" %&$ 41".& ."(' *'&* #,--'"1<
=, #,-.3%$ /4 2 '% %&$ /0,"% .,*+%+," QK4 %&$ #0'#F /0,"% *$2-$"% +" %&$ 1,-'+" +"#(31$*
",1$ *$%* Q4 R '"1 9< =&$ +".3% #,--'"1 +*
-#"!. !"/( 0(.0 * 8 2 &2/30"'
b$0$4 6 @+(( A'0) (+"$'0() ?.+$#$@+*$B '(,"2 %&$ /0,"% >$%@$$" ",1$ *$%* Q4 R '"1 9 ?6 @+((
>$ G$0, /,0 ",1$* +" *$% Q '"1 9 '"1 Q<[ /,0 ",1$* +" *$% RB<
!"!"I E907-*-7&/-$' $* 9:A&250)
=@, -$%&,1* /,0 1$/+"+"2 %&$ 6DA'(3$* '0$ 'A'+('>($P '3%,-'%+# '"1 /3(() 3*$0D*.$#+/+$1<
O'#&-$%&,1 +* 1$*#0+>$1 +"' *$#%+,">$(,@< =&$ '3%,-'%+# -$%&,1@+(( *3//+#$ /,0 -3*% '.D
.(+#'%+,"*<
;8%#30%*< 9 '()*$*%*#$
=&$ '3%,-'%+# -$%&,1 *3..,0%* /4 2 #,-.3%'%+," /,0 %&$ /,((,@+"2 *+%3'%+,"*P
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--6 -2034#$ 5 +./0(1 ,14#6$07"
Q< 8,+"%@+*$ $A'(3'%+," '% ' #0'#F /0,"% (,#'%+," ," ' *)--$%0) .('"$ ,0 ," ' /0$$ *30/'#$
?%&$0$ '0$ $($-$"%* ,"() %, ,"$ *+1$ ,/ %&$ #0'#F /0,"% (,#'%+,"B<
R< 8,+"%@+*$$A'(3'%+,"'% '"+"%$0+,0#0'#F/0,"% (,#'%+,"#,00$*.,"1+"2%,'#,0"$0",1$?$($D
-$"%* $;+*%* ," >,%& *+1$* ,/ %&$ #0'#F /0,"% (,#'%+,"B<
9< 6A$0'2$ /4 2DA'(3$ /,0 %&$ #,-.($%$ #0'#F /0,"% ?*%0'+2&% ,0 *(+2&%() #30A$1 /0,"%*B<
22
Symmetry Plane
Free Surface
l3disop elements
8
3
Direction
E`Y< K<SVB:-#$,' !1-!C 41".& &" ),,%*&1-&' 41".& ."('* *$'!)4)!-&)".D
18
10
14
E
0
9
0
Front Nodes
On Symmetry
Plane
1
2
3
4
Node Sets
Correct tangent
at node 10
6% ' #0'#F /0,"% (,#'%+,"4 %&$ '3%,-'%+# -$%&,1 #,"*%03#%* ,"$ ,0 -,0$ 1,-'+"* /,0 +"D
A$*%+2'%+," ,/ 1,-'+" +"1$.$"1$"#$ ,/ #,-.3%$1 /4 2DA'(3$*< =&$ #,"#$.% ,/ ' 1).0 ,/ $($D
-$"%* +* '1,.%$1 %, 1$*#0+>$ %&$ 1,-'+"* 2$"$0'%$1 '% ' #0'#F /0,"% (,#'%+," ?*$$ E+2< K<LB<
F).0 G #,"%'+"* %&,*$ $($-$"%* +"#+1$"% ," %&$ ",1$* 1$/+"$1 +" %&$ (+*% ,/ /0,"% ",1$* ,0
+"%&$ 0$/$0$"#$1."(' *'&*< E+230$* K<K4 K<S +((3*%0'%$ %&$ F).0 G $($-$"%* /,0 +"+%+'(() >(3"%
#0'#F %+.* '"1 #,(('.*$1 #0'#F %+.*< 611+%+,"'( 0+"2* '0$ #,"*%03#%$1 >) $;'-+"'%+," ,/ $($D
-$"% #,""$#%+A+%+$*< F).0 H #,"%'+"* %&$ /0,"% $($-$"%* .(3* %&$ "$;% 0+"2 ,/ $($-$"%* $"D
#(,*+"2 %&$ %+.< 62'+"4 E+2*< K<K4 K<S +((3*%0'%$ %&$ '11+%+,"'( $($-$"%* /,0 %&$ %@, %).$* ,/
#0'#F%+.*< E,0 %&$ +"+%+'(() >(3"%D%+.-,1$(4 %&$ 3*$0 $;$0#+*$* /3(( #,"%0,( ,A$0 %&$ $($-$"%*
+"#(31$1 +" %&$ 0+"2* >) *$($#%+," ,/ %&$ ]]*$$1^ ",1$* *.$#+/+$1 +" %&$ ."(' *'&*<
/4 2DA'(3$* /,0 %&$ /+0*% /$@ 0+"2* 3*3'(() &'A$ %&$ 20$'%$*% $00,0 ?$*.$#+'(() /,0 %&$
>(3"%D%+. -,1$(*B '"1 *&,3(1 >$ 'A,+1$1 +/ .,**+>($< /4 2DA'(3$* /,0 1).0* I; J4 <<< *&,3(1 >$
0$'*,"'>() *+-+('0< E,0 ' ","(+"$'0 $('*%+# ?1$/,0-'%+," .('*%+#+%)B -,1$(4 %&$ A'(3$* +"
1).0* I; J4 <<< ,/%$" *&,@ ($** %&'" Qe A'0+'%+,"<
=&$ #,--'"1 %, *.$#+/) '3%,-'%+# 2$"$0'%+," ,/ 6DA'(3$* &'* %&$ /,0-
q(-values) automatic (rings) < integerlist >
'"1 -3*% >$ /,((,@$1 >) %&$ #,--'"1
@&$0$ -+( 1$",%$* %&$ A'0+'%+," ?/3"#%+," %).$B ,/ 6 '(,"2 %&$ #0'#F /0,"%< =&$ /,30 /3"#%+,"
%).$* '0$ +((3*%0'%$1 +" E+2< K<W< =).$* - '"1 ! '0$ 3*$1 %, $A'(3'%$ /4 2 '% $"1 .,+"%* ,/ '
#0'#F /0,"%4 $<2<4 '% ",1$* Q[ '"1 RR +" E+2< K<S< =).$ K +* 3*$1 %, $A'(3'%$ /4 2 '% '" +"%$0+,0
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--7 -2034#$ 5 +./0(1 ,14#6$07"
function (type)
a
b
c
d
",1$4 $<2<4 ",1$* QK '"1 QX +" E+2< K<S< E3"#%+," %).$ ( +* 3*$1 %, #,-.3%$ ' ]]%&0,32&D%&+#FD
"$**^ 'A$0'2$ /4 2 /,0 ' *%0'+2&% ,0 *(+2&%() #30A$1 #0'#F /0,"%<
5&$" 65()*"$ $($-$"%* '0$ 3*$1 '(,"2 %&$ #0'#F /0,"%4 %&$ '3%,-'%+# -$%&,1 *3..,0%*
/4 2 #,-.3%'%+," ,"() '% %&$ $($-$"% #,0"$0 ",1$*< `" %&+* #'*$4 %&$ '3%,-'%+# .0,#$130$
%, #,"*%03#% 6DDA'(3$* *$%* %&$ -+1D*+1$ ",1$ A'(3$ %, %&$ 'A$0'2$ A'(3$ ,/ %&$ '1_'#$"% %@,
#,0"$0 ",1$ A'(3$* ?'* +((3*%0'%$1 +" E+2< K<WB<
Crack Front Elements Define Ring 1
Elements Added to Define Ring 2
Elements Added
to Define Ring 3
9
R
9
Q
E`Y< K<LVL".!'$& "4 1).0* %*'( ). -%&"#-&)! ("#-). 0'.'1-&)".D
E,0 /3"#%+,"%).$* -+!4 %&$ '3%,-'%+# '(2,0+%&-* #,"*%03#% ",1'( A'(3$* /,0 6 @&+#&A'0)
(+"$'0() +" %&$ 9
9
1+0$#%+,"< E,0 /3"#%+," %).$ (4 6 -'+"%'+"* ' #,"*%'"% A'(3$ +" %&$ 9
9
1+0$#%+," '(,"2 %&$ /0,"%< T,1'( A'(3$* /,0 6 '0$ 2$"$0'%$1 '3%,-'%+#'(() *3#& %&'% %&$ /,(D
(,@+"2 #,"1+%+,"* &,(1P
F).0 GP 6 1$0+A'%+A$*P (6)(9
M
$#,"*%'"%<
F).0 )P /,0 $($-$"%*'..$'0+"2+"0+"2* Q4 R4 94 <<< )DQ4 %&$ 61$0+A'%+A$*P (6)(9
Q
$[4 (6)(9
R
$[
'"1 (6)(9
9
*[< E,0 $($-$"%* '11$1 %, 0+"2 )DQ %, 1$/+"$ 0+"2 )4 %&$ 6 1$0+A'%+A$* '0$
(6)(9
M
$#,"*%'"%<
6* ' #,"*$C3$"#$ ,/ %&$*$ 6+1$0+A'%+A$ .0,.$0%+$*4 $($-$"% 0+"2* Q4 R4 94 <<< )DQ &'A$
78
Q
$78
9
$[< =&$*$ $($-$"%* -'F$ ' *-'(( #,"%0+>3%+," %, 78
R
*+"#$ %&$ A'0+'%+," ,/
%
9
@+%& 9
Q
+* ","D*+"23('0< =&$ '##$($0'%+," /,0#$* @&+#& 1$/+"$ 78
K
'"1 %&$ %&$0-'(
*%0'+"* @&+#& 1$/+"$ 78
L
-'F$ *+2"+/+#'"% #,"%0+>3%+,"* +" "$'0 /0,"% 0+"2* *+"#$ 64 0'%&$0
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--8 -2034#$ 5 +./0(1 ,14#6$07"
%&'" 6+1$0+A'%+A$*4 '..$'0 +" %&$ +"%$20'(< E,0 /3"#%+," %).$ (4 %&$ %$0-* 78
Q
4 78
R
'"1
78
9
$[ /,0 $($-$"%* +" 0+"2* Q4 R4 94 <<< )DQ<
9
R
9
Q
9-Function Type 'b'
9-Function Type '0'
9-Function Type ':'
9-Function Type 'd'
;.4#< open circles indicate mid--side nodes that appear in a
crack front modeled with 9=)(".3 elements
">//#4$> 3701# .'4"()# "'$?0:#
E`Y< K<WVN=$'* "4 6+4%.!&)".* -@-),-K,' 4"1 -%&"#-&)! ("#-).0'.'1-&)".D
=&$ '3%,-'%+# 2$"$0'%+," .0,#$** #0$'%$* ,"$ '11+%+,"'( 1,-'+" /,0 $'#& 0+"2 0$D
C3$*%$1 >) %&$ 3*$0< =&$ /4 2DA'(3$ /,0 $'#& ,/ %&$*$ 1,-'+"* +* .0+"%$1 '"1 +"#(31$1 +" %&$
'A$0'2$4 -+"+-3-4 -';+-3- *%'%+*%+#*< `/ %&$ $($-$"% .0+"%+"2 ,.%+," +* '(*, ".4 %&$ #,"D
%0+>3%+," /,0 $'#& $($-$"% %, $'#& 1,-'+" +* .0+"%$1< =&$ (+*% ,/ 0+"2* *.$#+/+$1 +" %&$ '3%,D
-'%+# 1,-'+" -$%&,1 #'" >$ ,/ %&$ /,0-1).0* R K L Q[ QS <<<< 5&+($ %&$ 1,-'+"* /,0 '(( 0+"2*
?%&0,32& %&$ -';+-3-0+"2 (+*%$1B '0$ #0$'%$1 +"%$0"'(()4 /4 2 +* #,-.3%$1'"1 .0+"%$1,"()
/,0 %&$ 0+"2 "3->$0* +" %&$ (+*%< `"%&+* @')4 /,0 $;'-.($4 %&$ 3*$0 -') 0$C3$*% #,-.3%'%+,"
'"1 ,3%.3% /,0 ' /$@0+"2* /'0 /0,-%&$ #0'#F /0,"%4 $<2<4 0+"2* Q[DQS< =&$ 1,-'+" .0,#$**,0*
+"#(31$ %&$ #,"%0+>3%+,"* ,/ '(( $($-$"%* +" 0+"2* "$'0$0 %&$ %+. '* 0$C3+0$1 /,0 $'#& %$0-
,/ /4 24 $<2<4 #0'#F /'#$ (,'1+"2 '"1 +"$0%+' %$0-* @&+#& +"A,(A$ 6 '"1 ",% 6D1$0+A'%+A$*<
I,"*+1$0 %&$ /,((,@+"2 $;'-.($ ,/ '3%,-'%+# 1,-'+" 2$"$0'%+," ?0$/$0 %, E+2< K<SB< c$%
%&$ #0'#F .('"$ >$ ",0-'( %, %&$ 2(,>'( <D';+*<
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--9 -2034#$ 5 +./0(1 ,14#6$07"
/"$%3! 05$$;<"#!(#
!"#$%& '&%!( !) *+,
-#"!. !"/(0 *, *1 &3!(%# 4(#3-5
=>4%&?(0 %?."$%.3< #3!@0 8>1
-?!<.3"! .5'( %
+
+
+
<"$'?.( /"$%3! 3!.(@#%&
E3"#%+,"%).$ -+* *.$#+/+$1*+"#$ ",1$ Q[ +* ," %&$ *)--$%0) .('"$< 63%,-'%+# 1,-'+"* '0$
#,"*%03#%$1 /,0 0+"2* QDK >3% /4 2 +* #,-.3%$1 '"1 .0+"%$1 ,"() /,0 0+"2* RDK %, ,-+% 0+"2 Q
@&+#& 3*3'(() &'* %&$ -,*% $00,0<
=, #,-.3%$ /4 2 '% %&$ /0,"% (,#'%+,",/ ",1$ QK '"1QX4 %&$ /,((,@+"2 '3%,-'%+# 1,-'+"*
'"1 #,-.3%$ #,--'"1* '0$ 3*$1
/"$%3! -#"!.;*1
!"#$%& '&%!( !) *+,
-#"!. !"/(0 *, *1 *6 &2/30"' 4(#3-5
=>4%&?(0 %?."$%.3< #3!@0 8>1
-?!<.3"! .5'( A
+
+
+
<"$'?.( /"$%3! 3!.(@#%&
/"$%3! -#"!.;*6
!"#$%& '&%!( !) *+,
-#"!. !"/(0 *1 *6 88 &2/30"' 4(#3-5
=>4%&?(0 %?."$%.3< #3!@0 8>1
-?!<.3"! .5'( A
+
+
+
<"$'?.( /"$%3! 3!.(@#%&
6% %&$ +"%$0*$#%+," ,/ %&$ #0'#F /0,"% @+%& %&$ ,3%*+1$ /0$$ *30/'#$ ?'% ",1$ RRB4 %&$ /,(D
(,@+"2 1,-'+" +* *.$#+/+$1
/"$%3! "?.03/(;88
!"#$%& '&%!( !) *+,
-#"!. !"/(0 *6 88 &2/30"' 4(#3-5
=>4%&?(0 %?."$%.3< #3!@0 8>1
-?!<.3"! .5'( <
+
+
+
<"$'?.( /"$%3! 3!.(@#%&
E,0 ' #0'#F@+%& %&$ /0,"% #30A'%30$ +"1+#'%$1 +"E+2< K<S4 ' %&+#F"$**D'A$0'2$ /4 2 3*+"2
/3"#%+," %).$ ( @,3(1 *$$- %, >$ ,/ C3$*%+,"'>($ A'(3$<
.#318%0%*#$& )#" =*+(:>"##?(+ =1(<*3($&
E0'#%30$ %$*%+"2 .0,20'-* ,/%$" 3%+(+G$ *+1$D20,,A$* %, -'+"%'+" >$%%$0 #0'#FD/0,"%
*%0'+2&%"$** 130+"2 #0'#F $;%$"*+,"< =&$ 1$.%& ,/ *+1$D20,,A$* %).+#'(() $C3'(* Q[e ,/ %&$
%&+#F"$** ," $'#& *+1$ ,/ %&$ *.$#+-$"< c$% %&$ /3(( *.$#+-$" %&+#F"$** >$ 1$",%$1 O '"1
%&$ "$% %&+#F"$** >$%@$$" %&$ *+1$D20,,A$* >$ 1$",%$1 O
P
< /+A'(3$* '0$ ,/%$" #,-.3%$1
.,+"%@+*$ '% ",1$* '#0,** %&$ /0,"%4 O
P
4 3*+"2 /3"#%+," %).$* - '"1 K< =&$ /4 2DA'(3$ '% %&$
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--10 -2034#$ 5 +./0(1 ,14#6$07"
",1$ #,+"#+1+"2 @+%& %&$ 0,,% ,/ %&$ *+1$D20,,A$ *&,3(1 >$ #,-.3%$1 3*+"2 /3"#%+," %).$ K<
=&$ #0'#FD/0,"% 'A$0'2$ /4 2DA'(3$ *&,3(1 >$ #,-.3%$1 3*+"2 /3"#%+," %).$ ( @+%& %&$ /0,"%
",1$* +"#(31+"2 %&$ ",1$ '% %&$ 0,,% ,/ %&$ *+1$D20,,A$<
@&(" =1(<*)*(+ 9:A0/8(& 0$+ 2/(3($%&
6(( ",1'( A'(3$* ,/ 6 '0$ G$0, >) 1$/'3(%< T,"DG$0, ",1'( A'(3$* ,/ 6 ,A$0 %&$ 1,-'+" '0$ 1$D
/+"$1 @+%& %&$ #,--'"1
q(-values) < node list > < q: real >
@&$0$ %&$ ",1'( 6DA'(3$* -3*% >$ ,/ #('** f0$'(d %, >$ 1+*%+"23+*&$1 /0,- %&$ (+*% ,/ ",1$
"3->$0*< =&+* #,--'"1 -') >$ 0$.$'%$1 '* "$$1$1 %, 1$/+"$ '(( ",1'( A'(3$* /,0 6 +" %&$
1,-'+"< 6DA'(3$* -3*% >$ *.$#+/+$1 /,0 '(( $($-$"% #,0"$0 ",1$* +" %&$ 1,-'+" '"1 /,0 '((
",1$* '(,"2 %&$ #0'#F /0,"% *$2-$"% 3"1$0 #,"*+1$0'%+,"< I,-.3%'%+,"'( 0,3%+"$* /,0
C3'10'%+# $($-$"%* $-.(,) ' (+"$'0 A'0+'%+," ,/ 6 >$%@$$" #,0"$0 ",1$* ?%&$) ,A$00+1$ %&$
*.$#+/+$1 -+1DD*+1$ ",1$ A'(3$* +"#(31+"2 %&,*$ '(,"2 %&$ #0'#F /0,"%B<
=&$ (+*% ,/ '(( $($-$"%* %, >$ +"#(31$1 +" %&$ #,-.3%'%+,"* +* 1$/+"$1 @+%& %&$ #,--'"1
elements <integerlist>
O($-$"%* %&'% *&,3(1 >$ +"#(31$1 '0$P ?QB %&,*$ ,A$0 @&+#& 6 +* ",% #,"*%'"%4 ?RB %&,*$ @+%&
(,'1$1 #0'#F /'#$* '"1 ","DG$0, 6DA'(3$*4 ?9B %&,*$ @+%& +"$0%+' /,0#$* '"1 ","DG$0, 6DA'(D
3$*4 ?9B %&,*$ @+%& %&$0-'( (,'1+"2 '"1 ","DG$0, 6DA'(3$*<
=&$ /,((,@+"2 $;'-.($ +((3*%0'%$* %&$ 1$/+"+%+," ,/ ' 1,-'+" %, #,-.3%$ /4 2 '% ",1$ QK
/,0 %&$ #0'#F /0,"% +((3*%0'%$1 +" E+2< K<S<
/"$%3! "?.03/(
!"#$%& '&%!( !) *+,
-#"!. !"/(0 *, *1 *6 &2/30"' 4(#3-5
=>4%&?(0 *, *6 ,+,
=>4%&?(0 *1 *+,
(&($(!.0 *,>*1
+
+
<"$'?.( /"$%3! 3!.(@#%&
`" %&+* $;'-.($4 ,"() %&$ #0'#F /0,"% $($-$"%* +"#+1$"% ," ",1$ QX -'F$ #,"%0+>3%+,"* %,
/4 2 ?%&+* +* ."& 0$#,--$"1$1gB< 6DA'(3$* '% ",1$* Q['"1QX1$/'3(% %, [<[ '"1#'">$ ,-+%%$1
/0,- %&$ '>,A$ #,--'"1* ?%&$) '0$ +"#(31$1 /,0 0$'1'>+(+%)B< =&$ ",0-'( .('"$ '"1 /0,"%
",1$ *.$#+/+#'%+,"* '0$ +1$"%+#'( %, '3%,-'%+# 1,-'+"*< !"()$($-$"%* '..$'0+"2+"%&$ *.$D
#+/+$1 (+*% '0$ $A'(3'%$1 130+"2 /4 2 #,-.3%'%+,"*<
!"!"3J 6+-'/-'1 49/-$')
H) 1$/'3(%4 %&$ %,%'( #,"%0+>3%+,"* ?78
Q
4 78
R
+++B '"1 %&$ *3- ,/ 78
Q
4 78
R
+++ '0$ .0+"%$1
/,0 %&$ 1,-'+" ?$'#& 0+"2 ,/ '" '3%,-'%+# 1,-'+"B< =&$ 1,-'+" A'(3$* '0$ /,((,@$1 >) %&$
-+"+-3- /4 24 -';+-3- /4 2 '"1 'A$0'2$ /4 2 /,0 %&$ 1,-'+"*< 5&$" +"$0%+' $//$#%* '0$
.0$*$"%4 78
9
4 78
K
*[4 *$.'0'%$ %,%'(* /,0 *%'%+# '"1 1)"'-+# %$0-* '0$ .0,A+1$1 %, -'F$
,>A+,3* %&$ 0$('%+A$ +-.,0%'"#$ ,/ %&$*$ %$0-* +" %&$ %,%'( /DA'(3$<
=, $;.(+#+%() 0$C3$*% %&+* ($A$( ,/ ,3%.3%4 3*$ %&$ #,--'"1
print totals
M,0$ 1$%'+($1 ,3%.3% (+*%+"2 %&$ #,"%0+>3%+," /0,-$'#& $($-$"% +* 0$C3$*%$1 @+%& %&$ #,-D
-'"1
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--11 -2034#$ 5 +./0(1 ,14#6$07"
print element (values)
=&+* ,.%+," '(*, .0,A+1$* %&$ +"/,0-'%+," ,/ %&$ $1).& &"&-,* 1$/'3(%<
!"!"33 .'/01+&/-$' 4+(0+
=&$ A,(3-$ +"%$20'(* #,"%0+>3%+"2 %, /4 2 '0$ $A'(3'%$1 3*+"2 %&$ *'-$ ,01$0 ,/ Y'3** +"D
%$20'%+," '* +* 3*$1 /,0 *%+//"$** #,-.3%'%+,"< E,0 ,5()*"$ $($-$"%*4 /4 2DA'(3$* @+%& '
20$'%$0 ($A$( ,/ 1,-'+" +"1$.$"1$"#$ '0$ ,/%$" ,>%'+"$1 >) 3*+"2 ,"$D.,+"% Y'3** +"%$20'D
%+,"< =&+* ,.%+," +* 0$C3$*%$1 @+%& %&$ #,--'"1
use 1 (point rule)
!"!"38 ?&70 K$&(-'1
H) 1$/'3(%4 #0'#F/'#$ (,'1+"2* +/ .0$*$"% '0$ +"#(31$1+" %&$ 1,-'+" +"%$20'( #,-.3%'%+,"*<
=&$ #0'#F /'#$ (,'1+"2* -') >$ ,-+%%$1 @+%& %&$ #,--'"1
ignore (crack) (face) loading
6* ",%$1 .0$A+,3*()4 %&+* ,.%+," *&,3(1 >$ +"A,F$1 @&$" #0'#F 20,@%& +* -,1$($1 >) 0$($'*D
+"2 %&$ #(,*+"2 /,0#$* %, G$0, ,A$0 ' "3->$0 ,/ (,'1 *%$.*< J3#& /,0#$* '0$ -+*%'F$"() +"%$0D
.0$%$1 '* #0'#F /'#$ %0'#%+,"* >) %&$ 1,-'+" +"%$20'( .0,#$**,0*<
!"!"3; ,$%&-' A0+-*-7&/-$'
=&$ 1$/+"+%+," ,/ ' 1,-'+" '* *%,0$1 +" +"%$0"'( %'>($* -') >$ .0+"%$1 @+%& %&$ #,--'"1
(%#$< =&+* #,--'"1 -') >$ 2+A$" '% '") %+-$ 130+"2 %&$ 1,-'+" 1$/+"+%+," '"1 '* -'")
%+-$* '* 1$*+0$1<
!"!"3! ,0L511-'1 ,$%&-' #$%95/&/-$')
=&$ '#%3'( 1,-'+" #,-.3%'%+,"* -') >$ %0'#$1 @+%& .0+"%$1 ,3%.3% 1$%'+(+"2 $'#& *%$. ,/
%&$ #,-.3%'%+,"*< =&+* -') .0,A$ #,"A$"+$"% %, -,0$ #(,*$() $;'-+"$ /4 2DA'(3$*< =, %0'#$
%&$ .0+-'0) 1,-'+" +"%$20'( .0,#$**,0 ?>3% ",% $($-$"% +"%$20'%+," 0,3%+"$*B4 3*$ %&$ #,-D
-'"1
debug driver
=, 1$>32 $($-$"% +"%$20'%+," 0,3%+"$*4 3*$ %&$ #,--'"1
debug elements
H,%& #,--'"1* -') >$ *.$#+/+$1 +" %&$ 1,-'+" 1$/+"+%+,"<
!"!"3< 6&7=0/ 45/95/
J$#%+," R<QR<R 1$*#0+>$* %&$ 3*$ ,/ >+"'0) .'#F$% /+($* 3*$1 %, *%,0$ 1'%' /,0 $'*) 0$%0+$A'(
'"1 .,*%D.0,#$**+"2< !"#$ ' .'#F$% /+($ &'* >$$" $"'>($1 @+%& %&$ K).-1= $-!C'&* ". 4),'
Q4),'.-#'R #,--'"1 +" %&$ .".,).'-1 *",%&)". $-1-#'&'1* *$#%+,"4 %&$ /,((,@+"2 #,--'"1
-') >$ +"#(31$1 +" '") 1,-'+" 1$/+"+%+,"<
=&+* #'3*$* 1,-'+"D+"%$20'( ?hB '"1 +"%$0'#%+,"D+"%$20'( ?`B +"/,0-'%+," '"1 0$*3(%* %, >$
@0+%%$"%, %&$ >+"'0) .'#F$%* /+($< 6..$"1+; E.0,A+1$* ' 1$*#0+.%+," ,/ %&$ #,"%$"%* @0+%%$"
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--12 -2034#$ 5 +./0(1 ,14#6$07"
output (packets)
J

%, %&$ .'#F$%* /+($< 6 *'-.($ *3>0,3%+"$ %, $;%0'#% 1,-'+"D '"1 +"%$0'#%+,"D+"%$20'( 1'%'
/0,- %&$ .'#F$%* /+($ +* '(*, +"#(31$1<
!"!"3> #$'M0+)-$' $* BNA&250) /$ E-'120NO$(0 E/+0)) .'/0')-/F ?&7/$+)
U*$0* #'" #,-.'0$ :` '"1 `` 0$*3(%* >) #'3*+"2 56789:%, ,3%.3% *%0$** +"%$"*+%) /'#%,0*
#'(#3('%$1 /0,- /D+"%$20'( A'(3$*< =&$*$ *%0$** +"%$"*+%) /'#%,0* '0$ A'(+1 ,"() /,0 (+"$'0DD
$('*%+# '"'()*$*4 '"1 '**3-$ .30$ -,1$D`4 -,1$D`` ,0 -,1$D``` (,'1+"2 #,"1+%+,"*< =&$ #,"D
A$0*+,"* /,((,@ %&$ 0$('%+,"*&+.*P
S
2
$ /B
i ,
4 ?K<9SB
S
22
$ /B
i ,
4 ?K<9LB
S
222
$
/B
Q "!
,
4 ?K<9WB
@&$0$ B
i
$B)?Q-!
R
B /,0 .('"$D*%0'+"4 '"1 B
i
$B/,0 .('"$D*%0$** '**3-.%+,"*< E,0 EYM*4
A'(3$* ,/ B'"1 ! #,00$*.,"1 %, %&$ #0'#FD/0,"% ",1$ '% .,*+%+," * @&$0$ :` #'(#3('%+,"* '0$
-'1$< 6(%&,32& %&$ / %, S #,"A$0*+," /,0 S
`
'"1 S
``
+* +1$"%+#'(4 56789: ,3%.3%* *%0$**
+"%$"*+%) /'#%,0 A'(3$* /,0 $'#& #'*$P S
`
/,0 .('"$ *%0$**4 S
`
/,0 .('"$ *%0'+"4 S
``
/,0 .('"$
*%0$**4 S
``
/,0 .('"$ *%0'+"4 '"1 S
```
/,0 '"%+D.('"$ *&$'0< =&$ #,--'"1
J to K
#'3*$* 56789: %, .0+"% %&+* 1'%' %, %&$ ,3%.3% /+($< 56789: '3%,-'%+#'(() @0+%$* %&+*
1'%' %, %&$ >+"'0) .'#F$% /+($ /,0 /D+"%$20'( 0$*3(%*<
!"!"3D #$%920/0 :P&%920)
=&$ /,((,@+"2 '0$ %@, #,-.($%$ $;'-.($* +((3*%0'%+"2 '(( #,--'"1* /,0 1,-'+" 1$/+"+%+,"
3*+"2 '3%,-'%+# .0,#$130$*< 611+%+,"'( ,.%+,"* /,0 +"%$0'#%+,"D+"%$20'( #,-.3%'%+,"* '"1
/3"#%+,"'(() 20'1$1 -'%$0+'( '0$ 1+*#3**$1 +" J$#%+,"* K<S<L '"1 K<L<W<
/"$%3! 05$$;<"#!(#
05$$(.#5
!"#$%& '&%!( !) *+,
-#"!. !"/(0 *, *1 &2/30"' 4(#3-5 ."&(#%!<( 7 ,+*(>2
=>4%&?(0 %?."$%.3< #3!@0 8>*,
-?!<.3"! .5'( %
'#3!. .".%&0
'#3!. (&($(!. 4%&?(0
?0( * '"3!. #?&(
3@!"#( <#%<B -%<( &"%/3!@
C ." D
/(A?@ /#34(#
/(A?@ (&($(!.0
/?$'
<"$'?.( /"$%3! 3!.(@#%&
!"#$%" &'()# * WARP3D +, -.//01)"
4.4--13 -2034#$ 5 +./0(1 ,14#6$07"
/"$%3! -#((;(/@(
05$$(.#5
!"#$%& '&%!( !) *+,
!"/( 0(. * 28 E1 :, 2* 92
!"/( 0(. 8 6F 12 8* F9 21
-#"!. !"/( 0(.0 * 8 &2/30"' ."& ,+,,,*
=>4%&?(0 %?."$%.3< #3!@0 8>*,
-?!<.3"! .5'( <
G ." B
'#3!. .".%&0
'#3!. (&($(!. 4%&?(0
"?.'?. '%<B(.0 G
?0( * '"3!. #?&(
3@!"#( <#%<B -%<( &"%/3!@
/(A?@ /#34(#
/(A?@ (&($(!.0
/?$'
<"$'?.( /"$%3! 3!.(@#%&
Users Guide WARP3D FGM Contributions to J
4.5- 1 Chapter 4 Domain Integrals
4.5 JValues for Functionally Graded Materials
When the constitutive material properties (E, n, a, yield stress, hardening parameters, etc.)
vary spatially, the Jintegral described in Section 4.2 requires an additional term to main
tain path (domain) independence. This section describes the form of this term, its numerical
evaluation, and related options in WARP3D. Walters et al. [105] discuss this topic in greater
detail, and use the methods presented here to calculate stress intensity factors along semi
elliptical surface cracks under modeI thermomechanical loading.
4.5.1 Derivative of Stress Work Density
At any time (load) step, the derivative of stress work density (see Eq. 4.2) with respect to
the crack front (normal) direction, X
1
, is given by (compare with Eq. 4.12)
W
X
1
+
W

e
ij

e
ij
X
1
)
W
X
1

explicit
, (4.38)
+s
ij

X
1

ij
*
th
ij

)
W
X
1

explicit
, (4.39)
+s
ij

ij
X
1
*s
ij
a
ij
Q
X
1
)
a
ij
X
1
Q )
W
X
1

explicit
, (4.40)
where the elastic (including nonlinear) strain equals the difference between total and ther
mal strains, i.e.
e
ij
+
ij
*
th
ij
. The above treatment of thermal strains using thermal expan
sion coefficients and temperature follows the procedure developed in Section 4.2.3. The ex
plicit derivative, (WX
1
)
explicit
, includes all derivatives of W with respect to the spatially
varying constitutive parameters. We substitute the revised expression above for the deriva
tive of work density, Eq. 4.40, into J
2
(defined by Eq. 4.6), with the result
J
2
+
V
0
s
ij
a
ij
Q
X
1
)
a
ij
X
1
Q *
W
X
1

explicit
q dV
0
. (4.41)
Simplification and cancellation of terms within the integrand follows the discussion in Sec
tion 4.2.3. The WARP3D domain integral processors output the temperature dependent
portion of J
2
as term DM
6
(see Eq. 4.34) of the domain integral. For materials having a non
zero (WX
1
)
explicit
, this term must also be included in the domain integral calculations to
maintain the path (domain) independence of J.
4.5.2 Analytical Forms of (WX
1
)
explicit
For a small displacement formulation, the work density in Eq. 4.2 for a nonhomogeneous
linearelastic, isotropic material under quasi static loading simplifies to the form
W

ij
, x, Q

e
ij
0
C
ijkl
(x)
e
kl
d
e
ij
. (4.42)
Here, (x)+(x
1
, x
2,
x
3
) denotes the global position vector, and C
ijkl
(x) is the spatially varying,
isotropic elastic constitutive tensor defined by
Users Guide WARP3D FGM Contributions to J
4.5- 2 Chapter 4 Domain Integrals
C
ijkl
(x) + l(x) d
ij
d
kl
)m(x)

d
ik
d
jl
)d
il
d
jk

, (4.43)
where d
ij
is the Kronecker delta, and the spatially varying Lam constants l(x) and m(x)
are given by
l(x) +
E(x) n(x)
[1 )n(x)][1 *2n(x)])
, and m(x) +
E(x)
2[1 )n(x)]
. (4.44)
Using the definition of work density given in Eq. 4.42, (WX
1
)
explicit
may be written direct
ly as

W
X
1

explicit
+
W
E
E
X
1
)
W
n
n
X
1
. (4.45)
Consider also the following example of a simple nonlinear (elastic) constitutive model
of the form s
ij
+m(x)(
ij
)
n(x)
, where m(x) and n(x) denote spatially varying, material depen
dent parameters. The work density now becomes
W

ij
, x, Q

ij
0
m
(
x
)

ij

n(x)
d
ij
, (4.46)
and (WX
1
)
explicit
is given by

W
X
1

explicit
+
W
m
m
X
1
)
W
n
n
X
1
. (4.47)
These two examples illustrate that the analytical expressions for (WX
1
)
explicit
may
have a variety of problemdependent forms and that a more general computational proce
dure is desirable.
For a functionally graded material with (WX
1
)
explicit
defined by Eq. 4.45, the partial
derivatives must be evaluated at each integration point within the volume of material used
to compute J
2
. For the simple isotropic material, the analytical forms of WE and Wn
follow directly from Eqs. 4.424.44. If E and n have smooth spatial gradations described by
analytical functions, the derivatives EX
1
and nX
1
may be evaluated exactly at each
integration point over the volume used to compute J
2
. Suppose, for example, that the direc
tion of material gradation coincides with the X
1
axis of the crackfront coordinate system,
e.g. E(X)+E
0
e
bX
1
. Evaluation of the spatial derivative term becomes straightforward, i.e.
EX
1
+bE
0
e
bX
1
. Similarly, when the direction of material gradation coincides with either
the X
2
or the X
3
crackfront axis, EX+0 and nX
1
+0, and evaluation of the J inte
gral simplifies to the procedure for a homogeneous material. When the direction of material
gradation does not coincide with any axis of the crackfront coordinate system, computa
tions of the derivatives with respect to X
1
becomes more complex (requires a transforma
tion of the derivatives). Although straightforward, this approach lacks generality and re
quires a unique procedure for each analytical form of material gradation.
4.5.3 A General Expression for (WX
1
)
explicit
A general expression for (WX
1
)
explicit
is obtained by rearranging Eq. 4.40 as follows:

W
X
1

explicit
+
W
X
1
*s
ij

ij
X
1
)s
ij
a
ij
Q
X
1
)
a
ij
X
1
Q . (4.48)
Users Guide WARP3D FGM Contributions to J
4.5- 3 Chapter 4 Domain Integrals
All quantities on the right side of Eq. 4.48 are available directly from the finite element
solution or can be computed using general isoparametric interpolation and derivative eval
uation. When Eq. 4.48 is substituted into J
2
(as defined by Eq. 4.6), the result is (compare
with Eq. 4.41)
J
2
+
V
0
s
ij
a
ij
Q
X
1
)
a
ij
X
1
Q *
W
X
1
)s
ij

ij
X
1
*s
ij
a
ij
Q
X
1
)
a
ij
X
1
Q q dV
0

,
which simplifies immediately to
J
2_FGM
+
V
0
s
ij

ij
X
1
*
W
X
1
q dV
0
. (4.49)
When the user specifies material gradations for the model via nodal values of the
constitutive parameters (see Section 2.2.5), Eq. 4.49 replaces Eq. 4.34 (even when thermal
strains are present), and is therefore labeled J
2_FGM
. Otherwise, WARP3D uses J
2
.
The use of Eq. 4.49 to calculate (WX
1
)
explicit
remains (strictly) valid for nonlinear
elasticity and deformation plasticity, and maximizes the computational generality for
analyses having material gradients. For these reasons, WARP3D always uses Eq. 4.49 to
include material gradation effects in the domain integral calculations. For analyses using
flowtheory constitutive models with parameters that vary spatially, WARP3D again uses
Eq. 4.49 even though the strict validity is not retained (this is the same issue of computing
the ordinary J for incrementalflow theory of plasticity vs. deformation plasticity).
The use of Eq. 4.49 does introduce a computational issue. An explicitlydefined
derivative, (WX
1
)
explicit
, has been exchanged for derivatives (including a second
derivative of displacement) obtained via potentially less accurate, meshdependent
interpolation schemes. Numerical studies to date suggest that the loss of accuracy may be
mitigated with increased mesh refinement.
4.5.4 Numerical Evaluation of J
2_FGM
The numerical evaluation of J
2_FGM
, defined by Eq. 4.49, uses the same quadrature
schemes employed for element stiffness computation. Gauss quadrature over the volume
of an element yields the following expression for Eq. 4.49:
J
2_FGM
+

elems

p
s
ij

ij
X
1
*
W
X
1
q
p
det
X
j
h
m

p
w
p
, (4.50)
where the inner elementlevel summation ranges over all integration points p, w
p
denotes
the weight value at each integration point, and det[] denotes the determinant of the coordi
nate Jacobian.
Computation of spatial derivatives of strain and stress work density at integration
points proceeds as follows:
G Extrapolate integration point values of strain and stress work density from the finite ele
ment solution to the element nodes using a standard procedure (e.g. Cook, et. al. [17]) for
all elements;
G Average these extrapolated nodal values with contributions from adjoining elements;
G Use these nodal values with standard isoparametric shape functionsprocedures to calcu
late derivatives at integration points, i.e.
Users Guide WARP3D FGM Contributions to J
4.5- 4 Chapter 4 Domain Integrals

ij
X
1
+

n
I

3
m
N
I
h
m
h
m
X
1

ij
I
, and
W
X
1
+

n
I

3
m
N
I
h
m
h
m
X
1
W
I
, (4.51)
where n equals the number of element nodes, and ()
I
represents a nodal value.
Currently, the extrapolation and interpolation procedure described here applies only
for 20noded and 8noded hexagonal elements integrated with the 222 quadrature ru
le. For all other elements, Gausspoint values within an element are first averaged and
used at the element nodes rather than extrapolated values. Averaging with similar values
from adjacent elements and interpolation to compute the derivatives then occurs as de
scribed above. New work will explore schemes for extrapolation of integration point values
for other integration orders and element types.
4.5.5 Output from Computations
Section 4.3.6 lists the six terms that contribute to the final Jvalue for a domain. The use
of Eq. 4.50 to include material gradation effects introduces two additional output values:
DM
7
+
V
0
s
ij

ij
X
1
qdV
0
, (4.52)
DM
8
+*
V
0

W
X
1
qdV
0
. (4.53)
When the user specifies functionally graded material properties, WARP3D sets DM
6
(Eq.
4.34) to zero. When functionally graded material properties are not specified, WARP3D sets
DM
7
and DM
8
to zero.
4.5.6 Domain Definition Options
Because the numerical approximations to evaluate derivatives in Eq. 4.50 may not yield
reliable values right at the crack front, WARP3D provides an option to omit the contribu
tions to DM
7
and DM
8
from crackfront elements. During the domain definition, this option
is invoked with the command
omit (crack front elements for fgms)
yes
no
Depending upon the level of mesh refinement at the crack front, the element type and the
severity of material gradients, the omission of crackfront elements may or may not im
prove the path independence of the computed Jvalues.
4.5.7 Automatic and UserDefined Domains
The automatic" domain builders for function types ad described in Section 4.4.8 detect the
presence of functionally graded material properties to affect the Jintegral evaluation. For
example, all elements within the domain over which the explicit derivatives do not vanish
are included in the computations. Moreover, nodes are assigned a constant q+1 value with
in the domain.
For userdefined domains, the analyst must specify the list of elements which contrib
ute to the explicit derivative terms and set the desired qvalues. This is identical to the re
quirements for userdefined domains in models having thermal and dynamic loading.
Users Guide WARP3D Interaction Integrals
4.6- 1 Chapter 4 Domain Integrals
4.6 The Interaction Integral
The interactionintegral method postprocesses actual displacement, stress and strain
fields of an equilibrium state for a boundaryvalue problem. Another selected equilibrium
state supplies auxiliary fields that involve sought quantities such as stress intensity factors
or Tstresses. A linear combination of actual fields with auxiliary fields described by Wil
liams solution [107], constitutes a third, superimposed, equilibrium state. The computa
tion of J for this superimposed state leads to a conservation integral, composed of interact
ing actual and auxiliary terms, that permits direct calculation of stress intensity factors
[108]. Alternative auxiliary fields enable the direct calculation of Tstresses [111]. This sec
tion describes the formulation and application of the interaction integral technique to de
termine mixedmode stress intensity factors and Tstresses along crack fronts in 3D homo
geneous and functionally graded material (FGM) specimens.
4.6.1 Formulation
The interaction integral method constitutes a postprocessing step that utilizes the
stresses, strains and displacements generated during the solution of a boundaryvalue
problem. We refer to numericallycalculated quantities as actual fields. By superimposing
actual fields with auxiliary fields corresponding to a second, arbitrary equilibrium state,
we obtain fields for the superimposed state. For this superimposed state, Eqs. 4.154.18 be
comes
J
(S)
(s) +
V

s
(1)
ij
)s
(2)
ij

u
(1)
j
,
1
)u
(2)
j
,
1

*W
(S)
d
1i
q,
i
dV
)
V

s
(1)
ij
)s
(2)
ij

u
(1)
j
,
1
)u
(2)
j
,
1

*W
(S)
d
1i
,
i
q dV
*
A
3
)A
4

t
(1)
j
)t
(2)
j

u
(1)
j
,
1
)u
(2)
j
,
1

q dA
0
. (4.54)
Here, superscripts (1) and (2) indicate actual and auxiliary fields, respectively, and (S) de
notes the superimposed state. Fig. 4.2 illustrates volume V
0
and surface areas A
3
, A
4
and
A
0
. We must now examine the strain energy density for the superimposed state, W
(S)
, to
separate Eq. 4.54 into useful components.
The strain energy density, W, is a function of position x+(x
1
, x
2
, x
3
, and a function of
strain components e
ij
. For a linearelastic, nonhomogeneous material, W
(S)
is
W
(S)
(x) +
1
2

s
(1)
ij
)s
(2)
ij

e
(1)
ij
)e
(2)
ij

+
1
2
s
(1)
ij
e
(1)
ij
)
1
2
s
(2)
ij
e
(2)
ij
)
1
2

s
(1)
ij
e
(2)
ij
)s
(2)
ij
e
(1)
ij

+ W
(1)
)W
(2)
)W
(I)
, (4.55)
where W
(I)
is
W
(I)
+
1
2

s
(1)
ij
e
(2)
ij
)s
(2)
ij
e
(1)
ij

. (4.56)
Users Guide WARP3D Interaction Integrals
4.6- 2 Chapter 4 Domain Integrals
Equation 4.55 permits the separation of Eq. 4.54 into three parts:
J
(S)
(s) + J
(1)
(s) )J
(2)
(s) )I(s) , (4.57)
where J
(S)
(s) is the domain integral for the superimposed state, J
(1)
(s) is the domain inte
gral for the actual state, J
(2)
(s) is the domain integral for the auxiliary state, and I(s) is the
domain form of the interaction integral, written as
I(s) +
V
0
s
(1)
ij
u
(2)
j
,
1
)s
(2)
ij
u
(1)
j
,
1
*
1
2

s
(1)
jk
e
(2)
jk
)s
(2)
jk
e
(1)
jk

d
1i
q,
i
dV
0
)
V
0
s
(1)
ij
u
(2)
j
,
1
)s
(2)
ij
u
(1)
j
,
1
*
1
2

s
(1)
jk
e
(2)
jk
)s
(2)
jk
e
(1)
jk

d
1i
,
i
q dV
0
*
A
3
)A
4

t
(1)
j
u
(2)
j
,
1
)t
(2)
j
u
(1)
j
,
1

q dA
0
. (4.58)
For quasistatic, isothermal loading of homogeneous specimens in the absence of body
forces and crackface tractions, the second and third integrals of Eq. 4.58 vanish. Because
auxiliary fields correspond to an arbitrary equilibrium state, Eq. 4.58 simplifies with the
assumption that the auxiliary state includes no crackface tractions. The surface integral
in Eq. 4.58 thus becomes

A
3
)A
4
t
(1)
j
u
(2)
j
,
1
q dA
0
. (4.59)
Auxiliary fields must satisfy equilibrium, compatibility, and constitutive relations at
crackfront location s where the asymptotic functions maintain validity for both homoge
neous and graded material [112]. For FGMs, this requires that material properties corre
spond to the crackfront location s, but over a finite domain of integration, material proper
ties at element integration points can be significantly different from properties at the crack
front. To account for this discrepancy, Dolbow and Gosz [113] define strains according to
e
(2)
ij
+ S
ijkl
(x)s
(2)
kl
, (4.60)
where S
ijkl
(x) is the spatiallyvarying compliance tensor. At crackfront location s,
e
(2)
ij
+S
ijkl
(s)s
(2)
kl
+0.5(u
i
,
j
)u
j
,
i
), but for x0s, Eq. 4.60 violates straindisplacement compati
bility because e
(2)
ij
+S
ijkl
(x)s
(2)
kl
00.5(u
i
,
j
)u
j
,
i
). With consideration of this incompatibility,"
Eq. 4.58 becomes
I(s) +
V
0

s
(1)
ij
u
(2)
j
,
1
)s
(2)
ij
u
(1)
j
,
1
*s
(1)
jk
e
(2)
jk
d
1i

q,
i
dV
0
)
V
0

s
(1)
ij
u
(2)
j
,
1i
)s
(2)
ij
e
(1)
ij
,
1
*s
(1)
ij
,
1
e
(2)
ij
*s
(1)
ij
e
(2)
ij
,
1

q dV
0
*
A
3
)A
4
t
(1)
j
u
(2)
j
,
1
q dA
0
. (4.61)
Users Guide WARP3D Interaction Integrals
4.6- 3 Chapter 4 Domain Integrals
In this expression, s
(1)
ij
,
i
u
(2)
j
,
1
+s
(2)
ij
,
i
u
(1)
j
,
1
+0, because both actual and auxiliary stress fields sat
isfy equilibrium. The following relationships enable us to further simplify the expression
for I(s):
s
(1)
ij
,
1
e
(2)
ij
+ C
ijkl
,
1
(x)e
(1)
kl
e
(2)
ij
)C
ijkl
(x)e
(1)
kl
,
1
e
(2)
ij
+ C
ijkl
,
1
(x)e
(1)
kl
e
(2)
ij
)C
klij
(x)e
(2)
ij
e
(1)
kl
,
1
+ C
ijkl
,
1
(x)e
(1)
kl
e
(2)
ij
)s
(2)
ij
e
(1)
kl
,
1
. (4.62)
Using the relationship s
(2)
ij
e
(1)
ij
,
1
+s
(2)
ij
u
(1)
j
,
1i
leads to the expression WARP3D employs to evalu
ate the interaction integral:
I(s) +
V
0

s
(1)
ij
u
(2)
j
,
1
)s
(2)
ij
u
(1)
j
,
1
*s
(1)
jk
e
(2)
jk
d
1i

q,
i
dV
0
)
V
0
s
(1)
ij

u
(2)
j
,
1i
*e
(2)
ij
,
1

*C
ijkl
,
1
(x)e
(1)
kl
e
(2)
ij
q dV
0
*
A
3
)A
4
t
(1)
j
u
(2)
j
,
1
q dA
0
. (4.63)
For homogeneous materials and tractionfree crack surfaces, the second and third integrals
in Eq. 4.63 vanish. Equation 4.63 is valid for quasistatic, isothermal, linearelastic loading
of FGMs in the absence of body forces. In this expression, auxiliary displacements are the
only quantities that employ material properties corresponding to crackfront location, s.
The compliance tensor for the FGM uses material properties at the location of the integra
tion point. Derivatives of auxiliary strain follow directly from Eq. 4.60:
e
(2)
ij
,
1
+ S
ijkl
,
1
(x)s
(2)
kl
)S
ijkl
(x)s
(2)
kl
,
1
, (4.64)
where Williams solution [107] defines auxiliary stresses.
4.6.2 Auxiliary Fields for Stress Intensity Factors
Auxiliary fields should include quantities we seek such as stress intensity factors. For 2D
analyses, Yau et al. [108] employ Williams solution [107] for auxiliary fields. Nakamura
and Parks [110] and Gosz et al. [114] use these auxiliary fields to determine stress intensity
factors for cracks in 3D solids. To justify the use of 2D auxiliary fields for 3D problems,
they assume that nearplanestrain conditions exist near the crack front, and their accu
rate results demonstrate the adequacy of this approximation.
Because neartip fields in homogeneous and graded material exhibit similar asymptotic
behavior [112], the leading terms of Williams 2D asymptotic solutions for stress and dis
placement near a crack tip are valid for both homogeneous and graded material. Excluding
nonsingular and higherorder terms, auxiliary stresses and displacements defined accord
ing to Williams expressions are:
s
(2)
ij
+
K
(2)
I
2pr

f
I
ij
(q) )
K
(2)
II
2pr

f
II
ij
(q) )
K
(2)
III
2pr

f
III
ij
(q) , (4.65)
Users Guide WARP3D Interaction Integrals
4.6- 4 Chapter 4 Domain Integrals
u
(2)
j
+
K
(2)
I
2m(s)
r
2p
g
I
j
(q) )
K
(2)
II
2m(s)
r
2p
g
II
j
(q) )
K
(2)
III
m(s)
2r
p

g
III
j
(q) . (4.66)
where f
ij
(q) and g
j
(q) are functions of r and q, and K
I
, K
II
and K
III
are the stress intensity
factors for modes I, II and III. For 2D graded materials, shear modulus m corresponds to
the cracktip location, and for cracks in 3D specimens, the shear modulus and stress inten
sity factors correspond to crackfront location s. Full expressions for stress and displace
ment components are [119]:
s
(2)
11
+
1
2pr

K
(2)
I
cos
q
2

1 *sin
q
2
sin
3q
2

*K
(2)
II
sin
q
2

2 )cos
q
2
cos
3q
2
(4.67)
s
(2)
22
+
1
2pr

K
(2)
I
cos
q
2

1 )sin
q
2
sin
3q
2

)K
(2)
II
sin
q
2
cos
q
2
cos
3q
2
(4.68)
s
(2)
12
+
1
2pr

K
(2)
I
cos
q
2
sin
q
2
cos
3q
2
)K
(2)
II
cos
q
2

1 *sin
q
2
sin
3q
2
(4.69)
s
(2)
13
+ *
K
(2)
III
2pr

sin
q
2
(4.70)
s
(2)
23
+
K
(2)
III
2pr

cos
q
2
(4.71)
s
(2)
33
+
n(s)

s
(2)
11
)s
(2)
22

0
plane stress,
plane strain
(4.72)
u
(2)
1
+
1
2m(s)
r
2p
K
(2)
I
cos

q
2
*1 )2sin
2

q
2
)K
(2)
II
sin

q
2
)1 )2cos
2

q
2
(4.73)
u
(2)
2
+
1
2m(s)
r
2p
K
(2)
I
sin

q
2
)1 *2cos
2

q
2
*K
(2)
II
cos

q
2
*1 *2sin
2

q
2
(4.74)
u
(2)
3
+
K
(2)
III
m(s)
2r
p

sin
q
2
(4.75)
where n(s) and m(s) are respectively Poissons ratio and the shear modulus at crack front
location s, and
+
3 *4n
plane stress.
plane strain
3 *n(s)
1 )n(s)
(4.76)
The symmetric gradient of auxiliary displacement components defines auxiliary strain
components:
Users Guide WARP3D Interaction Integrals
4.6- 5 Chapter 4 Domain Integrals
e
(2)
ij
+
1
2

u
(2)
i
,
j
)u
(2)
j
,
i

. (4.77)
Evaluation of Eq. 4.63 follows by using stresses, strains and displacements from a numeri
cal analysis as actual field quantities, and by using Eqs. 4.654.77 to define auxiliary field
quantities. Three values of I(s) result from evaluating Eq. 4.63 once for K
(2)
I
+1.0,
K
(2)
II
+K
(2)
III
+0, once for K
(2)
II
+1.0, K
(2)
I
+K
(2)
III
+0 and once for K
(2)
III
+1.0, K
(2)
I
+K
(2)
II
+0. The
next section describes how these I(s) values relate to stress intensity factors for each crack
opening mode.
4.6.3 Calculation of Stress Intensity Factors
After computing I(s) using standard finite element procedures, calculation of the point
wise value of the interaction integral follows Eq. 4.8:
I(s + b) [

s
c
s
a
I(s)q
t
(s)ds

s
c
s
a
q
t
(s)ds
+
I(s)
A
q
. (4.78)
The energy release rate, J, for a smoothlygraded solid under mixedmode loading and
the stress intensity factors are related through
J(s) +
K
2
I
)K
2
II
E
*
(s)
)
1 )n(s)
E(s)
K
2
III
, (4.79)
where stress intensity factors correspond to crackfront location s. For planestress condi
tions, E
*
(s)+E for plane stress conditions, and E
*
(s)+E(1 n
2
) for planestrain conditions.
For the superimposed equilibrium state, the energy release rate is
J
(S)
(s) +
1
E
*
(s)

K
(1)
I
)K
(2)
I

2
)

K
(1)
II
)K
(2)
II

2
)
1 )n(s)
E(s)

K
(1)
III
)K
(2)
III

2
+ J
(1)
(s) )J
(2)
(s) )I(s) , (4.80)
where
I(s) +
1
E
*
(s)

2K
(1)
I
K
(2)
I
)2K
(1)
II
K
(2)
II

)
1 )n(s)
E(s)

2K
(1)
III
K
(2)
III

. (4.81)
Equations 4.63, 4.78, and 4.81 define the relationship between the interaction integral and
stress intensity factors. To solve for K
(1)
I
, the value of I(s) is generated by Eq. 4.63, where
K
(2)
I
+1.0 and K
(2)
II
+K
(2)
III
+0, and Eq. 4.81 then reduces to
K
(1)
I
+
E
*
(s)
2
I(s) . (4.82)
This procedure yields pointwise stress intensity factors along a 3D crack front. Calcula
tion of K
(1)
II
and K
(1)
III
follows by evaluating Eqs. 4.63, 4.78 and 4.81 with auxiliary stress in
tensity factors set to K
(2)
II
+1.0, K
(2)
I
+K
(2)
III
+0 and K
(2)
III
+1.0, K
(2)
I
+K
(2)
II
+0, respectively. For
these two cases, Eq. 4.81 yields
K
(1)
II
+
E
*
(s)
2
I(s) , (4.83)
Users Guide WARP3D Interaction Integrals
4.6- 6 Chapter 4 Domain Integrals
and
K
(1)
III
+
E(s)
2(1 )n(s))
I(s) . (4.84)
Section 4.6.6 discusses some aspects of the numerical implementation of this procedure.
4.6.4 Auxiliary Fields for TStresses
Williams solution including nonsingular Tstress terms is:
s
ij
+
K
I
2pr

f
I
ij
(q) )
K
II
2pr

f
II
ij
(q) )
K
III
2pr

f
III
ij
(q)
)T
11
d
1i
d
1j
)T
13

d
1i
d
3j
)d
3i
d
1j

)T
33
d
3i
d
3j
. (4.85)
Equation 4.85 describes the mathematical linearelastic variation of stresses for 3D prob
lems. For 2D problems, T
13
+0. For planestress conditions, T
33
+0, and for planestrain
conditions, T
33
+nT
11
.
Michell [115] determines the stress distribution generated by a line load applied to the
apex of a wedge. For a crack, where the included angle of the wedge equals 2p, the stress
field under planestrain conditions is described by:
s
(2)
11
+ *
f
pr
cos
3
q ,
s
(2)
22
+ *
f
pr
cos q sin
2
q ,
s
(2)
33
+ *
nf
pr
cos q ,
s
(2)
12
+ *
f
pr
cos
2
q sinq ,
s
(2)
13
+ s
(2)
23
+0 . (4.86)
Here, f indicates the force per unit length of the line load applied along the crack front, and
superscript (2) denotes auxiliaryfield quantities.
4.6.5 Calculation of TStresses
To calculate Tstresses, Cardew et al. [111] and Kfouri [116] consider a 2D line integral
analogous to the first integral in Eq. 4.63:
I +
G
s
(1)
jk
e
(2)
jk
d
1i
*

s
(1)
ij
u
(2)
j
,
1
)s
(2)
ij
u
(1)
j
,
1
n
i
dG . (4.87)
When Eq. 4.85 defines actual fields, and Eq. 4.86 defines auxiliary fields, Eq. 4.87 yields
the following relationship:
T
11
+
E
*
I
f
. (4.88)
For WARP3D simulations of 2D problems, Eqs. 4.63 and 4.78 yield a value for I(s) that can
be used in Eq. 4.88 when actual fields are taken from the finiteelement solution, and auxil
Users Guide WARP3D Interaction Integrals
4.6- 7 Chapter 4 Domain Integrals
iary fields follow Eq. 4.86. Values of T
11
calculated in this manner are valid for simulations
of 2D problems with inplane modeI or modeII loading.
For 3D modeI problems, Nakamura and Parks [109] use the planestrain definition
of s
33
:
s
33
+ n(s
11
)s
22
) +
K
I
2pr

2n(s) cos
q
2
)T
33
,
where T
33
+nT
11
. They redefine T
33
as T
33
+s*)nT
11
, and identify s* with a state of simple
tension tangent to the crack front that causes extensional strain e
33
+s*E, and Poisson
contractions e
11
+e
22
+*ns*E+*ne
33
. After deriving displacements from Eq. 4.85 in
cluding the effect of these strains, Nakamura and Parks [109] use actual and auxiliary
fields based on Eqs. 4.85 and 4.86, respectively, as input to Eq. 4.87 in order to obtain the
relationship
T
11
(s) +
E
(1 *n
2
)

I(s)
f
)ne
33
(s) , (4.89)
In Eq. 4.89, ne
33
acts as a penalty term that reduces T
11
when contraction tangent to the
crack front, *e
33
, leads to an increase in e
11
due to the Poisson effect. Equation 4.89 is valid
for modeI loading. Currently, WARP3D results for Tstress have been verified against pu
blished simulations of 2D FGMs under mixedmode inplane loading, and against ABA
QUS 6.3 benchmark problems for 3D geometries in homogeneous materials under modeI
loading with tractionfree crack surfaces.
4.6.6 Numerical Procedures
Within a finiteelement setting, numerical procedures to evaluate the interaction integral
are the same as those used to solve the boundaryvalue problem. This section first describes
the evaluation of volume integrals and materialproperty derivatives. A description of the
measurement of r and q for auxiliaryfield quantities is then followed by a procedure for
exact integration of the surfacetraction integral.
Evaluation of volume and surface integrals
Numerical evaluation of the integrals in Eq. 4.63 follows the same Gaussian quadrature
procedures employed for the computation of element stiffnesses:
I(s) +

V
0

s
(1)
ij
u
(2)
j
,
1
)s
(2)
ij
u
(1)
j
,
1
*s
(1)
jk
e
(2)
jk
d
1i

q,
i
det J
p
w
p
)

V
0

p
s
(1)
ij

u
(2)
j
,
1i
*e
(2)
ij
,
1

*C
ijkl
,
1
(x)e
(1)
kl
e
(2)
ij
qdet J
p
w
p
*

A
0

t
(1)
j
u
(2)
j
,
1
q det J

p
w
p
, (4.90)
where the sum over volume V
0
includes all elements in the domain, and the sum over sur
face A
0
includes elements in domain V
0
with faces on the crack surface. The sum over p in
cludes all integration points either within an element or on the surface of an element, and
Users Guide WARP3D Interaction Integrals
4.6- 8 Chapter 4 Domain Integrals
w
p
is the corresponding weight for that point. The determinant of the coordinate Jacobian
matrix, det J, corresponds to the transformation of coordinates for element nodes. Repeated
indices imply summation. The current implementation employs the qfunction described
in previous sections of Chapter 4. Because the crackfacetraction integral contains an in
verse squareroot singularity, a modified integration procedure is necessary to integrate it
exactly.
Determination of materialproperty derivatives
Numerical evaluation of Eqs. 4.634.64 requires derivatives at element integration points
of the compliance and constitutivetensor terms. We interpolate nodal material properties
E(x) and n(x) and their X
1
derivatives at integration points using the expressions
(E(x))
p
+

n
I
N
I
(E(x))
I
,
(E(x))
p
X
1
+

n
I

3
m
N
I
h
m
h
m
X
1
(E(x))
I
, (4.91)
(n(x))
p
+

n
I
N
I
(n(x))
I
, and
(n(x))
p
X
1
+

n
I

3
m
N
I
h
m
h
m
X
1
(n(x))
I
, (4.92)
where (E(x))
p
and (n(x))
p
denote material properties at integration points, n is the number
of element nodes, (E(x))
I
and (n(x))
I
are material properties at node I, N
I
is the element
shape function for node I evaluated at integration point p, and h
k
are parent coordinates.
Integrationpoint values of E(x),
1
and n(x),
1
obtained from Eqs. 4.914.92 enable the direct
calculation of tensorterm derivatives as
C
ijkl
(x)
X
1
+
C
ijkl
(x)
E(x)
E(x)
X
1
)
C
ijkl
(x)
n(x)
n(x)
X
1
, (4.93)
and
S
ijkl
(x)
X
1
+
S
ijkl
(x)
E(x)
E(x)
X
1
)
S
ijkl
(x)
n(x)
n(x)
X
1
, (4.94)
where the quantities (@)E(x) and (@)n(x) are explicit derivatives of the components
of C
ijkl
(x) and S
ijkl
(x) with respect to E(x) and n(x).
Evaluation of surfacetraction integral
For elements adjacent to the crack front, the integrand of Eq. 4.59 generally contains an
inverse squareroot singularity which standard Gaussian quadrature cannot integrate ex
actly. A change of variables permits the exact integration of Eq. 4.59 for elements with
straight edges along the crack front (linear elements or quadratic elements with front nodes
placed on a chordal approximation). For a 1D function f(r) with an inverse squareroot sin
gularity at one boundary of the domain of integration, the substitution t+r, removes the
singularity [117]:

b
a
f(r)dr +
b*a

0
2tf(t
2
)a)dt(b u a). (4.95)
Users Guide WARP3D Interaction Integrals
4.6- 9 Chapter 4 Domain Integrals
For example, define f(r)+1r, and assign integration limits a and b as r+0 and r+L
e
, the
length of an element adjacent to the crack front. The relationship t
2
+r leads to
f(t
2
)a)+1t, giving

L
e
0
1
r

dr +
L
e

0
2t
1
t
dt +
L
e

0
2dt +2 L
e

, (4.96)
which is the exact result. To evaluate Eq. 4.59 over a planar 2D surface where coordinate
z is tangent to the crack front, f(z,r) includes traction values, t
(1)
j
, auxiliarydisplacement
derivatives, u
(2)
j
,
1
, and qfunction values. Integration in the zdirection does not require spe
cial treatment, and standard Gauss quadrature in this direction can provide exact results.
To implement the above procedure numerically, a change of variables in parent (natu
ral, intrinsic) coordinates is performed. From 4.95, we have

1
*1

1
*1
f(c, h)dhdc +
1
*1

0
2tf(c, t
2
*1)dtdc, (4.97)
where the inverse squareroot singularity of f(c,h) in the parent coordinates corresponds to
the lower integration boundary h+ 1. In Eq. 4.97 and in the steps that follow, we assume
that parent coordinate, c, is tangent to the crack front, and that h corresponds to distance
r from the crack front. Integrands in Eq. 4.97 include traction values, t
(1)
j
, auxiliarydis
placement derivatives, u
(2)
j
,
1
, qfunction values, and the determinant of the coordinate Jaco
bian, det J.
In order to apply a Gaussian quadrature rule formulated for the interval [ 1,1], to the
inner integral of Eq. 4.97 over interval [0,2], it is necessary to employ the standard trans
formation [118]
t +
b *a
2
h )
b )a
2
, (4.98)
where a and b are the new limits of integration, 0 and 2, respectively. Equation 4.98 gives
t +
1
2

(h )1), and
dt
dh
+
1
2

, (4.99)
and the quadrature for Eq. 4.97 over one element face becomes
1
2


p
2tf(c, t
2
*1)w
p
, (4.100)
where the summation includes all Gaussian integration points at coordinates (c,t), where
Eq. 4.99 defines t. Weights w
p
in Eq. 4.100 correspond to the standard Gaussquadrature
rule formulated over interval c+h+[ 1,1], and 12 is the Jacobian of the interval trans
formation.
The following steps describe the procedure for evaluating Eq. 4.59 using the details just
described.
1) Collect data for element faces and nodes (coordinates, qvalues, tractions etc.).
2) Loop over integration points. A 22 quadrature rule yields exact results for the
constant face tractions employed in this study.
Users Guide WARP3D Interaction Integrals
4.6- 10 Chapter 4 Domain Integrals
3) For the current integration point, obtain weight and parent coordinates (c,h) based
on a standard rule for the interval c+h+[ 1,1].
4) Shift the value of h according to Eq. 4.99: h
new
+12(h)1).
5) Redefine h as in Eq. 4.97: h+(h
new
)
2
*1.
6) Evaluate standard element shape functions, shapefunction derivatives, the coordi
nate Jacobian matrix, and the determinant of the coordinate Jacobian matrix,
det J, using c and h obtained from the previous step.
7) Use element shape functions to determine the local coordinates, ( X
p
1
, X
p
2
, X
p
3
), of the
current integration point, and the qvalue and traction value at the integration
point.
8) Calculate distance r and angle q+"p from the crack front to the integration point
based on the coordinates determined in step 7.
9) Evaluate the auxiliarydisplacement derivative u
(2)
j
,
1
using m(s), r and q from the
previous step, and 1.0 for the stress intensity factor.
10) Evaluate the integrand in Eq. 4.100 as: w
p
q(c,h)t
(1)
j
(c,h)u
(2)
j
,
1
(c,h)det J,
where summation is implied by the repeated index.
11) Complete the quadrature in Eq. 4.100 by multiplying the result of 10 by 122t.
12) Sum contribution from integration point, and cycle to next point.
In steps 111, only steps 4, 5 and 11 differ from standard quadrature procedures. Our cur
rent experience demonstrates that exact integration of Eq. 4.59 may increase the accuracy
of stress intensity factors by 11.5%. Steps 4, 5 and 11 are required for the exact integration
of Eq. 4.59 for 8noded elements with four nodes on each face, and for 20noded elements
with 8 nodes on each face. When elements with quarterpoint nodes border the crack front,
steps 4, 5 and 11 should not be employed because the quarterpoint nodes cause standard
quadrature to integrate Eq. 4.59 exactly. Integration for elements not adjacent to the crack
front follows standard quadrature procedures, and produces an exact result. For quadra
tice elements with curved edges along a crack front, a standard 4 point Gauss rule evaluates
Eq. 4.59 approximately.
Calculation of r and q for auxiliary fields
For the auxiliary fields, r represents the distance from the crack front to an integration
point. The angle between the integration point, the crack front, and the crack plane equals
q. WARP3D computes r and q for each integration point using a procedure dependent upon
the element type and the geometric approximation of the local crack front shape. For linear
elements and for quadratic elements with straight edges along the crack front, WARP3D
uses a chordal line that connects the two closest crackfront nodes. For higher order ele
ments with a locally curved edge along the front (e.g. a 20node hex element), WARP3D uses
either a local quadratic or local quartic approximation for the crack front shape.
The quadratic approximation is used for domain types a and c; while the quartic approx
imation is used for domain type b (see Section 4.4.8). For domain types a and c, only one
set of elements along the front resides in the domain. For domain type b, two sets of ele
ments (and thus 5 nodes for the 20node hex elements) along the front reside in the domain.
These details concerning the accurate computation of r affect the accuracy of domain values
computed over the first few rings of elements surrounding the crack front. Accurate r values
Users Guide WARP3D Interaction Integrals
4.6- 11 Chapter 4 Domain Integrals
for the integration points in these elements lead to accurate values of the auxiliary fields
and corresponding increased accuracy in evaluation of the domain integrals. Small errors
in values for r have negligble effects on integral values for domains defined at greater dis
tances from the crack front. Walters et al. [106] provide specific details of the r computation.
Calculation of e
33
for Tstress
Domainintegral methods achieve good accuracy because they rely upon field quantities re
mote from the crack front. Calculation of Tstress for modeI problems using Eq. 4.89, how
ever, requires an accurate evaluation of strain e
33
at the crack front. WARP3D therefore
computes e
33
using nodal displacements. Standard element shape functions enable mea
surement of the crackfront length before and after the solution to the boundaryvalue prob
lem. An approximation of the tangential strain is e
33
+DLL, where DL is the change in
length, and L is the original length of the segment.
4.6.7 Domain Definition Options for Interaction Integrals
Section 4.4 describes the common essential steps to create domains for both J and Iinte
grals. The additional commands described here apply only for evaluation of Iintegrals.
Crack face tractions
When a user applies arbitrary tractions or pressure to crack surfaces, WARP3D, by default,
employs an approximate numerical procedure to evaluate Eq. 4.59. For constant (uniform)
tractions or pressure, WARP3D evaluates Eq. 4.59 exactly, as described above in Section
4.6.6, when the user also includes the following command in the domain definition:
crack (face tractions)
tx
ty
tz
< value: number > (,) (=)
This step requires that the user reinput here the tractions applied in the linearelastic
boundaryvalue problem. The user inputs the values of uniform traction components that
act over the entire crack surface that corresponds to X
2
+0
+
in the local crackfront
coordinate system. (Recall that )X
2
corresponds to the crackplane normal defined accord
ing to Section 4.4.5). Although the local coordinate system identifies the X
2
+0
+
crack sur
face, traction values are defined with respect to the global coordinate system. Therefore
this definition of crackface tractions is the same at every location along a curved crack. The
domain processors apply automatically the opposite tractions to the X
2
+0
*
face. Tractions
are considered to act on all elements of the domain incident on the crack face. Our experi
ence shows that for some problems, this option results in a 11.5% increase in accuracy of
computed stress intensity factors and Tstress values.
Interaction integral output
The default output for the interaction integral includes domain values for stress intensity
factors K
I
, K
II
, and K
III
, and Tstresses T
11
and T
33
. In addition, WARP3D computes Jval
ues from the stress intensity factors to facilitate comparison with domain integral results.
Evaluations of the interaction integral using planestress, planestrain, or antiplane shear
auxiliary fields yield these quantities. The user may selectively reduce this output by using
the command
Users Guide WARP3D Interaction Integrals
4.6- 12 Chapter 4 Domain Integrals
plane (output for interaction integral)
stress
strain
The plane stress option restricts output to the following domain values:
D K
I
(planestress auxiliary fields)
D K
II
(planestress auxiliary fields)
D T
11
(planestress auxiliary fields; T
33
50 for this case.)
The plane strain option restricts output to the following domain values:
D K
I
(planestrain auxiliary fields)
D K
II
(planestrain auxiliary fields)
D K
III
(antiplane shear auxiliary fields)
D T
11
, T
33
(planestrain auxiliary fields)
WARP3D outputs Jvalues computed from K
I
, K
II
, and K
III
using the expression
J +
K
2
I
E
*
)
K
2
II
E
*
)
K
2
III
2m
, (4.101)
where E
*
+E(1*n
2
) for planestrain, and E
*
+E for planestress assumptions. For FGMs,
values of E and m correspond to the crackfront node at position s where II calculations oc
cur. These Jvalues facilitate the comparison of II and DI results.
Packet output
Section 4.4.14 describes the command for domainintegral output to a binary packet file.
To output interactionintegral values to a binary packet, the command is
output (packets)
J
I
This causes domain integral (J) and interaction integral (I) information and results to be
written to the binary packets file. Appendix F provides a description of the contents written
to the packets file. A sample subroutine to extract domain and interactionintegral data
from the packets file is also included.
4.6.8 Output from Computations
Equation 4.63 shows the seven terms that contribute to the interaction integral. For each
domain, WARP3D outputs the value of individual terms in the following order:
II
1
+
V
0
s
(1)
ij
u
(2)
j
,
1
q,
i
dV
0
, (4.102)
II
2
+
V
0
s
(2)
ij
u
(1)
j
,
1
q,
i
dV
0
, (4.103)
II
3
+ *
V
0
s
(1)
jk
e
(2)
jk
d
1i
q,
i
dV
0
, (4.104)
Users Guide WARP3D Interaction Integrals
4.6- 13 Chapter 4 Domain Integrals
II
4
+
V
0
s
(1)
ij
u
(2)
j
,
1i
q dV
0
, (4.105)
II
5
+ *
V
0
s
(1)
ij
e
(2)
ij
,
1
q dV
0
, (4.106)
II
6
+ *
V
0
C
ijkl
,
1
(x)e
(1)
kl
e
(2)
ij
q dV
0
(see below for II
7
), (4.107)
II
8
+ *
A
3
)A
4
t
(1)
j
u
(2)
j
,
1
q dA
0
. (4.108)
For homogeneous materials, term II
4
equals term II
5
, and term II
6
vanishes. For nonhomo
geneous material properties specified through the functionally graded materials command,
WARP3D sets II
4
II
6
to zero.
In a future release of WARP3D, II
7
will include thermalstrain effects.
4.6.9 Complete Examples
The following are complete examples illustrating domain definition commands for interac
tionintegral features. Additional options for interactionintegral computations and func
tionally graded material are discussed in Sections 4.5.6 and 4.6.7.
domain domain_7
normal plane nz 1.0
front nodes 23 456 33 465 27 q3disop verify tolerance = 0.1e-3
q-values automatic rings 1-10
function type b
print totals
plane strain output for interaction integral
crack face tractions tx 1.0 ty = 1.0
output packet I J
debug driver
dump
compute domain interaction integrals
domain thin_plate
symmetry
normal plane nz 1.0
front node sets 1 2 3 l3disop verify
q-values automatic rings 5-10
function type d
print element values
output packets i j
J to K
plane stress output for interaction integral
crack face traction tz = 33.2
dump
compute interaction domain integrals
Users Guide - WARP3D Crack Growth
Chapter 5
Crack Growth Procedures
5.1 Introduction
This chapter describes commands to invoke all three crack growth procedures and additional
details of their implementation in WARP3D. The three procedures provided in WARP3D to
model crack extension are summarized below.
Extinction of Solid Elements
WARP3D provides three procedures are provided to include the eects of crack extension.
In the rst type of crack growth, termed element extinction, solid elements in the model are
deleted when a critical condition (damage) is reached under increased loading. The element
stiness is set to zero and the remaining forces exerted by the element on adjacent nodes are
relaxed to zero over a user-specied number of load steps or using a simple traction-separation
model. In this procedure the element is not topologically deleted from the model but it no longer
contributes any resistance to loading. In other codes, this technique of element extinction is
often referred to as an element death option.
Node Release
In the second type of crack growth, termed node release, an increment of crack extension along
a symmetry plane is achieved by the traditional node release procedure. When conditions for
growth are achieved, the displacement constraint holding the crack closed at that point on
the front is replaced by the corresponding reaction force, which is then relaxed to zero. The
force release process occurs over a user-specied number of steps or using a simple traction-
separation model. Elements behind the growing crack remain in the model and most often
undergo inelastic unloading and then re-yielding as the crack front continues to extend. The
node release procedures support growth along multiple crack fronts on the symmetry plane and
readily model non-uniform growth along the front, e.g., tunneling. Alternatively, the user can
request uniform growth over the thickness at each crack front; the user selects the nodes on
each front which govern growth. Currently, the conditions for growth are specied by critical
crack-tip opening angles (CTOA) for initiation and for continuation of growth. The growth
processor examines each possible CTOA value using element edges incident on an active front
node and grows the crack when any of those angles exceeds the specied critical value. The user
can also request crack extensions during the analysis irrespective of the crack growth criterion.
At the present time, only the l3disop elements are supported for crack growth using the
node release procedures. Other element types may be used to construct the nite element model
but only l3disop elements may be involved in the crack growth processing.
Cohesive Elements
The third type of crack growth procedure termed cohesive supports interface elements with the
material model type cohesive (see Chapter 3). With this approach, crack extension evolves as
Chapter 5 5.1-1 Crack Growth
Users Guide - WARP3D Crack Growth
a natural outcome of the computations. Once the cohesive tractions reduce to a small fraction
of their peak values (and displacements of the interface elements grow large), the element
extinction procedures eectively remove the element from the model and initiate the process
to relax the remaining (small) nodal forces to zero over a xed number of subsequent load
increments. This nal process generally occurs simultaneously over several interface elements
and concurrently with continued, global loading of the model. This completes the process to
create new, traction-free surfaces in the model.
An extinct interface element remains topologically in the model but makes no contribution
to the response (it has no stiness and contributes no nodal forces). For crack extension along
symmetry planes, the crack growth processors impose new displacement constraints as needed
on nodes of extinct interface elements to prevent singular solutions.
Chapter 5 5.1-2 Crack Growth
Users Guide WARP3D Element Extinction
5.21 Chapter 5 Crack Growth
5.2 Crack Growth by Element Extinction (element death)
Elements are effectively deleted from the solution when a userspecified level of damage
develops under increased loading. During subsequent load steps, the element stiffness is
taken as zero and the nodal forces exerted by the element on adjacent nodes are relaxed
to zero over: 1) a userspecified number of load steps or 2) a simple linear, tractionsepara
tion model. The presently available measures of damage include: (1) attainment of a critical
void fraction, f, in elements which have the GursonTvergaard dilatant plasticity material
model (type gurson), and (2) attainment of a critical plastic strain defined by the stressmo
dified critical model in elements which have the mises (J
2
) plasticity material model (type
mises).
The user actions required to invoke the element extinction option during an analysis
are:
D specify the logical property killable in the definition of a material that invokes the gurson
or mises material model (in the same analysis, there can be other materials using the
gurson and mises model that do not have the killable property).
D following the procedures for other nonlinear analyses, define the finite element model,
loading, constraints and nonlinear solution parameters.
D use the commands described subsequently in this section to define parameters controlling
the crack growth procedures (critical porosity, critical plastic strain, number of release
steps, printing options, etc.). These parameters are specified in a manner analogous to
specification of the nonlinear solution parameters; some crack growth parameters may be
altered during the analysis as noted in the command descriptions that follow.
D use various combinations of compute and output commands to control the nonlinear solu
tion over load steps. The crack growth procedures are automatically invoked by solution
management routines in WARP3D.
D the analysis restart features of WARP3D fully support crack growth modeling. Restart files
contain the values of growth parameters and the solution state required to continue an
analysis with crack growth.
5.2.1 Damage Criteria
GursonTvergaard Model (GT)
For this damage model, element extinction takes place when the current void fraction, f,
reaches a userspecified critical value, f
c
. The present implementation of the GT model lim
its the ``failure" condition to a triaxiality independent, critical void fraction. Typical values
of f
c
for structural and pressure vessel steels are 0.1-0.25, compared to initial void frac
tions, f
0
, of 0.0005-0.005. The current value of f for comparison to f
c
is obtained from the
simple average of the element Gauss point values.
StressModified Critical Strain (SMCS)
For this damage model, element extinction takes place when the equivalent plastic strain,

p
, reaches a critical value computed with the SMCS criterion, i.e.,

p
c
+aexp*b
s
m
s
e
(5.1)
where a and b are userspecified, material dependent constants; s
m
denotes the mean
stress and s
e
denotes the Mises equivalent stress. Most often b is taken equal to 1.5 in ac
cord with the continuum hole growth model of Rice and Tracey [84]. Mackenzie, et al. [61]
and Hancock and Cowling [35] proposed the above form of the SMCS model based on exper
imental studies of notched tensile specimens (steel). Panontin and Shepard [79] describe
Users Guide WARP3D Element Extinction
5.22 Chapter 5 Crack Growth
a complete study of the calibration process to estimate a and b from notchedtensile data
for an A516 pressure vessel steel and an HY 80 steel. Their work focuses on applying the
SMCS model to estimate geometry effects on J
Ic
. For their A516 material, they found
a+1.996 and b+1.5, and for HY 80 they found a+3.865 and b+1.5.
The values of s
m
, s
e
, and
p
used to evaluate Eq. (5.1) are obtained from the simple
average of the element Gauss point values.
5.2.2 General Input Commands
The sequence of commands to initiate the definition of crack growth parameters is
crack (growth) (parameters)
type (of) (crack) (growth)
none
(element_extinction) gurson
(element_extinction) smcs
where none turns off subsequent element extinction during the analysis. Once elements
have been made extinct in an analysis and the option none is given, further crack growth
cannot then be reinvoked. To temporarily suppress further growth, the simplest (and rec
ommended) procedure is to modify critical values of the damage criteria. Note: use of the
none option immediately suppresses any further crack growth processing if elements are
in the process of being killed, the reduction to zero of element forces described in Section
5.2.7 will not be completed.
The keyword gurson invokes element extinction based on attainment of a critical poros
ity, f, in killable elements associated with the GT material model. The keyword smcs in
vokes element extinction based on attainment of a critical plastic strain,
p
, in killable ele
ments associated with the mises material model. Note: only one type of damage criterion
may be specified in an analysis and it cannot be changed to another criterion during the
analysis.
When the element damage first exceeds the specified limit, the element ``internal" forces
are imposed on adjacent nodes in the model as nodal forces. The values of these forces de
crease linearly to zero over 1) a number of sequential load steps or 2) a linear tractionsepa
ration model. The element stiffness is immediately set to zero and remains zero for all sub
sequent load steps. Input commands to describe the force release models are described in
a subsection below.
The element extinction procedures provide a convenient printing option to simplify in
terpretation of the growth process. The command has the form
( order (elements)< element list:integerlist > )
print (status)
off
on
where the keyword on or off is required. An optional list of elements previously marked kill
able may be specified for processing. If no list is given, all elements having a gurson or mises
material model, and with the killable property, are included in the list (in ascending numer
ical order). When the optional list is given, information is printed for elements in the order
specified in the list.
At the beginning of each load step when this printing option is on, a tabular summary
of the current status is printed for each element in the list. For the gurson damage criterion,
Users Guide WARP3D Element Extinction
5.23 Chapter 5 Crack Growth
the following values are provided: initial porosity ( f
0
), current (average) porosity (f), aver
age plastic strain in the matrix material (
p
), average equivalent stress in the matrix mate
rial (s), average macroscopic mean and mises stress. For the smcs damage criterion, the
following values are provided: the average plastic strain in the element (
p
), the current
value of critical plastic strain defined by the smcs criterion (
p
c
), average mean stress in the
element (s
m
) and the average (Mises) equivalent stress in the element (s
e
). Additionally,
if automatic load reduction is enabled (see section 5.2.4), the table includes the increase in
the current growth parameter over the last step; if the gurson damage criterion is used, the
increase in average porosity is printed, while the increase in average plastic strain in the
element is output if the smcs criterion is specified.
To prevent excessive amounts of output, information is printed only for those elements
with fuf
0
(gurson model) or
p
u0(mises model).
By default, every element eligible to be made extinct is processed without regard to any
specific topological order. In some cases, it may be desirable to force extinction of elements
in prescribed topological order. To specify this feature, use the command
( order < element list:integerlist > )
sequential (extinction)
off
on
where the use of this feature is invoked/suppressed with the required onoff keyword. The
optional list provides the topological sequencing of elements to be made extinct. For exam
ple, if the second element in the list reaches the critical damage parameter prior to the first
element in the list, then both the first and second elements in the list are made extinct si
multaneously. When the list is omitted, the topological ordering is taken to be ascending
numerical sequence by element number for all elements in the model with the killable ma
terial property.
5.2.3 Damage Criteria Commands
For the gurson damage criterion, the porosity value at which element extinction occurs, f
c
,
is specified by the command
critical (porosity) < porosity limit:value >
The average porosity at the Gauss points for each killable element with a gurson material
model is compared with the specified critical value at the beginning of each load step. When
the average value first exceeds the porosity limit, the element extinction process begins for
that element. The default value for critical porosity is 0.20.
For the smcs damage criterion, the user specifies values for the material dependent pa
rameters, a and b, with commands of the form
alpha < value >
beta < value >
The current plastic strain is compared to the computed critical plastic strain for each kill
able element with a mises material model at the beginning of each load step. The compari
son is made using single point values obtained from the average of Gauss point values.
When the average value first exceeds the critical strain, the element extinction process be
gins for that element. Default values are: a+1.0 and b+1.5.
Users Guide WARP3D Element Extinction
5.24 Chapter 5 Crack Growth
5.2.4 Adaptive Load Control (gurson criterion)
When load steps are too large, element extinction may occur too rapidly, which allows the
force release process to affect adversely the stressstrain history of material ahead of the
crack front. The history effects may cause difficulties in Newton convergence of the global
solution, or may cause JDa curves to be too high, too low, or to oscillate. To alleviate this
problem for damage described by the GursonTvergaard constitutive model, WARP3D pro
vides an adaptive load control feature that automatically decreases (or increases) subse
quent load step sizes based on the rate of porosity increase in the model. The adaptive algo
rithm operates as follows:
S At the beginning of each load step, the adaptive code locates the element that experienced
the maximum porosity growth during the previous load step. This maximum porosity
change is denoted Df
max
. If no Gurson elements have been killed, the adaptive code exits (i.e.,
this adaptive code operates only after the first Gurson element has been deleted).
S If Df
max
exceeds the allowable change specified by the user (Df
max
uaf
c
), the adaptive code
estimates and applies a reduction factor to the incremental loading levels in subsequent
load steps such that the estimated Df
max
[0.8af
c
. Here the user specifies the value of a
during input of the crack growth parameters (see command below). Typical values for a
range from 0.005-0.10, with a+0.02 often used as an applicable value for a wide range of
materials.
S Similarly, the adaptive code increases the incremental loading applied in subsequent steps
when Df
max
is found to be much smaller than af
c
. Load increases are triggered when Df
max
is less than 0.5af
c
for at least 3 consecutive load steps. When this situation occurs, the
load step size increases to make Df
max
[af
c
, but in no case is the load step size increased by
more than a factor of 2 immediately.
As a result of this adaptive algorithm, the user specified load steps sizes are adjusted (up
and down) continually during the analysis to maintain a target Df
max
[af
c
in each load step
of the crack growth analysis.
The command to request this adaptive load control for the gurson criterion is:
[ (maximum) porosity (change) <real> ] adaptive (load) (control)
off
on
where <real> denotes the value of a. By default, Df
max
+0.1f
c
(0.1 as the input value
above) and the adaptive load control algorithm is off.
The adaptive load control here is independent of (and in addition to) the adaptive load
control implemented to assist convergence of the (global) Newton iterations performed at
each load step to solve the nonlinear equilibrium equations. Displacement extraolation
should not be used with adaptive load control, i.e., set extrapolate off in the nonlinear solu
tion parameters.
We strongly recommend the use of adaptive load control based on porosity changes per
step as described above.
5.2.5 Automatic Load Reduction (smcs criterion)
When load steps are too large, element extinction may occur too rapidly, which allows the
force release process to affect adversely the stressstrain history of material ahead of the
crack front. The history effects may cause difficulties in Newton convergence of the global
solution, or may cause JDa curves to be too high, too low, or to oscillate. To alleviate this
Users Guide WARP3D Element Extinction
5.25 Chapter 5 Crack Growth
problem, WARP3D provides a feature to reduce automatically the load step size based on
the change within a load step of the appropriate crack growth parameter. The reduction
algorithm operates as follows: consider a killable element on the crack plane. If the parame
ter used as the growth criterion increases more than a userspecified amount in a single
load step, the growth processor sets a permanent 50% reduction on all future load step
sizes. This 50% reduction repeats as needed in subsequent steps until the maximum incre
ment of growth parameter is not exceeded within a load step.
For the smcs model, a userspecified increment of plastic strain within a step provides
the criterion for load reduction (D
p
uD
p
crit
). Use of a load reduction parameter which is
too stringent forces the load steps to become unnecessarily small, while the use of a lenient
reduction parameter may not completely eliminate history effects; trial and error is re
quired to determine proper values. To assist in choosing reduction values, WARP3D prints
the change in the growth parameter after each step for all killable elements if the print sta
tus flag is set to on. Note that appropriate reduction values may be dissimilar between anal
yses with different geometries, loadings, or material characteristics.
The command to request automatic load reduction for the smcs criterion is:
[ (maximum) (plastic) strain (change) <real> ]
automatic (load) (reduction)
off
on
where <real> denotes the maximum allowable increase of the average plastic strain in the
element (
p
) within a load step. Note: this is a specific strain increment. By default, the max
imum increase in plastic strain is 0.01 and the load reduction algorithm is off.
This load reduction algorithm never increases the load step size used in subsequent load
steps even though the reduction may no longer be needed. The solution parameters input
for the analysis provides a command (Section 2.10.13) which lets the user reset this global
load reduction factor to any desired value, i.e., resetting to 1.0 forces the solution to contin
ue with the userdefined load step sizes.
5.2.6 Extinction Algorithm
At the beginning of each load step n (n>1), and each adaptive substep, the average value
of the damage parameter is computed for each killable element in the model. When the ele
ment conditions are such to require extinction (achieved the critical value of the damage
parameter or the sequential ordering feature dictates extinction even when the critical
damage value is not yet attained), the following actions are taken:
D Young's modulus and Poisson's ratio for the element are set to zero. The element history
data is deleted (porosity, plastic strain, stresses, etc.).
D Element contributions to the global internal force vector are applied as nodal forces. All
subsequent contributions of the element to global equilibrium are zero. The element inter
nal force vector when extinction begins is gradually decreased to zero in a linear fashion
over subsequent load steps. Because the element forces are converted into nodal forces and
treated thereafter as ordinary (userspecified) forces, the (global Newton) adaptive step al
gorithm is unaffected by crack growth and often proves essential for obtaining converged
solutions following a growth increment.
D All subsequent computations for the element stiffness (linear or tangent) resolve to a zero
matrix.
D When all elements connected to a node are made extinct, the node has no stiffness and
introduces a singularity into subsequent equation solving efforts. To prevent this, the ele
Users Guide WARP3D Element Extinction
5.26 Chapter 5 Crack Growth
ment extinction procedures track the number of elements attached to model nodes at any
time and automatically supply new constraints on ``free" nodes to eliminate the singularity.
D The blocking requirements dictate that all elements in a block must be killable. When a
new element is made extinct in a block, checks are made to determine if all elements in the
block have been made extinct; computations on such blocks may be completely skipped in
subsequent load step solutions.
5.2.7 Release Models for Element Forces
The simplest procedure to relax internal nodal forces for a newly extinct element employs
a fixed number of load steps. The commands to specify this option are
force (release) (type) steps
release (steps) < integer >
This force release model is the default option and can be used to render extinct any element
in the model, whether or not it lies on the crack plane. The default value is 5 steps. The num
ber of release steps cannot be altered once any elements have been made extinct. A com
plete example of crack growth input using this force release procedure is:
crack growth parameters
type of growth element_extinction gurson
force release type steps
release steps 10
critical porosity 0.25
print status on order 2080 by 2
sequential extinction on order 2080 by 2
adaptive load control on maximum porosity change 0.05
While the above procedure is simple, computed solutions often exhibit an undue depen
dence on the number of load steps employed in the analysis. When large load steps are de
fined, for example, the above procedure (with release steps > 1) artificially restrains open
ing of the crack faces. In analyses with very small load steps, the element internal forces
may be reduced to zero too quickly.
To place the force release process on a more physical basis, a linear tractionseparation
model is provided. Figure 5.1 illustrates this model using a 2D schematic. In Fig. 5.1 (a),
let D denote the undeformed height normal to the crack plane of a typical ``cell" element
(such elements are often square or nearly so). When this element reaches the critical poros
ity, the average deformed height normal to the crack plane is denoted D
0
, as indicated in
Fig. 5.1 (b). This value is computed using the average displacement normal to the crack
plane of the four nodes on the ``top" face of the element. During subsequent load steps, the
newly extinct element continues to elongate normal to the crack plane, with the average
deformed height denoted D, as shown in Fig. 5.1 (c). The internal forces present in the ele
ment at extinction are reduced to zero in a linear fashion with subsequent increases in
D uD
0
. At any load step after attaining the critical damage state, the remaining fraction
of internal forces applied to nodes of the extinct element, g, is given by
g +1.0 *
D * D
0
lD
(0 vg v1) (5.2)
where a typical value for the release factor, l, is 0.1.
Users Guide WARP3D Element Extinction
5.27 Chapter 5 Crack Growth
FIG. 5.1TractionSeparation Model for Release of Extinct Element Forces
Normal to Crack
Plane
D
D
0
D
c) Subsequently Deformed Mesh
and Height D
a) Undeformed Mesh Showing
Initial Cell Height, D Value Damage and Height D
0
g
lD
D*D
0
1
0
0
g+fraction of extinct element
forces remaining on nodes
after critical damage attained
d) Linear Traction *Separation
Model
b) Deformed Mesh at Critical
Input commands to specify the tractionseparation model are thus:
force (release) (type) traction(-separation)
release (fraction) < l factor:number>
crack (plane) normal coordinate <number>
x
y
z
cell height < D dimension:number>
To support general element meshing, the normal direction to the crack plane may be any
one of the coordinate axes and the position of the crack plane may be nonzero. Default val
ues are not supplied for the crack plane normal direction or cell height; users must explicitly
define values for these parameters. The default value of l is 0.1. A complete example of
crack growth input using the tractionseparation model is:
Users Guide WARP3D Element Extinction
5.28 Chapter 5 Crack Growth
crack growth parameters
type of growth element_extinction smcs
release type traction-separation
cell height 0.004
crack plane normal y coordinate 0.0
release fraction 0.2
alpha 0.95
beta 1.5
print status on order 20-80 by 2
automatic load reduction on maximum plastic strain change 0.04
sequential extinction on order 20-80 by 2
5.2.8 Meshing Restrictions
The automatic procedures implemented to render elements extinct impose restrictions on
the element mesh layout along the initial crack front and along the roots of sidegrooves.
Figure 5.2 illustrates the recommended mesh design in a plane normal to a general 3D
crack front. Crack extension occurs in the X
c
direction on this figure; Z
c
is tangent to the
crack front. It is essential that no other elements connect to the ``front nodes" except the
those along the front indicated by the letter A. A traditional ``focused" mesh at the initial
crack tip can be used only if a small keyhole remains so that the topological requirement
shown in the figure remains satisfied. If needed for convenience in mesh construction, ele
ments on the initial crack face ( Y
c
+0) below B shown on the figure can be included in the
model. Such an arrangement defines a oneelement, square keyhole at the initial tip.
A similar topological requirement must be satisfied at the roots of side grooves. The fig
ure shows a ``square" shape for the root of the sidegroove with the ``radius" of the root given
by the Y
c
dimension of elements A. No other elements except those indicated by A can be
connected to the indicated nodes along the sidegroove root.
Both the crack front and sidegroove root restrictions on mesh topology arise from the
connectivity counting used in the extinction algorithm. Consider the crack front elements
A shown in the top figure. The crack growth processor maintains a count of the number of
elements connected to each node of the model. As the A elements are made extinct, the
number of elements connected to the nodes are decremented. When the ``count" for a node
reaches zero, the crack growth processor inserts new displacement constraints into the da
tabase which fully constrain subsequent movement of the node; when the count reaches
zero, there are no elements with remaining stiffness attached to the node and a singular
solution would otherwise result. If regular elements (no damage allowed) are defined to the
left of A in the top figure, the count for the front nodes never reaches zero, and those ele
ments suppress opening of the tip.
Users Guide WARP3D Element Extinction
5.29 Chapter 5 Crack Growth
FIG. 5.2Topological Restrictions on Meshes for Element Extinction
Initial Crack Length Direction of Crack Growth
Crack Front Nodes
Y
c
X
c
Z
c
b) Recommended Mesh at Root of SideGrooves
A
General Curved
Crack Front
B
Z
c
X
c
Z
c
X
c
Y
c
A
Modelled 1/2 Width
of SG Root
Nodes Along Root
of SG
1/2 of
Included SG
Angle
a) Recommended Mesh in Plane Normal to Crack Front
User's Guide - WARP3D Node Release
5.3-1 Chapter 5 Crack Growth
5.3 Crack Growth by Node Release
In crack growth by node release, WARP3D releases constraints applied to nodes on the
crack front after a userspecified level of deformation, thereby creating new, tractionfree
crack surfaces. The presently available measure of deformation is the opening angle of the
crack faces at each crack front node (CTOA). During subsequent, userspecified load steps,
the forces previously exerted by the constraints normal to the crack plane (reactions) relax
to zero over a userspecified number of load steps, or through a simple, linear tractionsepa
ration law.
Strategies for node release generally follow one of two approaches: (1) the userspecified
external loads and displacement boundary conditions remain fixed while additional load
steps relax the reaction forces to zero on newly unconstrained nodes, or (2) the external
loads and displacement boundary conditions continue to change according to the userspe
cified values during subsequent load steps concurrent with the relaxation of reaction forces
on newly unconstrained crack front nodes. WARP3D adopts the second strategy for two rea
sons: (1) it more closely models the physical process of crack growth thereby minimizing the
effects of artificial unloading of the material, and (2) the computation time decreases dra
matically by eliminating the additional release" steps. Numerical studies reveal negligible
differences in solutions with the two strategies.
The node release procedures permit very general, nonuniform (Mode I) growth along
initially straight or curved crack fronts located in plates, pipes, pressure vessels, etc. Multi
ple, initial crack fronts may exist and are detected automatically by the crack growth proc
essors. Crack fronts may grow to coalesce thereby merging two or more smaller cracks into
a larger crack.
The crack growth processors also provide the option to enforce topologically uniform
growth along each crack front. The user specifies a master" node on each initial front; the
CTOA at the initial and subsequent master nodes governs when that entire front advances.
Again, multiple initial crack fronts may exist and they may grow to coalesce thereby merg
ing smaller cracks into fewer, larger cracks. No requirement is imposed on the shape" of
the initial and subsequent crack fronts. They must be topologically" consistent same
number and type of elements along the front at each crack advance. This capability enables
strong 3D effects to influence the evolution of CTOA with loading while maintaining a sim
pler model for crack extension, e.g., to model crack extension in very thin materials. In this
enforced uniform growth approach, the CTOA is computed at a userspecified, fixed dis
tance behind each current crack front. The distance may or may not coincide with a node
location. The crack front advances in increments of this same distance, which may repre
sent multiple elements ahead of the current front location. Numerical experiments demon
strate this approach produces very wellbehaved solutions and affords the option to investi
gate convergence of crack growth solutions with mesh refinement. With the introduction
of a fixed distance behind the front at which to compute the CTOA, the mechanics of growth
become divorced from the specifics of the element sizes. The user can specify a different dis
tance for the initiation of growth and for continued growth (this enables initial crack growth
to occur at a specified CTOD).
Finally, with both the general 3D and the topologically uniform growth capability, the
user can explicitly request crack growth at any time through a simple command. Such a
feature proves convenient, for example, to model fatigue crack growth through node release
when a growth criterion" is not actually employed in the analysis.
Crack growth by node release requires these user actions:
User's Guide - WARP3D Node Release
5.3-2 Chapter 5 Crack Growth
D following the procedures for other nonlinear analyses, define the finite element model,
loading, constraints and nonlinear solution parameters. The model must follow some spe
cific geometry guidelines, which are given below.
D use the commands described subsequently in this section to define parameters controlling
the crack growth procedures (critical angle for release, number of release steps, etc.). The
specification of these parameters is analogous to the nonlinear solution parameters; some
crack growth parameters may be altered during the analysis as noted in the command de
scriptions that follow.
D use combinations of compute and output commands to control the nonlinear solution over
load steps. The solution management routines in WARP3D automatically invoke crack
growth procedures.
D the analysis restart features of WARP3D fully support crack growth modeling. Restart files
contain the values of growth parameters and the solution state required to continue an
analysis with crack growth.
To assist the user in performing fracture analyses, additional features are provided by the
crack growth processors. These address the proper specification of load increments and
sizes during crack growth. Because the applied load is discretized into finite size increments
(load steps), analysts often cannot estimate a priori load step sizes so as not to overshoot"
the critical CTOA value by an unacceptably large amount. Similarly, the crack growth pro
cess introduces the possibility of strong history effects on stressstrain fields ahead of the
crack front. If crack growth occurs over too few load steps, the solution may show an effect
due to an insufficient number of load steps. The automatic procedures implemented in the
WARP3D crack growth processors resolve these two problems.
5.3.1 Geometry Requirements
The procedures for automatic node release impose several restrictions on the geometry of
the model.
S Cracks exist initially and propagate within a plane which must be normal to one of the
coordinate axes.
S The crack plane must also be a symmetry plane. The crack must open" in the positive
direction of the coordinate axis that defines the normal plane.
S Consider all the nodes on the crack plane. Nodes initially unconstrained in the normal
direction define the initial crack shape. Constrained nodes which share an element edge
with one or more unconstrained nodes define the crack front.
S At least one node on the crack plane must be left unconstrained, otherwise no crack
growth can occur.
S Multiple crack fronts can exist on the crack plane.
S Currently, the node release algorithm does not support focused meshes which use col
lapsed elements at the crack tip.
At present, only l3disop elements (8node bricks) may be defined over the portion of the
crack plane involved in the node release procedures. The model may contain 20node ele
ments and transition elements elsewhere in the mesh, but not over that portion of the crack
plane involved in the crack growth process.
NonUniform Growth Along a Front
Figure 5.3 illustrates a simple arrangement for crack growth by node release in which the
initial crack front geometry varies strongly. This also illustrates a possible configuration
after some amount of nonuniform growth from an initially straight crack front. Here, the
User's Guide - WARP3D Node Release
5.3-3 Chapter 5 Crack Growth
Crack Symmetry Plane
Crack Face
X
Z
Y
c
d
b a
Initially unconstrained nodes
Initially constrained nodes (w+0)
Crack front nodes (constrained)
FIG. 5.3Example Crack for General Node Release Crack Growth.
z direction coincides with the crack plane normal; filled and unfilled circles indicate crack
plane nodes. The three unconstrained nodes on the crack plane (unfilled circles) define the
initial crack (shaded area) with the corresponding five crack front nodes (shaded circles).
The unconstrained node a, for example, makes nodes b and d lie on the crack front. Node
c is not on the crack front since it does not share an element edge with any unconstrained
node on the crack plane.
This crack growth process as implemented in WARP3D is quite general. For example,
it easily models nonuniform crack growth along an initial semielliptical surface flaw in
a flat plate, pipe, pressure vessel, etc. Moreover, multiple crack fronts are detected auto
matically by the growth processors and the cracks may grow to coalesce during the loading
process.
Topologically Uniform Growth Along a Front
A less general capability is also implemented for those situations requiring topologically
uniform growth along a front, e.g., to model growth in thin materials where very local 3D
effects at the front can influence the CTOA but where growth is satisfactorily represented
as uniform over the thickness. In such cases, the number of elements defined over the crack
front in the model must remain fixed from one increment of growth to the next. Consider,
for example, a thin plate modeled with five, variable thickness layers of 8node elements
over the initial crack front. After each increment of growth, there must always be five simi
lar layers of elements. The element sizes connected to the master nodes in the direction of
crack growth at each front should be maintained at a constant value in the mesh. The crack
fronts may be initially curved and change curvature (due to mesh variations) as the crack
advances. At locations on the crack plane beyond the growth region, the mesh can be transi
tioned to other configurations and types of elements over the thickness. With this restricted
growth model, multiple initial cracks may be defined and those cracks may also grow to co
alesce.
User's Guide - WARP3D Node Release
5.3-4 Chapter 5 Crack Growth
5.3.2 Input Commands
The following commands initiate the definition of parameters for crack growth by node re
lease:
crack (growth) (parameters)
type (of) (crack) (growth)
none
node release
where none turns off subsequent node release during the analysis. Unlike the element ex
tinction algorithm, crack growth by node release can be turned on and off at any time. Crack
growth by node release and crack growth by element extinction cannot both be used in a
single analysis. Note: use of the none option immediately suppresses crack growth process
ing if nodes are in the process of being released, the reduction to zero of node reactions
described in Section 5.3.3 will not be completed.
The node release algorithm requires specification of the crack plane. The command to
describe the crack plane is
crack (plane) normal coordinate <number> (search (tolerance) <value>)
x
y
z
where x, y, or z denotes the direction of the normal to the plane, and <number> sets the posi
tion of the plane relative to the origin (e.g. the command crack plane normal z coordinate
5.0 describes the plane z+5.0). Note: the crack opening" displacements must be positive
in the direction of the crack plane normal. This command has no default; without a crack
plane definition, program execution terminates at the next compute command. The search
process employs a tolerance to eliminate the potential effects of roundoff errors. The coordi
nates must match to within the user specified tolerance of crack plane normal coordi
nate(") search tolerance. If not specified, search tolerance+10
*5
. When the crack plane
normal coordinate has a zero value, the relative search tolerance value becomes an absolute
tolerance value.
Critical Angles for Growth NonUniform Growth Along a Front
The processors release a crack front node when the crack tip opening angle (CTOA) at the
node is within 1% of a critical value. WARP3D requires two critical angles; one for initiation
of crack growth (initiation angle) and one for continued growth (release angle). The initia
tion angle only applies to nodes on the initial crack front, while the release angle applies to
nodes added to the crack front as it evolves; this simulates the difference in the deformation
required for crack initiation and continued growth. The commands for specifying these crit
ical angles are:
angle (for) release < critical angle:value >
angle (for) initiation < critical angle:value >
constant (front) growth off
where <critical angle> has units of degrees. Note that the values describe the full angle at
the crack tip, and thus are twice the angle from the model to the crack plane. The critical
User's Guide - WARP3D Node Release
5.3-5 Chapter 5 Crack Growth
angles have no default value, and cause WARP3D to stop at the next compute command
if not set.
The node release processors compare the appropriate critical angle with the current
opening angle for each crack front node. If a crack front node has several opening angles
(i.e., shares element edges with multiple unconstrained nodes), the processors compare
each angle with the critical value. Computation of the current opening angle proceeds as
follows (see Figure 5.4): Consider crack front node a and the corresponding unconstrained
node b. Construct a line through nodes a and b. Find the angleQ
1
between the constructed
line (ab) and the projection of the constructed line in the crack plane (ad); this angle is
half of the current opening angle. Repeat this process for nodes bc. If 2Q
1
u(0.99critical
CTOA), the processors release the constraint on node a. If 2Q
2
u(0.99critical CTOA), the
processors also release the constraint on node c.
b
a d
c
FIG. 5.4Computation of Crack Tip Opening Angles.
CTOA
1
+2Q
1
CTOA
2
+2Q
2
Q
2
Q
1
When any of the opening angles at a crack front node exceed 0.99the specified critical
value, the crack growth processors release the constraint on that node in the normal direc
tion of the crack plane; other constraints, if any, remain unchanged. After releasing the
node, the processors convert the nodal reaction force in the normal direction into a nodal
applied force, which decreases linearly to zero either over a number of sequential load steps
or using a simple tractionseparation law. Multiple nodes can be in various stages of release
at any time. A subsequent section gives the commands that describe the force release mod
els.
Critical Angles for Growth Topologically Uniform Growth Along a Front
In some modeling situations, the enforcement of topologically uniform growth along a crack
front becomes desirable, e.g., growth in very thin materials. In such cases, the user specifies
a single master" node for each initial crack front. The crack growth processors then locate
all adjacent nodes on each of the crack fronts (using only topology information to enable
models with initially curved crack fronts). The CTOA at a userspecified distance behind
the front of each master node is monitored to govern the crack growth process. When the
CTOA for a master node reaches the critical value, all nodes on that front are released si
multaneously. The corresponding master node on the new crack front is located automati
cally by the growth processors. This process repeats (immediately) until the crack front ad
vances a distance equal to the same distance behind the front at which the CTOA is com
puted (to the nearest whole element size). To enable such automatic processing, the number
of nodes along the new crack front must be identical to the number before growth. WARP3D
User's Guide - WARP3D Node Release
5.3-6 Chapter 5 Crack Growth
requires that the user specify as input the number of crack front nodes to support error
checking and automatic updating of master node lists. The commands to invoke uniform
growth are:
constant (front) growth on
<master nodes: integer list> master (node) list
<integer> number (of) nodes (along) front
where this capability is off by default. The constant growth command must precede the re
maining two commands. If invoked, both the master node list and the number of front nodes
must be specified. One master node is required per initial crack front. The ordering of mas
ter nodes in the <list> is immaterial. The overshoot control features described below key
only on the master nodes when uniform growth is enforced.
The commands to request uniform growth must follow specification of the crack plane
normal. This enables immediate consistency checking and validation.
For enforced uniform growth, WARP3D computes the CTOA for each crack front master
node at a userspecified distance behind the front. The specified distance does not need to
correspond to a node location. The uniform front extension makes possible this very desir
able modeling capability. The angle for release commands are modified as follows to support
enforced uniform extension:
angle (for) release < critical angle:value > distance <value>
angle (for) initiation < critical angle:value > distance <value>
where the distances specified for initiation and growth may be different. The different value
for initiation proves convenient to set the criterion for initial growth using a critical value
of the CTOD, for example, based on the usual 90degree intercept definition of CTOD. To
define this situation, set the distance as 0.5the critical CTOD and the initiation angle as
90degrees.
In the above discussion, let L
c
denote the distance behind the crack front at which the
CTOA is computed (L
c
is the distance value specified in the above two commands). Whenev
er crack growth occurs, the front is advanced this same distance forward in a single node
release process. Generally, the distance L
c
corresponds to a multiple of the element dimen
sion, denoted L
e
, on the crack plane in the direction of crack advance. This is not required
but it is most often the case so that the CTOA is computed at a node location. To enable
WARP3D to allocate necessary data structures and to perform consistency checks, the code
needs the value for L
e
. This information is specified with the command
characteristic (length) < length:number>
where L
e
pL
c
. When L
c
is a simple multiple of L
e
, the crack advances by L
c
L
e
whole ele
ments in the direction of growth during each release process. When L
c
is not a simple multi
ple of L
e
, the crack advances by the nearest whole number of elements. If L
c
L
e
+1.4, for
example, the crack front advances one element forward; if L
c
L
e
+1.6 the crack advances
two elements forward, etc.
User's Guide - WARP3D Node Release
5.3-7 Chapter 5 Crack Growth
Crack Growth on Demand Without Specifying Critical Angles
In some modeling situations, users may desire to force crack growth immediately before the
next load step of the analysis irrespective of the crack growth criterion. This capability
proves convenient, for example, to model fatigue crack growth by node release. Most often,
the user grows the crack at a fixed point during the load cycle, irrespective of the actual
CTOA values. To force an immediate crack growth by standard node release at all current
front nodes on all crack fronts, insert the following command sequence before a load
step:
crack growth parameters
enforce node release (next) (load) (step)
This command remains active only for the subsequent load step. Thereafter, the crack
growth processor resumes the normal operation of examining current CTOA values vs. crit
ical CTOA values. The above command sequence may be used repeatedly as desired.
The recommended setup of the crack growth parameters for use of this enforced release
capability is:
S Set the critical angles for initiation and continued growth to have very large values, e.g.
100.
S Use the step release method to relax reaction forces on newly released nodes (use of the
traction separation method for forced growth is complex due to the changing angles)
S The overshoot and loadreduction features are not applicable for this type of analysis.
They should not be included in crack growth parameters.
S Insert (and repeat) the two command sequence above before each step during which an
enforced node release is required
The following input shows a simple example of this setup.
!"#!$ &"'()* +#"#,-)-".
)/+- '0 &"'()* 1'2-3"-4-#.-
!"#!$ +4#1- 1'",#4 5 !''"261#)- 787
!'1.)#1) 0"'1) &"'()* '1
,#.)-" 1'2- 46.) 9:7;
1<,=-" '0 1'2-. #4'1& 0"'1) >
#1&4- 0'" "-4-#.- ;7787 26.)#1!- ;87
#1&4- 0'" 616)6#)6'1 ;7787 26.)#1!- ;87
!*#"#!)-"6.)6! 4-1&)* 987
0'"!- "-4-#.- )/+- .)-+.
"-4-#.- .)-+. ?
'@-".*'') !'1)"'4 '00
#<)',#)6! 4'#2 "-2<!)6'1 '00
+"61) .)#)<. '1
8
8
!',+<)- 26.+4#!-,-1). 4'#261& )-.) .)-+ ?7
!"#!$ &"'()* +#"#,-)-".
-10'"!- 1'2- "-4-#.- 1-A) .)-+
!',+<)- 26.+4#!-,-1). 4'#261& )-.) .)-+ ?;B;77
8
8
In this above example, node release takes place only before the solution for step 51.
User's Guide - WARP3D Node Release
5.3-8 Chapter 5 Crack Growth
Overshoot Control
Analyses conducted using large load step sizes may experience significant overshoots" of
the critical angle before the crack growth processors detect the event at the beginning of
the next load step. For example, if the critical angle is 10_, large step sizes may cause node
release at some angle larger than 10_, due to the discretization of the loading path into fi
nite size load steps. The crack growth processor includes a mechanism to reduce this over
shoot error" of the CTOA at release. The mechanism predicts the change in CTOA for each
crack front node over the next step by extrapolating the previous step value, based upon
the userspecified load increment (the numeric multiplier" in the step definition). If the
predicted angle exceeds a specified percentage of the critical angle, the growth processors
reduce the loading multiplier by the amount required to eliminate the overshoot. However,
the nonlinearity of the solution makes this only an approximate process. The procedure per
forms this computation at all crack front nodes and uses the largest reduction found. A limit
on the load reduction may be specified to avoid excessively small load steps. This process
executes prior to the actual solution for a load step and simply scales the incremental loads
(and nonzero constraints). Consequently, the adaptive load step algorithm used to enhance
convergence of the Newton iterations remains fully available if needed by the process that
directs the solution for a load step.
The commands to request overshoot control are:
percent (overshoot) <overshoot_limit: value>
minimum (reduction) <reduction limit: value>
overshoot (control)
off
on
where <overshoot limit> specifies the maximum allowable overshoot as a percentage of the
critical angle, and <reduction limit> specifies the smallest allowable load factor expressed
as a percentage of the original load step size. By default, the overshoot control mechanism
is disabled. When activated with the above command, the default value for maximum over
shoot is 2.0 (i.e., 2.0%), and the minimum load reduction is 10.0 (i.e., 10.0%).
Numerical testing shows that overshoot control is highly effective in planestrain mod
els and in 3D models with enforced uniform growth along the crack fronts. However, it can
be less effective in general 3D crack growth when nodal force release follows the traction
separation model coupled with a small release fraction (b). This follows because multiple
nodes can be in various stage of release along each crack front with strong, nonlinear inter
actions between them as the remaining force decreases to zero. The use of bvalues in the
0.30.5 range, or smaller load steps, improves the ability of the mechanism to reduce the
overshoot error in 3D.
Control of Simultaneous Node Releases
When load steps are too large, only one or two steps may occur between consecutive node
releases (with or without overshoot control). This may allow the force release process to af
fect adversely the stressstrain history of material ahead of the crack front. To alleviate this
problem, WARP3D provides a feature to reduce automatically the load step size based on
the number of load steps between consecutive node releases. The reduction algorithm oper
ates as follows for general 3D growth. Consider a current crack front node with several
neighbors having opening angles larger than the critical value for release. If the number
of load steps since each of these neighbors were released is less than a userspecified value,
the growth processor sets a permanent 50% reduction on all future load step sizes. This 50%
reduction may occur any number of additional times if the load steps remain too large.
User's Guide - WARP3D Node Release
5.3-9 Chapter 5 Crack Growth
The command to request automatic load reduction is:
[ (minimum) steps <steps: integer> ] automatic (load) (reduction)
off
on
where <steps> denotes the minimum number of steps allowable between node releases. By
default, the minimum number of steps between node releases is 6 and the load reduction
algorithm is off. The procedure works in the same manner for enforced uniform growth but
only the master node at each crack front enters into the decision process.
The load reduction algorithms never increase the load step size used in subsequent load
steps even though the reduction may no longer be needed. The solution parameters input
for the analysis provides a command (Section 2.10.13) which lets the user reset this global
load reduction factor to any desired value, i.e., resetting to 1.0 forces the solution to contin
ue with the userdefined load step sizes.
Status Printing
The node release procedures provide a convenient printing option to simplify interpretation
of the growth process. The command has the form
print (status)
off
on
where the keyword on or off is required. At the beginning of each load step, this printing
option prints the current crack front nodes and the corresponding crack tip opening angles.
The print command also provides options to list the initial crack front nodes and the
crack plane nodes, both located by the automatic search procedures built into crack growth
processors. The command syntax is:
print crack front nodes
print crack plane nodes
5.3.3 Release Models for Reaction Forces
Release Over a Fixed Number of Load Steps
The simplest procedure to relax the reaction force for a released node employs a fixed num
ber of load steps. The commands to specify this option are
force (release) (type) steps
release (steps) < integer >
This force release model is the default option, with a default value of 5 steps. The user can
not alter the number of release steps once the processors for crack growth release nodes.
A complete example for general, 3D crack growth input using this force release procedure
is:
!"#!$ &"'()* +#"#,-)-".
)/+- '0 &"'()* 1'2-3"-4-#.-
User's Guide - WARP3D Node Release
5.3-10 Chapter 5 Crack Growth
!"#!$ +4#1- 1'",#4 5 !''"261#)- 787
!'1.)#1) 0"'1) &"'()* '00
#1&4- 0'" "-4-#.- 9787
#1&4- 0'" 616)6#)6'1 ;7787
0'"!- "-4-#.- )/+- .)-+.
"-4-#.- .)-+. ;7
'@-".*'') !'1)"'4 '1 +-"!-1) '@-".*'') ;787 ,616,<, "-2<!)6'1 9787
#<)',#)6! 4'#2 "-2<!)6'1 '1 ,616,<, .)-+. C
+"61) .)#)<. '1
While the above procedure is simple, computed solutions may exhibit a dependence on
the number of load steps employed in the analysis. If the load steps are large, for example,
the above procedure (with release steps > 1) artificially restricts opening of the crack faces.
In analyses with very small load steps, the reaction forces may reduce to zero too quickly.
TractionSeparation Procedure
The linear tractionseparation model improves upon the fixed number of steps approach by
placing the force release process on a more physical basis. In this model, 20% of the reaction
force is released immediately; the remaining 80% decreases linearly with the increased
opening displacement of the node, reaching zero at a specified opening displacement. The
immediate release of 20% proves removes the possibility of spurious crack closing. A frac
tion, b, of the critical CTOA for continued crack growth (release angle) provides a conve
nient means to define the opening displacement. Consider Figure 5.5a, where node a repre
sents a released crack plane node and node b represents a constrained crack plane node.
At release, the reaction force on node a changes to an applied nodal force. After further de
formation, node a opens to position a. In this position, the angle between the crack plane
and the element edge (ab) equals the specified fraction of onehalf of the critical CTOA
(bcritical_angle2). This is the release height from the node to the crack plane (line seg
ment aa) at which the nodal force is fully reduced to zero. When node a lies between posi
tions a and a, the reaction force decreases linearly, as described by:
g +0.8 *
CurrentDistance
ReleaseHeight
(0 vg v0.8) (5.3)
where g is the fraction of the reaction force on the node (see Figure 5.5b). Note that there
is an immediate 20% reduction of the nodal force to prevent spurious reclosing of the crack
face.
Use with general 3D growth
Since there are no restrictions on the lengths of the element edges on the crack plane, edges
of different length may connect to a crack plane node. Therefore, using element edges in
the calculation of the release height may result in multiple height values. To resolve this
ambiguity, the tractionseparation model employs a userdefined, characteristic length
instead of the length of individual element edges. The characteristic length describes the
generic edge length on the crack plane; it could be the average of the edge lengths, a median
edge length, or based on some other criterion. Using the characteristic length, the release
height, D, becomes:
D +L tan(bq
c
2) (5.4)
where L is the characteristic length, b is the release fraction, and q
c
is the critical CTOA
for continued crack growth. The choice of characteristic length, L, directly affects operation
of the node release procedures. If the edges connected to a crack plane node are significantly
smaller than the characteristic length, all the neighbors of the node may be released before
User's Guide - WARP3D Node Release
5.3-11 Chapter 5 Crack Growth
FIG. 5.5TractionSeparation Model for Release of Nodal Reaction Forces
g
0.8
0
0
g+fraction of extinct element
forces remaining on nodes
b) Linear Traction-Separation Model
Characteristic Length
Distance of Node a
from Crack Plane
a) Example of Release Height for a Typical Element
Release
Height
a
specified fraction of half of
critical release CTOA
(a+bcritical_angle2)
b
a
a
Release
Height
Normal
to Crack
Plane
the reaction force reduces to zero. Also, if the characteristic length is too small, the reaction
forces may dissipate too quickly. In Figure 5.5a, the characteristic length corresponds ex
actly with the length of the element edge on the crack plane.
Input commands to specify the tractionseparation model are:
force (release) (type) traction( - separation)
release (fraction) < b factor:number>
characteristic (length) < length:number>
The node release processors require the input of a characteristic length; there is no default
value. b is the fraction of the critical CTOA for continued crack growth (release angle), with
a default value of 0.1. Neither of these values may be changed after nodes have been re
leased. A complete example of crack growth input using the tractionseparation model is:
!"#!$ &"'()* +#"#,-)-".
)/+- '0 &"'()* 1'2-3"-4-#.-
!"#!$ +4#1- 1'",#4 5 !''"261#)- 787
!'1.)#1) 0"'1) &"'()* '00
#1&4- 0'" "-4-#.- 9787
#1&4- 0'" 616)6#)6'1 ;7787
"-4-#.- )/+- )"#!)6'1B.-+#"#)6'1
"-4-#.- 0"#!)6'1 789
User's Guide - WARP3D Node Release
5.3-12 Chapter 5 Crack Growth
!*#"#!)-"6.)6! 4-1&)* 87;
#<)',#)6! 4'#2 "-2<!)6'1 '1 ,616,<, .)-+. C
'@-".*'') !'1)"'4 '1 +-"!-1) ;87 ,616,<, "-2<!)6'1 ;87
+"61) .)#)<. '1
Use with enforced, uniform growth
Since there are no restrictions on the lengths of the element edges on the crack plane, edges
of different length may connect to a crack plane node. Therefore, using element edges in
the calculation of the release height may result in multiple height values. To resolve this
ambiguity, the tractionseparation model employs the distance, L
c
, for continued growth
(defined previously with the critical angle) instead of the length of individual element
edges. Using L
c
, the release height, D, becomes:
D +L
c
tan(bq
c
2) (5.5)
where b is the release fraction, and q
c
is the critical CTOA for continued crack growth.
Input commands to specify the tractionseparation model are:
force (release) (type) traction( - separation)
release (fraction) < b factor:number>
where b is the fraction of the critical CTOA for continued crack growth (release angle), with
a default value of 0.1. This value cannot changed after any nodes have been released. A
complete example of crack growth input using the tractionseparation model with enforced
uniform growth is:
!"#!$ &"'()* +#"#,-)-".
)/+- '0 &"'()* 1'2-3"-4-#.-
!"#!$ +4#1- 1'",#4 5 !''"261#)- 787
!'1.)#1) 0"'1) &"'()* '1
,#.)-" 1'2- 46.) :DCE 97:9
1<,=-" '0 1'2-. #4'1& 0"'1) E
#1&4- 0'" "-4-#.- ?8; 26.)#1!- 787D7
#1&4- 0'" 616)6#)6'1 ;789 26.)#1!- 787>7
!*#"#!)-"6.)6! 4-1&)* 87;7
"-4-#.- )/+- )"#!)6'1B.-+#"#)6'1
"-4-#.- 0"#!)6'1 789
#<)',#)6! 4'#2 "-2<!)6'1 '1 ,616,<, .)-+. C
'@-".*'') !'1)"'4 '1 +-"!-1) ;87 ,616,<, "-2<!)6'1 ;87
+"61) .)#)<. '1
5.3.4 Node Release Algorithm
During the initialization phase, the node release processors find all of the nodes on the crack
plane within a tolerance based on the maximum model dimension in the direction normal
to the crack plane. From this information, the processors identify the crack front nodes as
all the nodes constrained in the normal direction on the crack plane which share an element
edge with an unconstrained node on the crack plane. The program terminates at the next
compute command if it cannot find any crack plane nodes.
At the beginning of each load step n (n>1), or adaptive substep, the processors calculate
the crack tip opening angle (CTOA) for each node on the crack front (general 3D growth)
or each master node (enforced uniform growth). When the angle reaches the critical value,
the following actions occur:
User's Guide - WARP3D Node Release
5.3-13 Chapter 5 Crack Growth
D The processors release the constraint normal to the crack plane .
D The reaction force normal to the crack plane changes into a nodal force which decreases
in a linear fashion over subsequent load steps. Because the reaction force changes into a
nodal force and thereafter behaves as an ordinary (userspecified) force, crack growth does
not effect operation of the (global) adaptive step algorithm. Such global adaptivity of the
load step sizes often proves essential for obtaining converged solutions following a growth
increment.
D The crack front expands to include the constrained nodes in the crack plane which share
an element edge with the released node.
D The crack growth processor modifies the nonlinear solution parameters as follows: a linear
stiffness matrix is requested for the first iteration of the upcoming load step. Such use of
the linear stiffness matrix for the structure properly accounts for elastic unloading that
generally occurs immediately following a node release. This modification in the nonlinear
solution procedure is found necessary to maintain high rates of convergence.
Eventually, only a few constrained nodes may remain on the crack plane. This state
may cause the solution to fail to converge andor give anomalous displacement values. The
analysis should be halted before this situation occurs.
Effect of User Constraint Changes
When changing the global constraints between steps, the user may inadvertently re
constrain a previously released node. To alleviate this problem, the processors check all the
previously killed nodes at the beginning of each load step and remove all new constraints
on these nodes in the direction normal to the crack plane.
5.3.5 Analysis Guidelines
Crack growth analyses using node release place severe demands on the nonlinear solution
procedures implemented in the code. Experience derived from a number of crack growth
analyses suggests the following guidelines as starting points for consideration.
Number of Load Steps
Controls the overall solution convergence and resolution of the deformation process. Crack
growth analyses generally reveal strong history effects; the computed Rcurves and near
tip fields are sensitive to the load step sizes and to details of the reaction force release at
crack extension. As an example, consider an SE(B) model with aW+0.6 and W+50 mm.
The material is a mild structural steel with moderate strain hardening. Element sizes
along the crack plane are 0.1 mm. A typical CTOA for initiation of growth is 8090
o
and 15
o
for continued growth. Successful analyses using 100 equal size load steps to initiate growth
and 400 additional steps to extend the crack 4 mm have been generated. These solutions
employ displacement control loading; small geometry change and large geometry change
solutions require essentially the same number of iterations for convergence at each step.
The computed JDa curve reveals very minor differences for a larger number of load steps
or even a slightly smaller number of steps. In this example analysis, the crack extends by
1 element every 10 load steps. Analyses with many fewer load steps also obtain converged
solutions but reveal dependencies on the load step sizes.
Solution Procedures
WARP3D provides the user full control of the incrementaliterative solution process. Cur
rent recommendations for crack growth analyses are as follows:
solution technique: platform specific sparse solver for all 2D type models and moderate size
3D models. PCG for all large 3D models (try the diagonal precondi
tioner first as it is more efficient). For shell" type models, always use
the sparse, direct solvers.
User's Guide - WARP3D Node Release
5.3-14 Chapter 5 Crack Growth
adaptive solution: use the on option, especially for preliminary analyses. In parametric
studies with a good knowledge of the loading steps required in hand,
adaptive solutions should not be used, i.e., the code will simply re
learn" the correct load step sizes required for convergence. However, we
have found cases in which the solution appears to stick" and will not
converge. All such cases observed thus far have been successfully solved
by forcing the solution to continue on to the next step, which invariably
converges. For such situations, set adaptive off and nonconvergent solu
tions continue.
extrapolation: displacement extrapolation at the start of a new load step is on by de
fault. This procedure generally accelerates the convergence of solutions
including geometric nonlinearity, but may cause convergence problems
during crack growth. The current recommendation is to set extrapola
tion off once crack growth begins.
linear stiffness: the option to use a linear stiffness to resolve iteration 1 of a step helps
in cases with large regions of linearelastic unloading. Normally, this
option should not be used (slows convergence) and it is off by default.
The crack growth processor forces its use for the next step whenever a
new node is released (see previous notes on crack growth algorithms).
Convergence Tests and Tolerances
This is perhaps the most difficult decision in specifying nonlinear solution parameters.
Many problems with nonconvergent solutions during crack growth have been traced to tol
erances set too large. Experience suggests using a combination of two convergence tests as
illustrated by the command:
!'1@-"&-1!- )-.) 1'", "-. )'4 FFFF ,#A6,<, "-.62<#4 )'4 FFFF
where ???? are replaced by actual values appropriate to the actual analysis. Suggested
starting values for crack growth analyses are 0.01 and 0.001 for the first and second tests,
respectively. The norm res test provides good control of the overall convergence of the solu
tion but often does not indicate proper convergence in small elements ahead of the crack
tip. The second test offers an indirect means of controlling residuals of these elements.
Please refer to the manual sections defining these tests.
Good convergence rates and accurate solutions require small residual forces on nodes
in the crack tip region. The output internal forces <node list> command prints the residual
forces on the specified nodes following convergence (or nonconvergence) of the solution.
These forces should be very small relative to forces exerted by these elements on their nodes
due to the internal stresses. A simple estimate for the forces is given by the following proce
dure: multiply the material flow stress by the element volume20. Then each component
of the residual force at nodes should be 23 orders of magnitude smaller than the estimated
internal force. The internal forces output also include actual reactions for constrained dof
and should not be included in these comparisons.
Users Guide - WARP3D Crack Growth - Cohesive
5.4 Crack Growth Using Interface-Cohesive Elements
This method of crack formation and growth combines interface nite elements described in
Section 3.3 with the nonlinear, cohesive constitutive model described in Section 3.8. With
this approach, crack extension by the creation of new traction free crack faces evolves as a
direct outcome of the computations. Pre-existing cracks are not required in the nite element
model. The cohesive constitutive model rst increases and then reduces (eventually to zero)
tractions across surfaces of the interface elements with increasing values of the opening and
sliding (shear) displacement jumps across the surfaces. Interface elements are eectively deleted
from the solution when the the displacement jumps reach large values and cohesive tractions
approach zero. During subsequent load steps, the interface element stiness is taken as zero
and the nodal forces exerted by the interface element on adjacent nodes are relaxed to zero
over a user-specied number of load steps. The user actions required to invoke crack growth
with interface-cohesive elements during an analysis are:
specify the property keyword killable in the denition of a cohesive material that invokes the cohesive
material model.
following the procedures for other nonlinear analyses, dene the nite element model, loading, con-
straints and nonlinear solution parameters.
use the commands described subsequently in this section to dene parameters controlling the crack
growth procedures (limiting values of the cohesive behavior, number of release steps, printing options,
etc.). These parameters are specied in a manner analogous to specication of the nonlinear solution
parameters. These crack growth parameters can not be altered during the analysis.
use various combinations of compute and output commands to control the nonlinear solution over
load steps. The crack growth procedures are automatically invoked by solution management routines
in WARP3D.
the analysis restart features of WARP3D fully support crack growth modeling with the interface
element and cohesive material model approach. Restart les contain the values of growth parameters
and the solution state required to continue an analysis with crack growth.
Note: the present capabilities for crack growth using interface-cohesive elements in WARP3D
described here require that all the killable interface elements have the identical cohesive material
formulation. At present the two available formulations are exp1 intf and ppr described in
Section 3.8. Multiple, cohesive materials with dierent properties may be dened for use in an
analysis, but they all must use the same formulation.
5.4.1 General Input Commands
The sequence of commands to initiate the denition of crack growth parameters is
crack (growth) (parameters)
type (of) (crack) (growth)

none
cohesive

where none turns o subsequent element extinction during the analysis. These commands
typically are given after the nonlinear solution parameters in the input le. The keyword
cohesive invokes extinction of interface elements based on attainment of a user dened, terminal
state in the cohesive constitutive model. If prior crack extension has occurred, use of the none
option immediately suppresses any further crack growth processing. If elements are in the
Chapter 5 (Updated: 11-26-2010) 5.4-1 Crack Growth
Users Guide - WARP3D Crack Growth - Cohesive
process of being killed, the reduction to zero of remaining element (internal) forces will not be
completed.
When the terminal state in the cohesive material is reached, the remaining internal (nodal)
forces for an interface element are imposed on adjacent nodes in the model as nodal forces.
The crack growth code reduces values of these (small) forces linearly to zero over a number of
subsequent load steps. The interface-element stiness is set immediately to zero and remains
zero for all subsequent load steps. Input commands to describe the force release model are
described in a subsection below.
The crack growth processor provides a convenient printing option to monitor the growth
process. The command has the form
print (status)

on
o

(order (elements) < elementlist : integerlist >)


where the keyword on or o is required. An optional list of elements previously marked as
killable in the element properties input may be specied for printing. If no list is given, all
elements having a cohesive material model, and with the killable property, are included in the
list (in ascending numerical order). When the optional list is given, information is printed for
elements in the order specied in the list.
At the end of each load step when this printing option is on, a tabular summary of the
current status is printed for each interface element in the list. The values printed depend on
the formulation specied in the cohesive material, e.g., the ppr formulation or the exp1 intf
formulation. To prevent excessive amounts of output, information is printed only for those
interface-cohesive elements having tractions that exceed some fraction of the peak value(s).
Additionally, if adaptive load control is enabled the table includes the increase in the current
growth parameter over the last step.
5.4.2 Adaptive Load Control
When load steps are too large, the computed response may neglect key features of the de-
cohesion process and accumulate signicant discrepancies with the expected model behavior.
A large load step, for example, may lead to the jump from a pre-peak traction level to a
post-peak traction level in just one step. When this occurs, the volume elements incident on
the interface-cohesive elements never experience the peak stress levels that would otherwise
be imposed by the the cohesive traction-separation response with reduced load step sizes. For
volume elements having a plasticity constitutive model, such jumping across the peak of
the traction-separation curve impacts signicantly the development of plastic zones and, as a
consequence, the computed crack-growth response.
To help alleviate this problem, WARP3D provides an adaptive load control feature that
automatically decreases (or increases) subsequent load-step sizes based on the change in a single,
eective measure of the combined normal and sliding displacement jumps (

) of the interface
elements (see below for denitions of

). The adaptive algorithm operates as follows:
At the end of each load step (n), the adaptive code locates the interface-cohesive element that
experienced the maximum change of

during the previous step. Let =

n1
denote this value
for convenience.
If exceeds the allowable change specied by the user ( >

peak
), the adaptive code estimates
and applies a reduction factor to the user-specied (incremental) loading levels in subsequent load
Chapter 5 (Updated: 11-26-2010) 5.4-2 Crack Growth
Users Guide - WARP3D Crack Growth - Cohesive
steps such that the projected new values of become 0.8

peak
(see below for denitions of

peak
). The user species the value of during input of the crack growth parameters (see command
below). Typical values for range from 0.15 0.3, with = 0.2 often used as the value for a wide
variety of situations.
Similarly, the adaptive code increases the applied (incremental) loading in subsequent steps when
becomes much smaller than

peak
. Load increases are triggered when is less than 0.5

peak
for
at least 3 consecutive load steps. When this situation occurs, the load step size increases to make

peak
, but in no case is the load step size increased immediately by more than a factor of 2.
The adaptive code does not increase load step sizes unless it has previously reduced load step sizes
at some prior point in the analysis.
As a result of this adaptive algorithm, the user-specied sizes for load steps are re-dened
(down and then possibly up) continually during the analysis to maintain a target

peak
in each load step of the crack growth analysis.
The command to request this adaptive load control for the cohesive crack growth process
is:
adaptive (load) (control)

on
o

(maximum) relative displacement (change) < real >

where < real > denotes the value of . By default, = 0.2


peak
(0.2 as the input value
above) and the adaptive load control algorithm is o.
Notes: (1) The adaptive load control here is independent of (and in addition to) the adaptive
load control implemented to assist convergence of the (global) Newton iterations performed
at each load step to solve the nonlinear equilibrium equations; (2) Displacement extrapolation
should not be used with adaptive load control, i.e., set extrapolate o in the nonlinear solution
parameters.
The denitions of

and

peak
vary with the option selected for the formulation of the
cohesive material model as dened here.
Exponential option (exp1 intf )
For the exponential formulation (option exp1 intf ) of the cohesive material model, we
have:

2
s1
+
2
s2

+
2
n
(Section 3.8 uses the notation

)
where is the user-specied mode-mixity weight factor, and
s1
,
s2
, and
n
are the two sliding
and normal displacement jumps of the interface element.
To obtain a single value of

for an interface element, the average values of
s1
,
s2
, and

n
are rst averaged over the element integration points. The averaged values are then used in
the above equation to set

.
The user species the value of

peak
as the cohesive model property delta peak.
Park-Paulino-Roesler option (ppr)
For the ppr option of the cohesive material model, we compute at each integration point of
an interface element:

2
t
+
2
n
; where
2
t
=
2
s1
+
2
s2
Chapter 5 (Updated: 11-26-2010) 5.4-3 Crack Growth
Users Guide - WARP3D Crack Growth - Cohesive
and
s1
,
s2
, and
n
are the two sliding and normal displacements at the integration point.
Adaptive computations employ the maximum value of

over the integration points for the
element value. The value of

peak
with ppr for adaptive load decisions is found from

peak
=

2
np
+
2
tp
.
Here,
np
and
tp
are displacement jumps at peak values of the normal and shear traction-
separation curves (see Section 3.8 and gures).
The above denition for

peak
may become overly large for pure normal or pure shear
loading. In simple normal loading, for example, the user may specify a shear fracture energy
and peak traction identical to that for the normal loading for convenience. Then
tp
=
np
above with

peak
=

2
np
. The user may compensate for this eect when present by specifying
a smaller value for .
5.4.3 Element Extinction
The extinction of an interface element begins when a certain level of deformation is reached
(normal and/or sliding displacements) that degrades severely the corresponding normal and/or
cohesive tractions. The conditions for extinction vary with the formulation selected for the
cohesive material model associated with the element.
Exponential option (exp1 intf )
Extinction begins when the eective displacement

(dened in previous section) reaches
a multiple (
E
> 1) of the eective displacement,

peak
, corresponding to the peak value of
the eective traction,

T
p
. The user species both

peak
and

T
p
through the cohesive material
properties delta peak and sig peak.
The command to specify the value of
E
> 1 has the form
critical (eective) cohesive (displacement) (multiplier) < value >
The default value is
E
= 5.74. The eective traction corresponding to this level of deformation
should be a small fraction of

T
p
. For this exponential traction-separation model, a few values of
the eective traction (

T) for varying
E
values are: (1)
E
= 7.64,

T/

T
p
= 0.01; (2)
E
= 6.83,

T/

T
p
= 0.02; (3)
E
= 5.74,

T/

T
p
= 0.05; (4)
E
= 4.9,

T/

T
p
= 0.10.
Park-Paulino-Roesler option (ppr)
Extinction begins when the normal,
n
, and/or (resultant) sliding,
t
, displacement jumps
at every integration point of the element exceed a specied fraction (
E
< 1) of the limiting
displacements,
n
and
t
, at which the normal and shear tractions degrade to zero without
consideration of mode-interaction eects (see Section 3.8 description and gures). The values of

n
and
t
are computed by the the cohesive model routines from other user-specied properties
of the ppr option. The command to specify the value of
E
< 1 has the form
ppr (displacement) (fraction) (for) extinction < value >
The default value is
E
= 0.9.
Chapter 5 (Updated: 11-26-2010) 5.4-4 Crack Growth
Users Guide - WARP3D Crack Growth - Cohesive
5.4.4 Extinction Algorithm
At the beginning of each load step n with n > 1, and each adaptive sub-step, the state of each
interface-cohesive element is assessed relative to a user-specied terminal state (see discussions
in this section about terminal states for each available cohesive formulation). When the element
conditions are such to require extinction, the following actions are taken:
The element history data are deleted (prior maximum displacements, tractions, etc.).
Remaining element contributions to the global internal force vector are applied as nodal forces. All
subsequent contributions of the element to global equilibrium are zero. The element internal force
vector when extinction begins is gradually decreased to zero in a linear fashion over subsequent load
steps. Because the element forces are converted into nodal forces and treated thereafter as ordinary
(user-specied) forces, the (global Newton) adaptive step algorithm is unaected by crack growth
and often proves essential for obtaining converged solutions following a growth increment.
All subsequent computations for the element stiness (linear or tangent) resolve to a zero matrix.
When all elements connected to a node are made extinct, the node has no stiness and introduces
a singularity into subsequent equation solving eorts. To prevent this, the element extinction pro-
cedures track the number of elements attached to each node of the model and automatically supply
new constraints on free nodes to eliminate the singularity.
The blocking requirements dictate that all elements in a block must have the property killable. When
a new element is made extinct in a block, checks are made to determine if all elements in the block
have been made extinct; computations on such blocks may be completely skipped in subsequent load
step solutions.
5.4.5 Release of Extincted, Interface-Element Forces
The remaining (small) internal nodal forces for a newly extinct interface element are decreased
to zero over a xed number of load steps. The user sets the number of steps with the commands
force (release) (type) steps
release (steps) < integer >
This force release model is the default option and can be used to render extinct any element in
the model, whether or not it lies on the crack plane. The default value is 5 steps. The number
of release steps cannot be altered once any elements have been made extinct.
5.4.6 Examples
Complete examples of input to set-up crack growth using interface elements and the cohesive
material model are:
crack growth parameters $ exponential cohesive option
type of crack growth cohesive
critical effective cohesive displacement multiplier 5.74
force release type steps
release steps 10
print status on order elements 36000-34001 by -1
adaptive load control on maximum relative displacement change 0.25
crack growth parameters $ ppr cohesive option
type of crack growth cohesive
Chapter 5 (Updated: 11-26-2010) 5.4-5 Crack Growth
Users Guide - WARP3D Crack Growth - Cohesive
ppr fraction for extinction 0.95
force release type steps
release steps 10
print status on order elements 36000-34001 by -1
adaptive load control on maximum relative displacement change 0.30
Chapter 5 (Updated: 11-26-2010) 5.4-6 Crack Growth
6.1-1 Chapter 6 Contact Algorithms
Chapter 6
Contact Procedures
6.1 Introduction
Many of the most difficult problems in solid mechanics involve the contact interaction be
tween deformable bodies. Key examples include metal forming processes (rolling and die
casting) and crashimpact problems. In fracture mechanics, problems of crack closure and
the proper modelling of experimental conditions often necessitates treatment of contact.
Regions of a finite element model which undergo contact have boundary conditions that
vary with the amount of deformation. In contact, implicit analyses are especially challeng
ing as the boundary conditions may change abruptly during a load increment. This intro
duces severe nonlinearity into analyses, with corresponding changes in model behavior and
solution convergence rates.
The large volume of research on contact algorithms offers a range of complexity in avail
able approaches to treat contact [100]. The literature typically focuses on two aspects of
contact algorithmscontact detection and contact enforcement. Detection of contact in the
most general form, where any part of a modeled body can interact with any other body
andor itself, often consumes most of the computation time for an analysis and introduces
significant complexity in the code. Finite element codes often employ a number of tech
niques to simplify contact detection by explicitly identifying regions which may contact
each other, or by limiting contact to simple rigid surfaces. Enforcement of contact proceeds
along one of two approaches. Lagrange multiplier techniques eliminate penetration of con
tact surfaces by including additional constraint equations directly in the solution of the pro
blem. The Lagrange multipliers, included as additional unknown scalar variables, become
the forces required to eliminate penetration. This technique is very popular in implicit
codes; however, the additional equations may cause the global structural stiffness matrix
to become positive semidefinite, thus limiting the techniques available for solution of the
corresponding linear system. The penalty method provides an alternative approach by
introducing very stiff springs which move penetrating nodes back to the contact surface.
This method allows some limited penetration between bodies. Increasing the penalty pa
rameter (spring stiffness) reduces the amount of penetration. Although the penalty method
retains a positive definite stiffness matrix, very high penalty parameters can make the
stiffness matrix illconditioned, causing convergence problems and significant roundoff er
ror in the final results. Efficient analysis requires care in choosing an appropriate penalty
parameter. Other approaches to enforce contact conditions involve hybrids between these
methods ([38],[100]).
The contact algorithms in WARP3D implement frictionless, rigidbody contact using a
standard penalty method. Contact between deformable bodies and selfcontact are not sup
ported in this implementation. Contact occurs between nodes of a finite element mesh and
a userdefined set of rigid contact surfaces. Currently, WARP3D supplies three geometries
of surfaces which can be arbitrarily oriented in space: finitesized rectangular planes, cylin
ders, and spheres. Additional surfaces may be added as needs warrant. The contact proces
sors allow the assignment of velocities to the contact surfaces to simplify simulation of mov
ing boundaries. Each contact surface requires a stiffness (penalty parameter) which limits
User's Guide - WARP3D
6.1-2 Chapter 6 Contact Algorithms
the penetration between the model and the surface. Specification of an appropriate stiff
ness can be difficult; Section 6.4 provides some guidance on this topic. The algorithms also
address issues of multiple contact, where a node penetrates more than one contact surface.
This enables the appropriate treatment of intrinsic and extrinsic corners in contact analy
ses. The implementation of contact is completely compatible with all other parts of
WARP3D, including crack growth, finite deformation, all material models, restart facili
ties, and parallel execution.
This chapter continues with a description of the contact algorithms used in WARP3D,
including an overview of the penalty method, a summary of the contact detection tech
niques, a description of the algorithms which handle intersecting contact surfaces, and key
details of the parallel implementation of contact. A section on contact input describes the
necessary commands for contact specification, as well as some restrictions on contact mo
dels. Section 6.4 provides advice on performing analyses with contact. The chapter con
cludes with a section of examples which illustrate three WARP3D contact analyses: rolling
of a steel bar, crushing of a pipe, and crack closure on a pinloaded C(T) specimen.
User's Guide - WARP3D Numerical Procedures
6.2-1 Chapter 6 Contact Algorithms
6.2 Numerical Procedures
6.2.1 Overview of the Penalty Method
The penalty method defines a simple approach to enforce displacement constraints in the
solution of a finite element model. It has a variety of applications, including the imposition
of multipoint constraints, incompressible material models, mesh locking problems, and
contact enforcement [17]. The penalty method follows from the minimum potential energy
formulation of the finite element method. The potential energy for a finite element model
is
P +
1
2
U
T
KU*U
T
F (6.1)
where U is the vector of nodal displacements, K is the global stiffness matrix, F is the corre
sponding nodal force vector, and P is the potential energy. An equilibrium configuration
(deformed shape) for the structure makes the potential energy take on a local minimum.
The minimum potential energy occurs when PU+0, thus:
P
U
+KU*F +0 (6.2)
which results in the standard equilibrium equations KU+F.
The penalty method as applied to contact adds an additional term to Eq. 6.1:
P +
1
2
U
T
KU*U
T
F )
1
2
P
T
aP (6.3)
where P corresponds to the penetration displacement of nodes into contact surfaces, and
a corresponds to the penalty parameters", constants which determine the relative impor
tance of forcing the penetration to zero. An increase in the magnitude of the penalty param
eter causes the penetration to have a stronger effect on the total potential energy, thus en
forcement of P+0 becomes proportionally more strict. The terms in a have units of stiffness
so that 12P
T
aP has units for energy. Solution of PU+0 for Eq. 6.3 transforms the equi
librium equations to KU+F, where K is the effective structural stiffness matrix and F
is the effective force vector including the effects of contact.
An equivalent approach to implement the penalty method for contacting bodies creates
springs at the contact points (see Figure 6.1). The springs, placed between each penetrating
node and the closest point on the penetrated surface, have a very high stiffness which re
duces the penetration nearly to zero. The spring stiffness corresponds to the penalty param
eter, while the amount of remaining penetration corresponds to the error in the enforce
ment of the constraint. A larger spring stiffness decreases the magnitude of penetration
after introduction of the spring. However, too large a spring stiffness can cause numerical
difficulties. Addition of such a spring affects two parts of the finite element calculations:
inclusion of the contact force into the residual force vector, and addition of the spring stiff
ness in to the global stiffness matrix. Experience indicates that increasing the stiffness of
the spring slightly when including it in the stiffness matrix eliminates oscillation problems
caused by the overcompensation of penetration. Consequently, WARP3D uses a penalty
stiffness 0.1% higher than the userspecified value for the stiffness matrix calculations.
Furthermore, WARP3D adds each spring stiffness into the corresponding element stiffness
matrices instead of directly into the global stiffness matrix. Thus, for example, if 6 elements
connect to a contacting node, then each element stiffness receives 1/6 of the total spring
stiffness introduced at that node. This approach allows full use of the elementbyelement
architecture inherent inside WARP3D, as well as the linear preconditioned conjugate gra
User's Guide - WARP3D Numerical Procedures
6.2-2 Chapter 6 Contact Algorithms
dient solver (LNPCG). Contact between two deformable bodies requires application of the
contact force to the penetrating node and the penetrated element. However, rigid body con
tact eliminates the need to compute forces on penetrated elements; the contact springs only
affect penetrating nodes. This greatly simplifies the calculation of contact forces and the
additions to element stiffness matrices [23].
FIG. 6.1Illustration of penalty method
n
k
node 1
Rigid Surface
Addition of the spring stiffness into the element stiffness matrix seriously degrades the
convergence of the LNPCG solver. A large spring stiffness increases the spread of eigenva
lues for the system, thereby increasing the number of iterations required for convergence,
if convergence remains possible at all. For this reason, the specified value for the penalty
parameter requires additional care when employing the LNPCG solver; see Section 6.4 for
details on choosing the contact stiffness. Furthermore, diagonal dominance of the stiffness
matrix is crucial for effective LNPCG convergence. If the contact spring is orthogonal to one
of the global coordinate directions, then the spring stiffness adds solely to a corresponding
diagonal term in the element stiffness matrices. However, if it lies skewed to the global
axes, then part of the spring stiffness adds to offdiagonal terms, reducing diagonal domi
nance of the element stiffness matrix. To alleviate this problem, the contact processors
construct a local coordinate system at the penetrating node which is orthogonal to the
spring force. All global data values at the node are rotated into the new coordinate system.
As a result, the spring stiffness adds directly into the diagonal of the element stiffness ma
trix. If the node has no explicit constraints, then formation of the nodal coordinate trans
formation is straightforward. If the node has one constraint, then formation of the trans
formation is only possible if the spring force and the direction of the constraint are
orthogonal. In cases where formulation of a nodal coordinate transformation is not compat
ible with specified constraints, the penalty stiffness terms add to the element stiffness in
global coordinates. If a node undergoing contact utilizes a (local) nodal coordinate trans
formation defined previously through user input, then calculation of contact becomes diffi
cult; currently, the contact processors print an error message and stop execution of the code
when this occurs.
6.2.2 Contact Detection/Calculation
WARP3D determines contact between nodes of the finite element mesh and a set of rigid
contact surfaces at the beginning of each global Newton iteration to solve the equilibrium
User's Guide - WARP3D Numerical Procedures
6.2-3 Chapter 6 Contact Algorithms
equations. During the contact detection phase, contact processors compare all nodes in the
structure with all defined contact surfaces. The implementation currently provides three
geometries of rigid contact surfaces; finitesized rectangular planes, cylinders, and spheres.
When a node penetrates one or more of the contact surfaces, the contact algorithms com
pute the amount and direction of the penetration. This section describes the contact and
penetration algorithms for each of the contact surface geometries. Please see Section 6.3.3
for additional description of the contact surfaces and the corresponding input.
FiniteSized Rectangular Planes
The geometric description of the rectangular plane includes a base point corresponding to
one of the corners of the rectangle, two vectors which extend along the edges of the rectangle
from the base point to the two adjoining corners, and a normal vector. Figure 6.2 shows the
geometric description and outlines the contact detection algorithm.
FIG. 6.2Contact Detection for Rectangular Plane
1. Compute a position vector between current location of the node p and the
base point of the rectangle
v +p *p
R
2. Compute the dot product between this vector and the normal to the plane;
this is the negative of the penetration. If penetration is negative or zero, no
contact.
d +*(v @ n); d v0 nocontact
3. Compute dot product between v and the two edge vectors
a +

v @ v
1

b +

v @ v
2

4. If both dot products are between 0 and 1, then the node has penetrated the
rigid surface
0 t
{
a, b
}
t1 contact
n
v
v
1
v
2
p
R
p
User's Guide - WARP3D Numerical Procedures
6.2-4 Chapter 6 Contact Algorithms
Cylinder
The spatial orientation of the contact cylinder uses a base point, a vector pointing in the
direction of the center line, the length of the cylinder, and the radius. Figure 6.3 outlines
the contact detection algorithm.
FIG. 6.3Contact Detection for Cylinder
1. Compute a position vector between the current location of the node p and the
base point of the cylinder
v +p *p
C
2. Compute the angle between the vector and the center line of the cylinder.
If the angle is greater than 90 degrees, no contact is possible, so return.
q +arccos
v @ n

; q u
p
2
nocontact
3. Calculate penetration: radius of cylinder minus distance from node to closest
point on center line. If there is no penetration, return.
d +R*

sinq; d t0 nocontact
4. Compute distance between base point and projection of node on to center
line. If distance is greater than the cylinder length, return.
n
v
q
p
C
p
X
Y
Z
L
R
h
h +

cos q; h uL nocontact
d
Sphere
The sphere requires only a base point and a radius to completely describe its orientation
in space, making detection of contact very simple. The processors compute the vector be
tween the center point of the sphere and the node. If the length of the vector is less than
the radius of the sphere, contact occurs. The spring force acts in the direction of the calcu
lated vector.
User's Guide - WARP3D Numerical Procedures
6.2-5 Chapter 6 Contact Algorithms
6.2.3 Penetration of Multiple Contact Surfaces
If a node penetrates several contact surfaces, the contact algorithms must return the
node to the correct location. However, the choice of which set of surfaces should be con
sidered is not always clear. For instance, Figure 6.4 shows an element with three of its
nodes penetrating a set of three contact planes. Node a penetrates surface 3, so a single
spring returns it to the correct location. Node b penetrates both surfaces 1 and 2, but
the node should return only to surface 2. All three planes influence node c, but the cor
rect return point is to the intersection of surfaces 2 and 3.
FIG. 6.4Nodes penetrating multiple contact surfaces
surface 1
surface 2
surface 3
node a
node b
node c
To handle these conditions, the contact processors in WARP3D compare each of the
penetrated contact surfaces by temporarily returning the node to a contact surface, and
evaluating if the other shapes are still penetrated given the new location. By looping over
the contact planes, this process eliminates all the superfluous contact surfaces, leaving only
the set which must be simultaneously satisfied. The processors also calculate the location
to which the node returns following the imposition of each of the valid contact shapes. Fig
ure 6.5 provides additional details on the algorithm.
A separate algorithm constructs the new return location given a new contact surface,
as shown in steps 3.c and 3.d of Figure 6.5. The processors compute the nearest point on
the intersection of the previous return location and the new contact surface. The algorithm
assumes during this step that all contact surfaces are planes. This causes some error for
curved surfaces (cylinders, spheres), but if the load steps are sufficiently small, this error
is negligible. Also, the algorithm may require additional Newton iterations for global con
vergence in problems with intersecting curved contact surfaces.
This algorithm appears to handle correctly cases where nodes penetrate multiple con
tact surfaces. Highly complicated constructions of contact surfaces or large load steps may
cause this algorithm to fail; the use of relatively few intersecting contact surfaces and small
load steps is advised.
6.2.4 Parallel Implementation
The parallel implementation of WARP3D uses a message passing approach (MPI) with a
single master" processor and many slave" processors. To support contact during parallel
execution, the root processor sends all slave processors the data for every defined contact
User's Guide - WARP3D Numerical Procedures
6.2-6 Chapter 6 Contact Algorithms
FIG. 6.5Algorithm for treating nodes which penetrate multiple contact surfaces
1. Compare the node location, p, against the set of all contact surfaces, C, as
sessing penetration P. Construct C
n
, a list of the k penetrated surfaces or
dered from the smallest to largest penetration.
C
n
+

C : P

C
i
, p

u0

2. Consider the contact surface which the node penetrates the least. Set the
current return location, r, to the location which returns the node to this sur
face along its normal, n.
3. Loop over the remaining sorted contact surfaces:
a. Determine the penetration of the new contact surface by the current return
location. If the new surface is not penetrated, remove it from the list of pene
trated surfaces and proceed to the next contact surface.
L

C
i
, p

+p *P

C
i
, p

C
i
, p

r +L

C
n
1
, p

C
n
i
, r

t0 C
n
+ C
n
*C
n
i
; i +i )1
b. Find the location r
i
which returns the node to the current contact surface,
and zero the current return location.
r
i
+L

C
i
, p

, r +0
C
n
i
: i +2, 3, AAA , k
c. Determine if new contact surface supercedes any previously verified sur
faces. Loop over previously evaluated contact surfaces; if the location r
i
does
not cause penetration of C
j
, remove C
j
from C
n
. Otherwise, include contact
plane into new return location.
j +1, 2, 3, AAA , i *1
d. Include new contact surface in return location.
P

C
n
j
, r
i

t0 C
n
+ C
n
*C
n
j
u0 r +r L

C
n
j
, p

r +r L

C
n
i
, p

4. Continue looping over all contact surfaces until all initially penetrated sur
faces have been processed.
User's Guide - WARP3D Numerical Procedures
6.2-7 Chapter 6 Contact Algorithms
surface. During the contact detection phase, processors assess contact for all nodes con
nected to elements which they own. Processors also compute the contact force for the nodes
which they own. After all processors complete evaluation of contact for the appropriate
nodes, the slave processors send their contact force contributions to the root processor,
which reduces the contributions into the global contact force vector. The slave processors
also send the computed nodal coordinate transformation matrices for all owned nodes;
these are used in subsequent force calculations and result output.
User's Guide - WARP3D Contact Commands
6.3-1 Chapter 6 Contact Algorithms
6.3 Commands for Contact
6.3.1 Outline of Process
Contact in WARP3D takes place between a deformable mesh and a set of rigid contact sur
faces. Specification of rigid contact surfaces may occur at any point in the input file. Input
involves a block of commands, beginning with the contact surfaces command, followed by
specifications for each contact surface. The description of a contact surface includes infor
mation about the type of surface, the geometry, the location in space, and the basic parame
ters (stiffness, surface velocity, etc.). Errors encountered in the input for a contact surface
cause the contact processors to ignore the surface. Redefinition or removal of one or more
contact surfaces may occur between any computational step. Adequate convergence of the
analysis may require a change of the penalty parameters at different times in the analysis
(see the tips section for additional information). Currently, WARP3D allows up to 20 de
fined contact surfaces in an analysis.
6.3.2 Initiating Contact Definition
The command to initiate the definition of contact surfaces has the form
contact (surfaces)
The contact input processors assume the commands following this statement pertain to
contact. Contact input stops once the processors encounter a command they do not recog
nize.
Commands to define contact surfaces must appear in the input after constraints.
6.3.3 Description of Contact Surfaces
WARP3D currently supports three geometries of contact surfaces: rectangular surfaces,
cylinders, and spheres. Description of a contact surface requires the specification of the type
of surface, the geometry, the orientation in space, and the basic parameters (stiffness, veloc
ity, etc.).
The command to initiate the definition of a contact surface is:
surface < surface number: integer >
plane
cylinder
sphere
where surface number is a number between 1 and 20. Only one surface may be assigned
to a specific surface number; defining a surface with a specific surface number supercedes
any previous surface definitions assigned to that number. Sequential numbering of contact
surfaces is not required.
Information Required for all Contact Surfaces
All contact surfaces require a stiffness (penalty parameter). The command
(contact) stiffness < stiffness: number >
specifies the stiffness for the contact surface currently under definition. The stiffness value
must be a number greater than zero. Efficient analyses may mandate altering the stiffness
User's Guide - WARP3D Contact Commands
6.3-2 Chapter 6 Contact Algorithms
of a surface during solution (see the tips section for additional information). There is no de
fault for this value.
Contact surfaces may also move through space over time. The following command gives
the velocity of the surface:
velocity < dx: number > < dy: number > < dz: number >
where the velocity has units of distance per unit time. The default value for the velocity is
zero in all directions. Note that this command requires appropriate setting of the time step
size (see Section 2.10 on solution parameters). Currently, the contact processors translate,
but do not rotate, contact surfaces. Rotation of a contact surface occurs only through user
redefinition of the contact surface after each load step.
Rectangular Surface
The rectangular contact surface is a flat surface located in space with a given normal. The
normal defines the positive (outward) side of the surface. The rectangular surface defines
a right rectangular prism extending in the negative normal direction a depth as specified
in the contact input. All nodes falling within the volume of the rectangular prism are pene
trating nodes, with penetration defined as the distance to the rectangular surface. See Fig
ure 6.6 for a typical rectangular contact surface. Section 6.2.3 describes the algorithms
which handle intersections between multiple rectangular surfaces and/or other contact
surfaces.
FIG. 6.6Definition of rectangular contact surface
SampIe Input:
contact surface
surface 1 plane
point 3 5 2
point 5 4 3
point 4 6 1
depth 4
stiffness 1.0e8
!
1
+{3 5 2}
!
2
+{5 4 3}
!
3
+{4 6 1} NormaI CaIcuIation:
"
1
+!
2
*!
1
+[2 -1 1]
"
2
+!
3
*!
1
+[1 1 -1]
"
3
+"
1
"
2
+[.707 .707 0]
"
2
"
1
"
3
depth
X
Y
Z
Designation of the geometry of the rectangular surface requires the specification of
three points in space (use the following command three times):
User's Guide - WARP3D Contact Commands
6.3-3 Chapter 6 Contact Algorithms
point < x: number > < y: number > < z: number >
These three points define the location in global coordinates of three corners for the rec
tangle. The first point serves as the base corner for the rectangle, while the second and third
points are the corners adjacent to the base point; see Figure 6.6. The normal of the contact
plane follows from the three points as follows. Denote the three points as p
1
, p
2
, and p
3
.
Define two vectors, v
1
+p
2
p
1
and v
2
+p
3
p
1
. The normal is v
1
v
2.
The normal vector
defines the positive (outward) side of the contact plane; all nodes found on the negative side
of the plane are penetrating nodes. This places several restrictions on the specification of
the three points. The vectors v
1
and v
2
must define a 90 degree included angle. Further
more, the order in which the points are input determines the normal vector; flipping the
definition of points 2 and 3 flips the direction of the normal. Users should verify that the
normal vector has the correct direction.
The command to specify the depth of the rectangular contact plane is:
depth < depth value: number >
where depth value is a number greater than zero. The default value is 10
10
.
A typical set of commands to define a rectangular contact surface is:
!"#$%!$ '()*%!+
'()*%!+ , -.%#+
-"/#$ 0 1 2
-"/#$ 1 3 0
-"/#$ 3 4 ,
5+-$6 3
'$/**#+'' ,78+9
:+."!/$; 87, 87, 87,
Cylindrical Surface
This is a right circular cylindrical contact surface is a cylinder with a finite length. Contact
occurs on the curved surface nodes penetrating the flat circular ends are moved to the
nearest point on the cylindrical surface. Required geometrical input includes a base point,
the direction of the center line measured from the base point, the length of the cylinder, and
the radius. See Figure 6.7 for an sample contact cylinder.
To input the base point and direction vector, use the commands:
point < x: number > < y: number > < z: number >
direction < dx: number > < dy: number > < dz: number >
where the specified point and direction correspond to P and V in Figure 6.7. The direction
does not need to be a unit vector; the contact processors automatically normalize the direc
tion.
To input the length and radius, use the commands:
radius < R: number >
length < L: number >
where the specified radius and length and correspond to R and L in Figure 6.7. The values
must be greater than zero, and have no defaults.
User's Guide - WARP3D Contact Commands
6.3-4 Chapter 6 Contact Algorithms
FIG. 6.7Example of cylindrical contact surface
X
Y
Z
!
R
"
L
A typical set of commands to define a cylindrical contact surface is:
!"#$%!$ '()*%!+
'()*%!+ , !;./#5+)
-"/#$ 1 2 0
5/)+!$/"# <0 , <,
)%5/(' ,71
.+#=$6 3
'$/**#+'' ,78+9
:+."!/$; 87, 87, 87,
Spherical Surface
The spherical contact surface is a full sphere in space, and requires only the center point
and the radius as input. The commands for the sphere are:
point < x: number > < y: number > < z: number >
radius < R: number >
where R is a number greater than zero. There are no defaults for these values.
A typical set of commands to define a spherical contact surfaces is:
!"#$%!$ '()*%!+
'()*%!+ , '-6+)+
-"/#$ 1 2 0
)%5/(' ,71
'$/**#+'' ,78+9
:+."!/$; 878 <87, 878
User's Guide - WARP3D Contact Commands
6.3-5 Chapter 6 Contact Algorithms
6.3.4 Utility Options
The clear command provides an easy means to delete all contact surfaces. The syntax is:
clear
Additionally, the dump command prints the pertinent information about all of the current
contact surfaces, including the current geometry and parameter values. The printed loca
tion of the base point for each contact surface is the current location after considering the
surface velocity and elapsed analysis time. The syntax is:
dump
6.3.5 Notes on Multiple Contacting Surfaces
The implementation of frictionless, rigid body contact in WARP3D includes procedures to
address cases involving multiple intersecting contact surfaces; Section 6.2.3 details the in
teraction algorithms. This allows the creation and appropriate handling of corners and oth
er composite rigid surfaces. However, the algorithms impose some restrictions and require
ments on contact surface definitions.
Overlapping of Contact Surfaces for Corners
The proper treatment of corners requires that the contact surfaces which form the corner
overlap slightly. Consider Figure 6.8.a, where two rectangular contact surfaces form a cor
ner, but do not overlap. For the contact processors to return the penetrating node to the
corner, they must consider both planes. However, the node is actually only penetrating con
tact surface 1. After the the evaluation of contact, the node moves close to the surface of
contact surface 1, but not far enough to move into contact surface 2. The node does not re
turn to the corner in this case. With an overlap, as in Figure 6.8.b,the contact node violates
both contact surfaces, thus the contact processors return the node to the corner. The
amount of overlap depends on the stiffness of the contact planes; the overlap should be
greater than the remaining penetration after enforcement of contact .
Avoid Acute Angles in Corners
The algorithms which manage intersecting contact surfaces operate best with corners
formed at obtuse angles. Avoid internal or external corners with acute angles. See Figure
6.9 for examples of acceptable and unacceptable corners.
Potential Errors in Intersecting Rectangles with Cylinders and Spheres
The algorithms which resolve penetration of intersecting contact surfaces assume the con
tact surfaces are planes. Large penetrations into intersecting contact surfaces which in
clude curved surfaces, particularly curved surfaces with small radii, may cause errors in
the return location of the node. The use of small load steps, and avoidance of excess intersec
tions between rectangles and curved surfaces, can help alleviate this problem.
6.3.6 Complete Examples
The following example is a valid contact definition which includes an example of each of the
types of contact surfaces.
!"#$%!$ '()*%!+
!.+%)
'()*%!+ , -.%#+
User's Guide - WARP3D Contact Commands
6.3-6 Chapter 6 Contact Algorithms
FIG. 6.8Overlapping of corners; a) with no overlap, node only
returns to surface 1; b) overlap allows return of node to
corner.
(a)
(b)
1 1
2 2
FIG. 6.9Acceptable and unacceptable corner definitions; a) corners
have obtuse angles, and are permissible; b) corners have
acute angles, which may cause problems.
(a) (b)
-"/#$ 0 1 2
-"/#$ 1 3 0
-"/#$ 3 4 ,
5+-$6 3
'$/**#+'' ,78+9
:+."!/$; 87, 87, 87,
'()*%!+ 2 !;./#5+)
-"/#$ 1 2 0
5/)+!$/"# <0 , <,
)%5/(' ,71
.+#=$6 3
'$/**#+'' ,78+9
User's Guide - WARP3D Contact Commands
6.3-7 Chapter 6 Contact Algorithms
:+."!/$; 8781 878 8781
'()*%!+ 0 '-6+)+
-"/#$ 1 2 0
)%5/(' ,71
'$/**#+'' ,78+9
:+."!/$; 878 <87, 878
5(>-
User's Guide - WARP3D Contact Tips
6.4-1 Chapter 6 Contact Algorithms
6.4 Tips for Analyses Using Contact
Contact analyses can be very troublesome; convergence is by no means guaranteed, and
may be difficult to achieve. Also, improperly defined contact surfaces cause severe problems
and may prove formidable to find. However, a variety of solution strategies and modelling
techniques can significantly improve the likelihood of a successful analysis. This section
presents some tips and suggestions for improving the performance of contact analyses in
WARP3D.
Choosing a penalty parameter
Choosing an appropriate penalty parameter (contact stiffness) is one of the most important
factors in the success of a contact analysis. A contact stiffness which is too small allows too
great a penetration, while a parameter which is too large causes significant convergence
problems (particularly with the preconditioned conjugate gradient solver), and degrades
the accuracy of the solution. Also, the choice of a penalty parameter depends on the materi
al model, the element type, mesh size, the type of loading, and even the contact surface. A
few guidelines:
D The contact stiffness should be several orders of magnitude greater than the local
stiffness" of the structure at the point of contact. To evaluate the structural stiffness
at a node, run an analysis with a unit force at the node normal to the potential contact
surface. The local stiffness of the structure at the node is simply the force divided by
the resulting displacement. A contact stiffness many magnitudes more than this val
ue may cause illconditioning and large errors in the results.
D To assess the adequacy of an appropriate penalty parameter in a new analysis, try
a small value first, then rerun the analysis several times, each time increasing the
penalty parameter. A good choice is a penalty parameter which maintains strong con
vergence properties, but which would cause convergence problems if increased some
what. Once a successful parameter is found, analyses with similar properties (load
ing, material, etc.) can use a similar value.
D Experience indicates that curved contact surfaces, such as cylinders and spheres,
need a lower contact stiffness than rectangular contact surfaces.
Convergence of the first step
Achieving convergence of contact analyses on the first step in which contact takes place can
be challenging. Oscillations may occur where contact springs force penetrating nodes com
pletely out of contact. Without any contact to restrain them, the nodes penetrate on the next
Newton iteration, repeating the cycle and impeding convergence. To avoid this problem:
D Reduce the size of the first step in which contact occurs; this is particularly necessary
for moving contact surfaces. An effective step size for the first step with contact may
need to be onethousandth of the step size used for the remainder of the analysis. Af
ter the first step converges and contact initiates successfully, the step size can in
crease significantly. A reduced loading for a step or two may be necessary each time
the contact surface experiences a significant shift in direction. Redefinition of the
time increment per load step provides an effective means of reducing the movement
rate for a contact surface; see Section 2.10 for information on the time step parameter.
Make sure that any explicitly defined, nonzero constraints also reflect the change in
movement rate.
D Decrease the contact surface stiffness by several orders of magnitude for the first load
step with contact. Then redefine the contact surface with a much higher stiffness af
ter a step or two.
User's Guide - WARP3D Background
6.4-2 Chapter 6 Contact Algorithms
D If the analysis contains a contact surface with a nonzero velocity, insure that the time
increment per load step is reasonable. Many convergence problems arise from inaccu
rately specified time increments. See Section 2.10 for information on the time step pa
rameter.
Improving general convergence
A number of techniques can improve general convergence of contact analyses. A few are
listed below:
D Take smaller computational load steps.
D Use a smaller contact stiffness.
D Analyses which contain symmetry planes are significantly more robust than similar
analyses which model the entire structure (and thus have more rigid body motion).
D Make sure that all rigid body motions are prevented using explicit constraints. Con
tact enforcement using the penalty method is equivalent to supplying force boundary
conditions, which are typically less robust than explicit constraint boundary condi
tions.
D If elimination of rigid body motions is not possible, try including mass in the analysis
with small time steps. The addition of inertia can help stabilize the analysis.
D If the analysis involves moving contact surfaces, then application of explicit
constraints on nodes which move along with the contact surface can improve conver
gence significantly. See the pinloaded C(T) specimen in the examples section for an
example.
D Incorrect specification of contact surfaces can cause hidden difficulties; see Section
6.3 for more details on contact input and possible problems.
D Turn adaptive load reduction off (adaptive off in the nonlinear solution parameters
command).
User's Guide - WARP3D Example Problems
6.5-1 Chapter 6 Contact Algorithms
6.5 Example Analyses Using Contact
To illustrate contact in WARP3D, the following three examples present representative
analyses which use contact surfaces. The examples include the rolling of a metal bar, crush
ing of a pipe, and crack closure in a pinloaded C(T) specimen.
6.5.1 Rolling of a Metal Bar
This problem simulates the crushing of a metal bar using a rigid roller. The roller, with a
3" radius, comes into contact with the 2"2"10" bar 2 inches from the end, moves down
ward 0.5 inches, then moves along the bar at a constant height until it passes through the
other end. Figure 6.10 shows the mesh and boundary conditions for the problem, as well
as the path of the roller. The mesh contains 320 8noded brick elements and 525 nodes, and
uses the mises material model, with E+30000 ksi, n+0.3, s
0
+60.0 ksi, and n+10. The
solution uses large deformation theory, and a total of 200 load steps, with 50 load steps for
the initial crushing and 150 load steps for the rolling. The penalty stiffness of the rigid cylin
der is 10
6
.
FIG. 6.10Mesh for rolling of a metal bar. Shaded planes indicate
planes of nodes which are constrained. Arrows indicate
path of cylinder during analysis.
10"
3"
2"
2"
In order to start the contact smoothly and avoid initial convergence problems, the roller
moves down 10
5
inches per step over the first two steps, then 10
2
inches per step until
step 50. After 50 steps, the total downward displacement of the roller is 0.48002 inches. The
roller stops for a load step, then moves across the bar, starting at a rate of 10
3
inches per
step for steps 52 and 53, and at 0.05 inches per step for steps 54 to 200. Figure 6.11 shows
deformation plots at several points during the analysis, and portions of the analysis input.
Three load steps require adaptive step reduction to achieve convergence of the Newtons it
erations.
6.5.2 Crushing of a Pipe
This example is a large deformation analysis of a pipe crushed inside a rigid box. The plane
strain model uses four contact planes; a horizontal contact plane descends from above the
User's Guide - WARP3D Example Problems
6.5-2 Chapter 6 Contact Algorithms
1
1
1
Y
1
FIG. 6.11Deformed shapes from rolling of a metal bar. Deformed
shapes shown at (a) step 50, (b) step 70, (c) step 150, and (d)
step 200. Part (e) shows a portion of the input file for this
analysis.
(a)
(b)
(c)
(d)
c
c =========== cylinder moves downwards ========
c
contact planes
surface 1 cylinder
point 2 5.000 10
direction 0 0 1
length 20
radius 3.0
stiffness 10.0e5
rate 0.0 .01 0.0
nonlinear analysis parameters
time step .001
extrapolate off
compute displacements for loading test step 12
nonlinear analysis parameters
time step 1.0
compute displacements for loading test step 350
c
c =========== cylinder stops========
c
contact planes
clear
surface 1 cylinder
point 2 4.51998 10
direction 0 0 1
length 20
radius 3.0
stiffness 10.0e5
rate 0.0 0.0 0.0
compute displacements for loading test step 51
c
c ============== cylinder moves horizontally
c
contact planes
clear
surface 1 cylinder
point 2 4.5199810
direction 0 0 1
length 20
radius 3.0
stiffness 10.0e5
rate 0.01 0.0 0.0
nonlinear analysis parameters
time step .1
compute displacements for loading test step 52 53
nonlinear analysis parameters
time step 5.0
compute displacements for loading test step 54 200
(e)
pipe, while the side and bottom planes remain stationary. As the planes crush the pipe, the
initially circular pipe transforms to a rectangular shape. The outside radius of the pipe is
5 inches, and the wall is 1 inch thick. The model, constructed with 186 8noded elements
and 496 nodes, uses a mises material model, with E+30000 ksi, n+0.3, s
0
+60.0 ksi, and
n+10. The top plane translates down 10
6
inches the first step, then 2.510
3
inches per
step for the remainder of the analysis, providing a 5 inch height reduction after 2000 load
steps. Fixed constraints on the topmost nodes travelling with the moving contact plane help
User's Guide - WARP3D Example Problems
6.5-3 Chapter 6 Contact Algorithms
FIG. 6.12Deformed shapes from crushing of a pipe. Deformed shapes
shown at 500 step increments between 0 and 2000 load steps.
Original
Step 500
Step 1000
Step 1500
Step 2000
stabilize the model. Figure 6.12 displays a series of deformed shapes at various stages of
the analysis.
6.5.3 Crack Closure in a PinLoaded C(T) Specimen
Finite element analyses of fracture specimens typically do not include the actual boundary
conditions as applied in experiments. For instance, experimental procedures dictate that
loading of a compact tension, C(T), specimen use pins, while finite element analyses of the
specimen usually load a single line of nodes or fill in the pin hole with linear elastic ele
ments. While in general the discrepancies between experimental and modelled boundary
conditions cause only minor differences in the crack front results, there are cases in which
the true boundary conditions can cause significant differences.
To demonstrate the use of contact surfaces provided in WARP3D in the analysis of frac
ture specimens, this section describes the large deformation, plane strain analysis of a pin
loaded C(T) specimen, where a contact cylinder explicitly models the pin loading. Further
more, the analysis includes both cyclic tensile and compressive loading, causing crack
closure. To model crack closure, a rectangular contact surface congruent with the symmetry
plane prevents penetration of the crack face. The model has a width W of 1.9685 inches,
and a crack length to width (a/W) ratio of 0.6. An initially blunt notch with a radius of
7.610
4
inches allows significant blunting at the crack tip as deformation increases. The
User's Guide - WARP3D Example Problems
6.5-4 Chapter 6 Contact Algorithms
pin has a radius of 0.17 inches, while the radius of the hole in the C(T) specimen is 0.18
inches. The model contains 435 8noded elements and 1000 nodes, and uses a mises materi
al model with E+30000 ksi, n+0.3, s
0
+60.0 ksi, and n+10. Figure 6.13 illustrates the
mesh, and Figure 6.14 shows the deformation and stress contours of the model at several
points during the analysis.
FIG. 6.13Mesh for pinloaded C(T) analysis.
1.97"
0.78"
Radius of Pin:
0.17
Radius of Hole:
0.18
1.18"
Rigid Contact Plane
To initiate contact, the pin moves only 5.010
8
inches upwards during the first step.
On step 2, the rate increases to 5.010
4
inches per load step. This continues until the spec
imen experiences a total upward displacement of 0.0138 inches at step 30, after which the
pin moves downwards. The downward movement begins at 5.010
8
inches for step 31,
then increases to 1.010
4
inches per step. To assist computational stability during the
initial loading and unloading of the specimen, explicit constraints on the nodes at the top
of the loading hole ensure model displacement commensurate with the pin displacement.
This is crucial in the unloading section between steps 31 and 61, where an analysis which
does not include the explicit constraints requires a loading rate several orders of magnitude
smaller. After step 61, the analysis moves into compressive loading, at which point the ex
plicit constraints are removed. Once again, to ensure smooth convergence with the initial
contact, the first step uses a displacement of 5.010
8
inches, while movement of 5.010
4
inches per step ensues afterwards. The loading continues until step 130, achieving a total
downwards displacement of 0.032 inches. Crack closure initiates on step 75, and by step
130, the crack closes almost completely except for a small region near the crack tip.
A selected portion of the input file follows:
constraints
*input from file 'constraints'
33 34 v 5.0e-8
nonlinear analysis parameters
time step 0.0001
extrapolate off
c
User's Guide - WARP3D Example Problems
6.5-5 Chapter 6 Contact Algorithms
FIG. 6.14Deformed shapes for pinloaded C(T) analysis. Stress
contours range from 0 to 120 ksi in 20 ksi increments.
Step 30:
maximum
upward
displacement
Step 60:
return to
initial
position
Step 130:
maximum
downward
displacement
contact surface
surface 1 cylinder
point -1.181 .75322844 -1
direction 0 0 1
length 2
radius .17
stiffness 10.0e5
rate 0.0 0.0005 0.0
c
compute displacements for loading test step 1
c
nonlinear analysis parameters
time step 1.0
constraints
*input from file 'constraints'
33 34 v .0005
User's Guide - WARP3D Example Problems
6.5-6 Chapter 6 Contact Algorithms
c
compute displacements for loading test step 2-30
c
constraints
*input from file 'constraints'
33 34 v -5.0e-8
contact surface
surface 1 cylinder
point -1.181 .76772849 -1
direction 0 0 1
length 2
radius .17
stiffness 10.0e5
rate 0.0 -0.0005 0.0
nonlinear analysis parameters
time step 0.0001
c
compute displacements for loading test step 31
c
constraints
*input from file 'constraints'
33 34 v -.0005
nonlinear analysis parameters
time step 1.0
c
compute displacements for loading test step 32-60
c
constraints
*input from file 'constraints'
contact surface
surface 1 cylinder
point -1.181 .7245 -1
direction 0 0 1
length 2
radius .17
stiffness 10.0e5
rate 0.0 -0.0005 0.0
surface 2 plane
point -10 0 -10
point -10 0 10
point 10 0 -10
stiffness 10.0e5
nonlinear analysis parameters
time step 0.0001
c
compute displacements for loading test step 61
c
nonlinear analysis parameters
time step 1.0
c
compute displacements for loading test step 62-130
Users Guide WARP3D Example Problems
6.56 Chapter 6 Contact Algorithms
c
compute displacements for loading test step 230
c
constraints
*input from file constraints
33 34 v 5.0e8
contact surface
surface 1 cylinder
point 1.181 .76772849 1
direction 0 0 1
length 2
radius .17
stiffness 10.0e5
rate 0.0 0.0005 0.0
nonlinear analysis parameters
time step 0.0001
c
compute displacements for loading test step 31
c
constraints
*input from file constraints
33 34 v .0005
nonlinear analysis parameters
time step 1.0
c
compute displacements for loading test step 3260
c
constraints
*input from file constraints
contact surface
surface 1 cylinder
point 1.181 .7245 1
direction 0 0 1
length 2
radius .17
stiffness 10.0e5
rate 0.0 0.0005 0.0
surface 2 plane
point 10 0 10
point 10 0 10
point 10 0 10
stiffness 10.0e5
nonlinear analysis parameters
time step 0.0001
c
compute displacements for loading test step 61
c
nonlinear analysis parameters
time step 1.0
c
compute displacements for loading test step 62130
Users Guide - WARP3D Parallel Execution
Chapter 7
Parallel Execution
7.1 Introduction
Parallel processing to perform the analysis of a large, 3-D nite element model oers the poten-
tial to reduce signicantly the elapsed time needed to compute the solution. WARP3D oers
two common parallel processing architectures: (1) threads and shared-memory, and (2) hybrid
systems which use message passing between concurrently executing copies (ranks) of a program
combined with shared-memory and threads on each rank. Each architecture is described briey
here as an introduction to further discussions in this chapter.
7.1.1 Threads and Shared-Memory
The simplest conguration is a processor chip that contains multiple cores, typically now 4,
6, or 8 cores but with an increased number expected in the future. Each of the cores is an
independently executing computational unit. Each of the cores has eectively uniform, equal
access to the large, main memory system, i.e.,the cores all share the memory (for example
4-64GB on a small desktop computer). Each core has its own local, high speed cache memory;
the operating system and memory hardware work to ensure the coherency of data spread across
the core cache memories and the main system memory.
This design typies current laptop, desktop and deskside systems running the Windows,
Linux and OS X operating systems. The operating system dispatches programs for execution
to a core and switches programs across the cores as needed. When a single program contains
multiple tasks (called threads) that can be executed simultaneously, for example iterations of
certain do/for/while loops, the operating system dispatches threads to the cores thus achieving
parallel execution of the program. In larger compute servers, multiple processor chips will be
included on the main board for the system, with each processor chip containing multiple cores
(4, 6, 8, ..). Some hardware designs extend the capability of each core to execute multiple,
concurrent threads. Thus a processor chip with 8 cores, each capable of running 2 threads
oers the potential of running 16 concurrent tasks.
WARP3D utilizes the shared-memory (SM) capabilities with threads that can be dispatched
and executed concurrently. This is accomplished in various parts of the code primarily (1)
through the block structuring of elements (Section 2.6) dened in the input le and (2) through
use of the Pardiso linear equation solver (thread-based, with sparse direct and iterative options).
The WARP3D (Fortran) source code includes directives to create and manage threads during
execution using the industry standard OpenMP framework. To illustrate this process, consider
this simplied code fragment to drive the process of element stiness computation using the
block framework:
do in parallel block = 1, all_blocks_in_model
call compute_elem_stiff_for_a_block( block, ..)
end parallel do
Chapter 7 (Updated: 5-10-2013) 7.1-1 Introduction
Users Guide - WARP3D Parallel Execution
Suppose a model has 100 blocks of elements dened in the WARP3D input le and the user
has specied that WARP3D can use 5 threads during execution. Usually the number of threads
allowed for use is less than or equal to the number of threads available on the computer. In the
simplest case of execution for the above code, thread 1 processes element block 1, 6, 11, 16,
etc. Thread 2 processes blocks 2, 7, 12, 17, etc. The 5 threads run concurrently and can thus
reduce signicantly the elapsed time to compute all the element stiness matrices. Ineciencies
arise when the amount of work for the blocks varies (some threads then run longer than others)
and the code must wait for all threads to complete their work. For example, before starting
the stiness assembly process which also runs in parallel, stinesses must be completed for all
blocks of elements.
The code implements the thread-based, parallel processing of element blocks illustrated
above for the computation of: (1) initial linear stiness and mass, (2) tangent stinesses, (3)
updated strains and stresses, (4) element (internal) nodal forces for the updated stresses, and (5)
computation of domain integral quantities. This high-level parallel execution achieved through
element blocking achieves near linear scaling with increasing model sizes and number of threads.
A nal, low-level of parallel execution is also achieved through the element blocking. The
inner-most loops in all element computations for a block run from 1 through the number of
elements in the block. The next higher loop runs over integration points for elements in the
block. Most serial codes, in contrast, have inner loops over the number of integration points
of a single element. The element blocking structure, with much longer inner-loop lengths (64,
128, 256 for example), exposes signicant opportunities for compilers to optimize local cache
memory, registers and pipelining to achieve essentially vector processing eciencies at the
inner-loop level.
7.1.2 Hybrid Systems (MPI + Threads)
Computers designed with the shared-memory architecture begin to lose eciency and the hard-
ware becomes exceedingly complex as the number of processor-chips and cores increases. The
maintenance of fast access to the shared, main memory and coherency of local cache memories
for the large number of cores requires increasingly complex (expensive) hardware. An alterna-
tive design uses a cluster of separate computers connected together most often with dedicated,
very high-speed networking hardware. Each of the separate computers has the architecture of a
shared-memory computer with its own memory system and disks. The design of a large, com-
prehensive program to execute in parallel in this type of environment with separate computers
communicating over a high-speed network becomes very challenging.
The approach now adopted as an industry standard for these type of computer systems
relies on explicitly-coded message passing over the network. Suppose the cluster has 8 separate
computers, each with 8 cores running a single thread. A copy of WARP3D is started on each core
of each computer, with the rst copy designated as the manager process. The other 63 worker
copies of WARP3D start execution and then wait for a message from the manager process with
a request for something to be computed for the model; e.g.,element stiness matrices for a
portion of the mesh. The execution continues with the manager and worker copies of WARP3D
sharing and exchanging data about the solution. The coding for this approach becomes far
more complex than the shared-memory approach and requires design of the software from
the beginning with parallel execution via message passing. The industry standard software to
provide the message passing services is called MPI (Message Passing Interface). MPI provides a
Chapter 7 (Updated: 5-10-2013) 7.1-2 Introduction
Users Guide - WARP3D Parallel Execution
host of services to share data, to synchronize the independently executing copies of WARP3D,
and to create and release additional copies of WARP3D as needed during solution.
All advantages of the shared-memory, parallel execution are used by the manager and
worker copies of WARP3D. This provides an ecient, second-level of parallel execution during
an analysis, since each of the computers in a cluster is most often a multi-processor, shared-
memory computer with each processor having multiple cores.
To support execution using the MPI approach, WARP3D employs a higher-level of model
decomposition (also termed partitioning) than is provided by the element blocking alone. Blocks
of elements are aggregated into domains, and there are as many domains as the number of MPI
ranks set by the user at the onset of execution. In this way, each worker rank owns a domain
consisting of element blocks (a block of elements resides entirely in a single domain). When
a worker receives an MPI message from the manager to compute element stiness matrices,
it does so for all the blocks it owns using the thread-based parallel concept illustrated in the
previous code fragment. This two-level parallel execution for a worker appears as
do in parallel block = 1, all_blocks_in_model
domain_for_block = domain_list(block)
if( domain_for_block .ne. my_mpi_rank ) cycle
call compute_elem_stiff_for_a_block( block, ...)
end parallel do
where this same code fragment is executed in thread parallel over the blocks on the manager
and on all workers concurrently.
The hypre iterative equation solver is invoked to solve the linear equations in each Newton
iteration. Hypre uses the same MPI ranks during the equation solving process (and threads on
each rank).
The process of model decomposition into domains represents a topology optimization prob-
lem. A good decomposition into n domains minimizes the number of shared nodes between
domains to reduce the amount data exchanged during solutions. The patwarp support program
described in Appendix C provides the services to decompose a large model into domains and
each domain into blocks. This requires that the analyst know early on the number of MPI ranks
(= number of domains) that will be used for the analysis.
7.1.3 Summary & Recommendations
The WARP3D architecture provides multiple approaches to achieve parallel execution during
an analysis.
We expect the majority of WARP3D users will employ the threads-only style of parallel
execution on Windows, Linux and OS X systems. The linear solver choices are then Pardiso
(direct and iterative). The model has blocks of elements but no partitioning into domains.
The assignment of elements to blocks is readily performed (automatically) by WARP3D (see
Section 2.6). Analyses of models approaching 10
6
nodes are feasible with this approach on
current hardware (mid-2013).
For very large models most often analyzed on larger servers and clusters, the preferred
approach uses the hypre solver in a domain-decomposition + blocking setup of the model.
Chapter 7 (Updated: 5-10-2013) 7.1-3 Introduction
Users Guide - WARP3D Parallel Execution
The hybrid (MPI + threads) version of WARP3D is available only on Linux systems. The
patwarp program may be used to perform the domain decomposition and element blocking
during preparation of an input le.
The remaining sections of the is chapter describe needed details to utilize each of these
approaches.
Chapter 7 (Updated: 5-10-2013) 7.1-4 Introduction
Users Guide - WARP3D Parallel Execution
7.2 Threads-Only Execution (Windows, Linux, OS X)
The threads-only approach provides parallel execution in the processing blocks of elements, in
the Pardiso equation solvers and in the element-by-element conjugate gradient solver. Input
les are identical for this approach on the three platforms. The operating system commands to
start execution are the same on Linux and OS X, but dierent on Windows. Refer to Section
2.10 for a more in-depth discussion of equation solvers.
On each platform, WARP3D is an executable program that does not have a graphical
user interface. Consequently, the process to execute WARP3D begins with the user entering
commands into a shell program the Bash shell on Linux/OS X and the command shell on
Windows. The subsections here provide details for each platform.
Windows
WARP3D supports current 64 bit versions of the Windows operating system (Windows 7, ...)
executing on Intel and AMD processors.
The command shell is generally located at c:\Windows\System32\cmd.exe. Once the shell
command window is open, enter commands to change to the directory where the WARP3D
input le(s) for the analysis are located. You will also need to know where the WARP3D
executable is located. For this discussion, we assume WARP3D has been installed with the
executable located at c:\WARP3D\run windows 64\warp3d.exe, and that the input les for
analysis are located in the directory d:\analysis project. The following commands can be en-
tered at the command shell prompt (a % here):
%set warp3d=c:\WARP3D\run_windows_64\warp3d.exe
%cd d:\analysis_project
%set MKL_NUM_THREADS=8
%set OMP_NUM_THREADS=8
% %warp3d% <input_file >output_file
The same commands above may be entered into a .bat le using Notepad, Word, etc. (for
example, runwarp3d.bat) and then executed by simply typing runwarp3d.bat at the command
shell prompt. To see examples of many features available in bat les, examine the Makewarp.bat
le included under the src directory in the WARP3D distribution.
In these commands above, the %set warp3d... denes a short-cut (shell variable) to access
the WARP3D executable. The subsequent %warp3d% references the contents of the shell vari-
able. The key commands above are the %set MKL.. and %set OMP.. which dene variables
(just within the command shell) to the number of threads that the MKL solver will use and the
number of threads used in all parts of WARP3D that run parallel using OpenMP (i.e.,OMP).
These values can also be set from within the WARP3D input le as illustrated below.
On the line above that invokes WARP3D, the <and >are I/O redirection operators uniform
across nearly all types of command shells. If the < (input) le is omitted, WARP3D begins
interactive execution in the command shell window, issues a prompt character (>) and waits
for the user to enter an input line.
Many people today work across Linux, OS X and Windows environments; they often
nd the non-standard command and scripting language of the Windows command shell quite
Chapter 7 (Updated: 5-10-2013) 7.2-1 Threads-Only Execution
Users Guide - WARP3D Parallel Execution
cumbersome. Fortunately, a large portion of the standard Linux command and shell system
has been ported to Windows, is very robust, and is free. This system is known as Cygwin
(http://www.cygwin.com/). Cygwin supports all the major Linux command shells (bash, csh,
tcsh, .... The following commands are taken from a simple Bash shell script to start execution
of WARP3D (with Cygwin) on a Windows system:
#!/bin/bash -f
#
# run WARP3D on Windows
#
warp_dir="d:/WARP3D_development/warp3d_project"
export MKL_NUM_THREADS=4
export OMP_NUM_THREADS=4
$warp_dir/run_windows_64/warp3d.exe <input_file >output_file
exit
Linux and OS X
The threads-only version of WARP3D runs on Linux and OS X. In this section, let the threads-
only executable be named warp3d.omp (for OpenMP)
Prior to starting WARP3D, the user sets the shell environment variables to indicate the
number of threads allocated for use by the Pardiso (MKL) solver and the number of threads
for use by those parts of WARP3D. The number of MKL threads and the number of OpenMP
threads can be identical or dierent as the analyst desires. Most often the number of MKL and
OpenMP threads are assigned the same value. The following example illustrates this process
enclosed within a simple shell script le.
#!/bin/bash -f
#
# run WARP3D on Linux or OS X
#
export WARP3D_HOME=/Users/jsmith/warp3d_distribution
export MKL_NUM_THREADS=8
export OMP_NUM_THREADS=8
$WARP3D_HOME/run_linux_em64t/warp3d.omp <input_file >output_file
or
$WARP3D_HOME/run_mac_os_x/warp3d.omp <input_file >output_file
exit
The analysis input le need not request use of a specic sparse solver; WARP3D defaults to
the Pardiso (MKL) sparse direct solver automatically:
nonlinear analysis parameters
solution technique sparse direct
maximum iterations 5
minimum iterations 1
.
.
Chapter 7 (Updated: 5-10-2013) 7.2-2 Threads-Only Execution
Users Guide - WARP3D Parallel Execution
7.3 Solutions with Domain Decomposition: Linux Only
The hybrid version (MPI + threads) of WARP3D is designed to use domain decomposition
for large models analyzed on computational servers/clusters and supercomputers. The linear
equation solver is hypre which runs distributed across the MPI ranks. WARP3D also performs
stiness assembly with a distributed approach on the MPI ranks
1
. The additional complexities
in model denition with domain decomposition are often oset by the ability to run on a wider
range of cluster hardware and often with quite ecient parallel execution for increasing MPI
ranks that match available machine resources.
This approach relies of the concept of domain decomposition of the nite element model
to partition the large data structures needed during analysis across the computers performing
the solution. Domain decomposition assigns each nite element of the model to a domain. In
our implementation, there are as many domains as MPI ranks used for parallel execution. Each
rank owns all the data arrays associated with the elements assigned to the domain and data
for all nodes that lie completely within the domain, i.e., nodes not lying along boundaries
shared with other domains. Data for nodes on the domain boundaries are shared among the
corresponding domains.
Consider, for example, a nonlinear nite element model that contains 640,000 elements
representing a mixture of 8-node bricks, 20-node bricks, elements to make transitions between
them, and various nonlinear material models assigned to the elements. Suppose the model is
analyzed using 32 ranks each running WARP3D in parallel (usually on 32 dierent processor
cores). A simple domain decomposition strategy assigns 20,000 elements to each of 32 domains
for processing. However, this simple strategy generally leads to poor load balancing among the
processors. Domains containing many 20-node elements, for example, may require much greater
cpu time to complete element stiness updates. The analysis cannot proceed with solution of
the equilibrium equations until all element stinesses are updated. As a consequence, other
processes which perform computations for domains of 8-node elements become idle, doing no
useful work, and waiting to begin the equation solving phase. Idle processors quickly degrade
parallel eciency of the code. To improve load balance during the analysis, domains should be
created with dierent numbers of elements and types of elements to achieve a more uniform
level of computational eort required to process each domain.
In summary, the nite element model consists of domains (1 domain per MPI rank) with
domains made of blocks of variable size (maximum size set by user) and blocks composed of
elements of the same type, the same material model, etc. MPI ranks provide the highest-level
parallel execution (in some cases across computers on a network) while threads provide parallel
execution of blocks on each MPI ranks using the local shared-memory.
7.3.1 Commands to Start Execution
These instructions assume the use of Intel MPI Library version 4.x. Other implementations of
MPI may work equally as well. The steps are:
Set variables dening the location for the WARP3D system installation and for the location of
the hybrid executable.
1
Models with the tie-mesh and/or multi-point constraint feature prevent use of the distributed assembly.
Element stiness matrices are copied to rank 0, equations assembled, constraints imposed and equations re-
distributed to ranks for hypre equation solving.
Chapter 7 (Updated: 5-10-2013) 7.3-1 Solutions with Domain Decomposition
Users Guide - WARP3D Parallel Execution
Set environment variables for the number of threads to be used during execution:
(1) NUM_WARP3D_RANKS. Number of MPI ranks that will execute WARP3D. The manager process
runs on rank 0.
(2) OMP_NUM_THREADS. Number of threads used by WARP3D on each MPI rank to process
element blocks; recommend to set MKL_NUM_THREADS=1
Increase the runtime stack size for each rank to about 100MB to accommodate increased size
of some arrays for very large models. Unit specied is kbytes..
Set three environment variables used by the MPI runtime system
Echo various setup values to stdout before starting execution
Start WARP3D execution via the mpirun command with various options. Here, we indicate
shared memory MPI communication .
The following statements extracted from a Bash shell script perform the steps described
above. The complete Bash shell script is included in the WARP3D distribution (le name:
warp3d_script_linux_hybrid). This script is sucient to run on a laptop, desktop on single
node of a cluster. The script will require localization commands to run on specic cluster.s
#
#
export WARP3D_HOME=/Users/jsmith/warp3d_distribution
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WARP3D_HOME/linux_packages/lib
#
warp3d_exe="$WARP3D_HOME/run_linux_em64t/warp3d.mpi_omp"
#
#
export NUM_WARP3D_RANKS=#
export OMP_NUM_THREADS=#
export MKL_NUM_THREADS=# (recommend set same as OMP_NUM_THREADS)
#
# increase the allowable size of the runtime stack. needed
# for MPI jobs that also use threads. here set to about 100MB
#
ulimit -s 100000
#
export MPI_TYPE_MAX=4096
export I_MPI_PIN_DOMAIN=omp
export I_MPI_PIN_HOST=1
#
echo " Starting WARP3D with MPI + OpenMP hybrid execution..."
echo " o Number WARP3D MPI processes @ startup: " $NUM_WARP3D_RANKS
echo " o Number OpenMP threads each WARP3D rank: " $OMP_NUM_THREADS
echo " o Number MKL library threads for hypre rank: " $MKL_NUM_THREADS
echo " "
#
#
mpirun -np $NUM_WARP3D_RANKS $WARP3D_HOME/run_linux_em64t/warp3d.mpi_omp
#
These statements can be enclosed in a Bash shell. Input and output les for WARP3D can
be passed through as shell parameters, and the shell can be executed in background mode if
desired or included with a job scheduling system at a supercomputer center.
Chapter 7 (Updated: 5-10-2013) 7.3-2 Solutions with Domain Decomposition
Users Guide - WARP3D Parallel Execution
7.3.2 Extensions to Blocking Command
To provide the element assignment into domains and blocks, the extended blocking command
described in Section 2.6 also includes the domain number for each element block. The command
has the form
blocking
<block:integer> <block size:integer> <first element in block:integer > ...
<domain:integer>
Consider this simple example. The model has 2 domains (for analysis using 2-way MPI exe-
cution). There are 5 blocks of elements and we assign blocks 1-3 to domain 0 and blocks 4, 5
to domain 1 (based on an estimate of the relative workload of the elements appearing in the
blocks). The blocking command then becomes for this simple example
blocking
1 128 1 0
2 128 129 0
3 64 257 0
4 64 321 1
5 20 385 1
The numbering of domains starting with zero maintains consistency between the domain num-
ber and the MPI rank responsible for all computations on the domain. The rules detailed in
Section 2.6 for the assignment of elements to blocks carries over into MPI-based parallel exe-
cution. Generally, all elements in a block must be the same type, e.g.,8-node, the same type of
nonlinearity, the same material model, etc. However, all of the blocks assigned to a domain are
not required to have the same type of elements.
7.3.3 Extensions of patwarp to Support Domain Decomposition
One task of the patwarp program (provided as a component of the WARP3D distribution)
assigns all elements in the model to blocks. patwarp reads the model denition from a Patran
compatible neutral le (2.5 neutral le format) for the nite element model. The analyst spec-
ies to patwarp the maximum number of elements in a block and the option of vectorized or
scalar assignment of elements to blocks. A typical maximum block size is 128. The vectorized
blocking insures that no elements within a single block share a common node. The simpler,
scalar blocking eliminates this restriction but insures that all elements in a block are the same
type, same material model, etc.
The patwarp program also: (1) generates an optimized partitioning of nite elements into
the analyst specied number of domains and, (2) assigns all elements in each domain into
blocks following the established rules described in Section 2.6. The assignment of elements to
domains may be accomplished in many ways. An optimal domain decomposition is one which:
(1) leads to good load balancing among processors during execution and, (2) minimizes the
communication of nodal information between domains for their shared nodes. To achieve (1),
patwarp internally assigns a work factor for each type of element in the model, i.e.,a 20-node
element has a work factor 6.3 times larger than the value for an 8-node element. To minimize
Chapter 7 (Updated: 5-10-2013) 7.3-3 Solutions with Domain Decomposition
Users Guide - WARP3D Parallel Execution
communication of data between domains, the domains are constructed to minimize the number
of shared nodes. Viewed another way, we decompose a solid into n subvolumes (domains) of
various shape/size which minimizes the total surface area of the subvolumes. The satisfaction
of both requirements (2) and (1) simultaneously for very large nite element models poses
a complex optimization problem. Considerable research has been conducted on this specic
problem and several ecient optimization algorithms have evolved. We have incorporated the
METIS software into patwarp to perform these operations required for the domain decompo-
sition. METIS is developed and distributed by Karypis and colleagues at the University of
Minnesota Center for High Performance Computing.
In summary, the following steps are required by the user to prepare a WARP3D input le
for parallel execution using the domain decomposition approach:
construct the 3-D nite element model using various mesh generators (PATRAN, FEMAP,
locally developed programs for special models, etc.) which generate a Patran compatible neutral
le (2.5 format) for the model.
run patwarp to process the Patran neutral le for the model. patwarp requests that the user
specify the required number of domains and, as previously, the maximum number of elements
in a block, and the type (scalar, vector) of blocking desired The interactive patwarp program
prompts the user for the required/recommended data.
patwarp converts 8-node elements into various transition elements if so requested by the user,
i.e.,12-node elements to connect 8 and 20-node elements.
patwarp writes a WARP3D input le with the assignment of each element block to a domain
using the new form of the blocking command.
Existing WARP3D input les remain compatible with the extended form of the blocking com-
mand. If no domain number appears in the blocking input data, WARP3D input routines
assign all blocks to domains in a simple round-robin manner based on the number of processors
specied on the mpirun (or similar) command used to start execution. This arbitrary domain
decomposition may lead to poor load balancing and high communication overhead. When the
program executes with 1 processor, all blocks reside in domain 0, MPI rank 0.
Similarly, WARP3D input les originally constructed with domains for hybrid execution
may be processed with the threaded-only version of the code. The threads-only version simply
ignores the domain numbers in blocking data.
7.3.4 Manager-Worker Parallel Architecture
In parallel nite element codes based on MPI and domain decomposition, various software
architectures have evolved to drive the assignment and interchange of data among ranks and to
control the order and type of computational events. WARP3D adopts the so-called manager-
worker architecture. In this approach, the manager process (i.e.,rank 0) handles the reading
of input data from the users les while the other (worker) processes enter a wait state. Once
the input is read, the manager broadcasts a copy of all key information about the model to
each of the workers. Examples of such data include the nodal coordinates, element incidences,
element properties, constraints, material properties and other data structures derived directly
from the input, e.g.,the list of elements connected to each node in the model. The workers then
independently create all the data structures necessary to store the information about elements
in the corresponding domain. Thus, for example, the total memory allocated to store element
Chapter 7 (Updated: 5-10-2013) 7.3-4 Solutions with Domain Decomposition
Users Guide - WARP3D Parallel Execution
stinesses is partitioned among the ranks; each rank allocates sucient memory to store only
the elements in that domain.
The manager maintains control over the sequencing of computational tasks to accomplish
the nonlinear solution. Workers are sent instructions requesting that they perform some part
of the solution process for the elements in their domain. Examples of such tasks include:
update the tangent stiness matrix for the elements,
compute incremental strains,
update stresses,
compute internal forces given the updated displacements and stresses,
perform operations that form the hypre equation solver,
compute contributions to the J-integral for elements in a domain.
The manager synchronizes the global solution at the end of each Newton iteration of each
load-time step. For example, the manager gathers the internal forces computed at the nodes in
each domain from the workers. Internal forces at the nodes of a domain not shared with other
domains already have their nal values. For nodes shared with other domains, the workers send
their partial contribution to the manager. The manager sums the partial internal force contri-
butions for shared nodes, then performs checks for convergence of the Newton iterations in a
load step. The manager handles all logic of the various options in the nonlinear solution pro-
cedure, e.g., extrapolation of displacement increments and decisions about adaptive solutions.
Computation of the incremental vector of applied forces for the load step is also accomplished
by the manager (the computational eort is small relative to the communication eort required
for parallel computations).
7.3.5 Generation of patran Result Files
By having data for elements in a domain distributed to the MPI rank that performs computa-
tions for the domain, the generation of patran compatible result les becomes more complex.
When the user requests output of a patran result le, the manager and workers each write
their own part of the patran le to a partial (fragment) of the nal patran le. For each output
command requesting a patran result le, this approach generates a series of partial patran les
with one partial le for each domain of the model.
Consider an analysis running in 32-way parallel with MPI. With an output command,
the user requests generation of patran nodal stresses after step 351 in binary format. In an
execution without domains, this le is named wnbs0351, i.e.,warp3d nodal binary stresses for
step 351. With domains, the 32 MPI ranks each write a le where the le name includes the
domain/rank number: wnbs0351.0000, wnbs0351.0001, wnbs0351.0002, ... wnbs0351.0031. The
4-digit domain number denes the sux for each le. The same strategy is used for element
result les. For les of nodal displacements, velocities and accelerations, the manager (domain
0) has access to all model values and simply writes a single patran result le without a domain
number sux.
Before patran can access results for post-processing, all the partial les must be combined
into a single result le for each load step of interest. We provide a support program named
pat_combine to perform this task outside of WARP3D. When executed, pat_combine exam-
ines the current directory for the presence of partial result les, combines them as necessary
Chapter 7 (Updated: 5-10-2013) 7.3-5 Solutions with Domain Decomposition
Users Guide - WARP3D Parallel Execution
(includes computation of nodal averages), and writes a new single result le, i.e.,wnbs0351 in
the present example. The partial result les remain in the directory (in the present version of
pat_combine). The execution of WARP3D and pat_combine may be overlapped for analyses
with long runtimes, i.e.,once WARP3D writes the partial result les for a step, pat_combine
may be executed to combine the result les while WARP3D continues the analysis of subsequent
load steps.
7.3.6 Generation of Restart Files
By having data for elements in a domain distributed to the rank that performs computations
for the domain, the generation of analysis restart les also potentially becomes much more
complex. At present in WARP3D, the workers send all element strain and stress values to the
manager when the user requests generation of a restart restart le.
This approach generates a single (binary) restart le, as is the case for threaded-only ex-
ecution of WARP3D. Unfortunately, this strategy has two disadvantages: (1) it generates a
signicant communication load to send the large volumes of element data to the manager, and
(2) the manager must allocate sucient memory to store the results for all elements in the
model. A similar communication cost and memory utilization overhead occurs during restart
when the process is reversed. Consequently, we strongly recommend generating restart les
only after critical load steps.
Several improved forms of this I/O strategy for restart are under consideration.
7.3.7 Summary of Parallel Tasks with Domain Decomposition
This section has described current capabilities of WARP3D to execute computational tasks
in parallel using a domain decomposition approach with a hybrid version of the code (MPI
+ threads). The table here summarizes more completely the status of various solution tasks
executing in parallel.
Chapter 7 (Updated: 5-10-2013) 7.3-6 Solutions with Domain Decomposition
Users Guide - WARP3D Parallel Execution
Computational Task Master
Rank
Worker
Rank
Thread
Processing
of Blocks
Initialization:
reading input le x
setup of shared data structures x
Start of New Load Step
compute equivalent nodal loads x
step size reduction (for crack growth) x
crack growth evaluation x
computation of eective load increment x
Newton Iterations for Step
element stiness update x x x
element mass matrices x x x
Assembly of structure stiness (for hypre) x x x
linear eq. solver: hypre (Pardiso not available) x x x
element strain update x x x
element stress update x x x
element internal force update x x x
contact detection/computation of contact forces x x
assembly of global residual force vector x
convergence tests x
J-Integral Computation
input and setup of domains, error checks x
expansion of automatic domains x
J calculation over a domain x x
output of values x
Output
translation of user output commands x
output of patran compatible les x x
Table: Summary of Tasks Executed in Parallel with Domain Decomposition.
Chapter 7 (Updated: 5-10-2013) 7.3-7 Solutions with Domain Decomposition
A.1 Appendix A Patran File Formats
Appendix A
Patran ResuIts FiIe Formats
Figures in this Appendix provide skeletal Fortran programs to read Patran nodal results
files. They provide a starting point for development of more advanced programs.
Fig. A.1 read a binary file of nodal strain/stress results
Fig. A.2 read a binary file of nodal displacements, velocities, accelerations, internal
forces
Fig. A.3 read an Ascii file of nodal strain/stress results
Fig. A.4 read an Ascii file of nodal displacements, velocities, accelerations, internal
forces
User's Guide - WARP3D
A.2 Appendix A Patran File Formats
! #####################################################################
! # #
! # $%&' ()$%((*()$&+, -+,&$. /&)$&, 0+1% #
! # #
! #####################################################################
!
!
+2/1+!+) +,)%3%$ 4&567
/&$&2%)%$4 2&8,9':;<<<<= 2&8!91(:>< 7
'9?-1% /$%!+(+9, ,9'@&142&8!91(=2&8,9'7
$%&1 $)%2/= /@&1(42&8!91(7
'+2%,(+9, )+)1%4A<7
!B&$&!)%$ # A< -+,,&2
!
)%$2+, : >
)%$29) : C
-+,0+1 : D<
!
E$+)%4)%$29)=#7 F F
E$+)%4)%$29)=#7 F F
E$+)%4)%$29)=#7 FGG -+,&$. ()$&+,*()$%(( /$9!%((+,3 /$93$&2F
E$+)%4)%$29)=#7 F F
E$+)%4)%$29)=HI<<7 F G ,&2% 90 $%(?1)( 0+1%J F
$%&'4)%$2+,=H><<7 -+,,&2
9/%,4?,+):-+,0+1=0+1%:-+,,&2=()&)?(:F91'F=$%!1:K<<<=09$2:F?,09$2&))%'F7
E$+)%4)%$29)=#7 F G 0+1% 9/%,%' 9LF
!
! $%&' )B% -+,&$. $%(?1)( 0+1% 90 ,9'&1 ()$&+,(*()$%((%(M
! /&)$&, $%(?1)( &$% (+,31% /$%!+(+9,M $%&' &( (+,31% &,'
! ()9$% &( '9?-1%M
!
$%&'4-+,0+17 )+)1%=,,9'%=++=$)%2/=++=,@&1(
$%&'4-+,0+17 )+)1%
$%&'4-+,0+17 )+)1%
E$+)%4)%$29)=#7 FGG ,?2-%$ 90 ,9'%(N F=,,9'%
'9 ,9'% : D= ,,9'%
+0 4 29'4,9'%=;<<7 M%OM < 7 )B%,
E$+)%4)%$29)=#7 F G /$9!%((+,3 ,9'%N F=,9'%
%,' +0
$%&'4-+,0+17 ++= 4/@&1(4PP7=PP:D=,@&1(7
,9'@&14DN,@&1(=,9'%7 : /@&1(4DN,@&1(7
%,' '9
!19(%4?,+):-+,0+17
!
! !&11 & $9?)+,% )9 '9 (92%)B+,3 E+)B )B% ,9'&1 @&1?%(
! 90 ()$%((*()$&+,M
!
!&11 /$9!%((4 ,9'@&1= ,,9'%= 2&8!91(= )%$29) 7
!
E$+)%4)%$29)=#7 FGG /$9!%((+,3 !92/1%)%'F
E$+)%4)%$29)=#7 FGG ,9$2&1 )%$2+,&)+9,F
!
!&11 %8+)
!
HI<< 09$2&)4&=Q7
H><< 09$2&)4&A<7
%,'
!
(?-$9?)+,% /$9!%(( 4 @&1?%(= ,,9'%= ,$9E= )%$29) 7
+2/1+!+) +,)%3%$ 4&567
'9?-1% /$%!+(+9, @&1?%(4,$9E=,,9'%7
$%)?$,
%,'
FIG. A.1Fortran program to read Patran binary file of nodal strain or stress results.
Users Guide WARP3D
A.3 Appendix A Patran File Formats
c *********************************************************************
c * *
c * read displ, vel, accel, inter. forces binary patran file *
c * *
c *********************************************************************
c
c
implicit integer (az)
parameter( maxnod=20000 )
double precision x(maxnod), y(maxnod), z(maxnod)
real xval, yval, zval
dimension title(80)
character * 80 binnam
c
termin = 5
termot = 6
binfil = 10
c
write(termot,*)
write(termot,*)
write(termot,*) >> binary node value pocessing program
write(termot,*)
write(termot,9400) > name of results file?
read(termin,9500) binnam
open(unit=binfil,file=binnam,status=old,recl=3000,form=unformatted)
write(termot,*) > file opened ok
c
c read the binary results file of nodal values.
c read x, y, z components. patran results are single
c precision. read as single and store as double.
c
read(binfil) title,nnode,ii,rtemp,ii,nvals
read(binfil) title
read(binfil) title
write(termot,*) >> number of nodes: ,nnode
do node = 1, nnode
read(binfil) ii, xval, yval, zval
x(node) = xval
y(node) = yval
z(node) = zval
end do
close(unit=binfil)
c
c call a routine to do something with the nodal values
c
call process( x, y, z, nnode, termot )
c
write(termot,*) >> processing completed
write(termot,*) >> normal termination
c
call exit
c
9400 format(a,$)
9500 format(a80)
end
c
subroutine process ( x, y, z, nnode, termot )
implicit integer (az)
double precision x(*), y(*), z(*)
return
end
FIG. A.2Fortran program to read Patran binary file of nodal displacements,
velocities, accelerations or internal forces.
Users Guide WARP3D
A.4 Appendix A Patran File Formats
c *********************************************************************
c * *
c * read ascii stress/strain patran file *
c * *
c *********************************************************************
c
c
implicit integer (az)
parameter( maxnod=20000, maxcols=50 )
double precision nodval(maxcols,maxnod), val3
character * 80 asciinam, line
c
c
termin = 5
termot = 6
asciifil = 10
c
write(termot,*)
write(termot,*)
write(termot,*) >> ascii strain/stress processing program
write(termot,*)
write(termot,9400) > name of results file?
read(termin,9500) asciinam
open(unit=asciifil,file=asciinam,status=old)
write(termot,*) > file opened ok
c
c skip past the header lines of neutral file.
c get number of nodes and number of result values
c for each node.
c
read(asciifil,9500) line
read(asciifil,9600) nnode, ival2, val3, ival4, nvals
read(asciifil,8900) line
read(asciifil,8900) line
c
c read values for each node into a double array.
c
write(termot,*) > reading nodal results file..
do node = 1, nnode
read(asciifil,9000) ii, (nodval(jj,node),jj=1,nvals)
end do
close(unit=asciifil)
write(termot,*) >> nodal results file read
c
c call a routine to do something with the nodal values
c of stress/strain.
c
call process( nodval, nnode, maxcols, termot )
c
write(termot,*) >> processing completed
write(termot,*) >> normal termination
c
call exit
c
8900 format(a1)
9000 format(i8,(5e13.7))
9400 format(a,$)
9500 format(a80)
9600 format(2i5,e15.6,2i6)
end
c
subroutine process ( values, nnode, nrow, termot )
implicit integer (az)
double precision values(nrow,nnode)
return
end
FIG. A.3Fortranprogramto readPatranASCII file of nodal strainor stress resultsT
Users Guide WARP3D
A.5 Appendix A Patran File Formats
c *********************************************************************
c * *
c * read displ, vel, accel, inter. forces ascii patran file *
c * *
c *********************************************************************
c
c
implicit integer (az)
parameter( maxnod=20000 )
double precision x(maxnod), y(maxnod), z(maxnod)
character * 80 asciinam, line
c
c
termin = 5
termot = 6
asciifil = 10
c
write(termot,*)
write(termot,*)
write(termot,*) >> ascii node value pocessing program
write(termot,*)
write(termot,9400) > name of results file?
read(termin,9500) asciinam
open(unit=asciifil,file=asciinam,status=old)
write(termot,*) > file opened ok
c
c skip past the header lines of neutral file.
c get number of nodes and number of result values
c for each node.
c
read(asciifil,9500) line
read(asciifil,9600) nnode, ival2, val3, ival4, nvals
read(asciifil,8900) line
read(asciifil,8900) line
c
c read values for each node into a double array.
c
write(termot,*) > reading nodal results file..
do node = 1, nnode
read(asciifil,9000) ii, x(ii), y(ii), z(ii)
end do
close(unit=asciifil)
write(termot,*) >> nodal results file read
c
c call a routine to do something with the nodal values
c
call process( x, y, z, nnode, termot )
c
write(termot,*) >> processing completed
write(termot,*) >> normal termination
c
call exit
c
8900 format(a1)
9000 format(i8,(5e13.7))
9400 format(a,$)
9500 format(a80)
9600 format(2i5,e15.6,2i6)
end
c
c
subroutine process ( x, y, z, nnode, termot )
implicit integer (az)
double precision x(*), y(*), z(*)
return
end
FIG. A.4Fortran program to read Patran ASCII file of nodal displacements,
velocities, accelerations, or internal forces.
B.1 Appendix B References
Appendix B
References
[1] Amestoy, H.D., Bui,, and Labbens, On the Definition of Local Path Independent
Integrals in 3D Crack Problems," Mechanics Research Communications, Vol. 8,
1981, pp. 231 236.

[2] Aravas, N., On the Numerical Integration of a Class of Pressure Dependent Plas
ticity Models," International Journal for Numerical Methods in Engineering,
Vol. 24, 1987, pp. 1395 1416.

[3] Asaro, R. J., Crystal Plasticity," Journal of Applied Mechanics, Vol. 50, 1984, pp.
1 12.

[4] Atluri, S. N. On Constitutive Relations at Finite Strain: Hypo Elasticity and Elas
to Plasticity with Isotropic and Kinematic Hardening" Computer Methods in
Applied Mechanics and Engineering, Vol. 43, 1984, pp. 137 171.

[5] Bakker, A., The Three Dimensional J Integral: An Investigation into Its Use for
Post Yield Fracture Assessment," WTHD No. 167, Laboratory for Thermal
Power Engineering, Delft University of Technology, Mekelweg 2, 2628 CD,
Delft., 1984.

[6] Bathe, K. J. Finite Element Procedures in Engineering Analysis. Prentice Hall, Inc.
Englewood Cliffs, N.J., 1982.

[7] Biffle J.H., Indirect Solution of Static Problems Using Concurrent Vector Process
ing Computers," Parallel Computations and their Impact on Mechanics, ed. by
A.K. Noor, American Society of Mechanical Engineers, New York, 1987, pp.
317 330.

[8] Biffle, J. H., and M. L. Blanford, JAC2D A Two Dimensional Finite Element
Computer Program for the Nonlinear Quasi Static Response of Solids with the
Conjugate Gradient Method," SAND931891, Sandia National Laboratories,
Albuquerque, NM., 1994.

[9] Biffle, J. H., and M. L. Blanford, JAC3D A Three Dimensional Finite Element
Computer Program for the Nonlinear Quasi Static Response of Solids with the
Conjugate Gradient Method," SAND871305, Sandia National Laboratories,
Albuquerque, NM., 1993.

[10] Budiansky, B., and Rice, J., Conservation Laws and Energy Release Rates," Jour
nal of Applied Mechanics, Vol. 40, 1973, pp. 201 203.

[11] Camacho, G. T., and Ortiz, M., Computational Modelling of impact damage in
brittle materials, International Journal of Solids and Structures, Vol. 33, 1996,
pp. 2899 2938.

[12] Carey G.F., and Jiang B., Element By Element Linear and Nonlinear Solution
Schemes, Communications in Applied Numerical Methods, Vol. 2, No. 2,
March April 1986, pp. 145 153.

Users Guide WARP3D
B.2 Appendix B References
[13] Carpenter, W.C., Read, D.T., and Dodds, R.H., Comparison of Several Path Inde
pendent Integrals Including Plasticity Effects," International Journal of Frac
ture, Vol. 31, 1986, pp. 303 323.

[14] Cherepanov, G.P., The Propagation of Cracks in a Continuous Medium," Journal of
Applied Mathematics and Mechanics, Vol. 31, 1967, pp 503 512.

[15] Chu, C. C. and Needleman, A., Void Nucleation Effects in Biaxially Stretched
Sheets," Journal of Engineering Materials and Technology, Vol. 102, 1980, pp.
249 256.

[16] Concus P., Golub G.H., and OLeary D.P., A Generalized Conjugate Gradient Meth
od for the Numerical Solution of Elliptic Partial Differential Equation," Sparse
Matrix Computations,ed. J.R. Bunch and D.J.Rose, Academic Press, New York,
1965, pp. 307 322.

[17] Cook R. D., Malkus, D. S., and Plesha, M. E., Concepts and Applications of Finite
Element Analysis," Third Ed., John Wiley & Sons, Inc., New York NY, 1989.

[18] Crisfield, M.A., Nonlinear Finite Element Analysis of Solids and Structures Volume
1:Essentials, John Wiley & Sons Ltd., 1991.

[19] Cuitino, A. and Ortiz, M., A Material Independent Method for Extending Stress
Update Algorithms from Small Strain Plasticity to Finite Plasticity with Multi
plicative Kinematics," Engineering Computations, Vol. 9, 1992, pp. 437 451.

[20] de Andres, A., Perez J. L. and Oriz, M., Elastoplastic finite element analysis of
threedimensional fatigue crack growth in aluminium shafts subjected to axial
loading," International Journal of Solids and Structures, Vol. 36, 1999, pp.
2231 2258.

[21] de Lorenzi, H.G., On the Energy Release Rate and the J integral for 3D," Interna
tional Journal of Fracture, Vol. 19, 1982, pp. 183 193.

[22] Dienes, J. K., On the Analysis of Rotation and Stress Rate in Deforming Bodies,"
Acta Mechanica, Vol. 32, 1979, pp. 217 232.

[23] Doghri, I., Muller, A., and Taylor, R. L. A General Three Dimensional Contact Pro
cedure for Implicit Finite Element Codes," Engineering Computations, Vol. 15
no. 2, 1998, pp.233 259.
[24] Dodds, R., Numerical Techniques for Plasticity Computations in Finite Element
Analysis," Computers and Structures, Vol. 26, No. 5, 1987, pp. 767 779.

[25] Eshelby, J.D., Energy Relations and the Energy Momentum Tensor in Continuum
Mechanics," in Inelastic Behavior of Solids, M.F. Kanninen, et al. (eds), Mc
Graw Hill, NY, 1970.

[26] Faleskog, J., Gao, X., and Shih, C.F., Cell Model for Nonlinear Fracture Analysis I.
Micomechanics Calibration," International Journal of Fracture, Vol. 89, 1998,
pp. 355 373.

[27] Flanagan, D. P. and Taylor, L. M., An Accurate Numerical Algorithm for Stress In
tegration with Finite Rotations," Computer Methods in Applied Mechanics and
Engineering, Vol. 62, 1987, pp. 305 320.

[28] Flanagan D.P., and Taylor L.M., Structuring Data for Concurrent Vectorized Pro
cessing in a Transient Dynamics Finite Element Program," Parallel Computa
tions and their Impact on Mechanics, ed. by A.K. Noor, American Society of Me
chanical Engineers, New York, 1987, pp. 291 299.

Users Guide WARP3D
B.3 Appendix B References
[29] Golub G.H., and Van Loan C.F., Matrix Computations," The Johns Hopkins Uni
versity Press, Baltimore Maryland, 1983.

[30] Goudreau, G. L. and Hallquist, J. O., Recent Developments in Large Scale


Lagrangian Hydrocode Technology," Computer Methods in Applied Mechanics
and Engineering, Vol. 33, 1982, pp. 725 757.

[31] Green, A. E. and Naghdi, P. M., A General Theory of an Elastic plastic Continuum.
Archives of Rational Mechanics Analysis, Vol. 18, 1965, pp. 251 281.

[32] Gurson, A. L., Continuum Theory of Ductile Rupture by Void Nucleation and
Growth: Part I Yield Criteria and Flow Rules for Porous Ductile Media," Jour
nal of Engineering Materials and Technology, Vol. 99, 1977, pp. 2 15.

[33] Hallquist, J. O., NIKE 2 D A Vectorized, Implicit, Finite Deformation, Finite
Element Code for Analyzing the Static and Dynamic Response of 2 D Solids,"
Lawrence Livermore Laboratory Report UCRL52678, 1984.

[34] Hallquist, J. O., NIKE 3 D A Vectorized, Implicit, Finite Deformation, Finite


Element Code for Analyzing the Static and Dynamic Response of 3 D Solids."
Lawrence Livermore Laboratory Report UCID18822, 1984.

[35] Hancock, J., and Cowling, M., Role of Sate of Stress in CrackTip Failure Pro
cesses," Metal Science, Aug.Sept., 1980, pp. 292 304.

[36] Healy, B., Pecknold, D. A. and Dodds, R., Applications of Parallel and Vector Algo
rithms in Nonlinear Structural Dynamics Using the Finite Element Method,"
Civil Engineering Studies, SRS No. 571, UILU ENG 92 2011, University of Il
linois, Urbana, Illinois, 1992.

[37] Hellen, T.K., On the Method of Virtual Crack Extension," International Journal for
Numerical Methods in Engineering, Vol. 9, 1975, pp. 187 207.

[38] Hibbitt, Karlsson & Sorensen, Inc., ABAQUS Theory Manual, Version 5.3, Provi
dence R.I., 1993.

[39] Hibbitt, Karlsson & Sorensen, Inc., ABAQUSExplicit Theory Manual, Version 5.2,
Providence R.I., 1992.

[40] Hinton, E, Rock, T., and Zienkiewicz, O. C., A Note on Mass Lumping and Related
Processes in the Finite Element Method," Earthquake Engineering and Struc
tural Dynamics, Vol. 4, No. 3, 1976, pp 245 249.

[41] Hoger, A. and Carlson, D. E., Determination of the Stretch and Rotation in the Po
lar Decomposition of the Deformation Gradient," Quarterly of Applied mathe
matics, Vol. 42, 1984, pp. 113 117.

[42] Hughes, T.J.R., Stability, Convergence, and Growth and Decay of Energy of the Av
erage Acceleration Method in Nonlinear Structural Dynamics, Computers and
Structures, Vol. 6, 1976, pp. 313 324.

[43] Hughes, T. J. Generalization of Selective Integration Procedures to Anisotropic
and Nonlinear Media," International Journal for Numerical Methods in Engi
neering, Vol. 15, 1980, pp. 1413 1418.

[44] Hughes, T. J. and Winget, J., Finite Rotation Effects in Numerical Integration of
Rate Constitutive Equations Arising in Large Deformation Analysis," Interna
tional Journal for Numerical Methods in Engineering, Vol. 15, 1980, pp.
1862 1867.

Users Guide WARP3D
B.4 Appendix B References
[45] Hughes, T. J., Levit, I., and Winget, J. M., An Element By Element Solution Algo
rithm for Problems of Structural and Solid Mechanics," Computer Methods in
Applied Mechanics and Engineering, Vol. 36, 1983, pp. 241 254.

[46] Hughes T.J.R., Ferencz R.M., and Hallquist J.O., Large scale Vectorized Implicit
Calculations in Solid, Mechanics on a Cray X MP/48 Utilizing EBE Precondi
tioned Conjugate Gradients," Computer Methods in Applied Mechanics and En
gineering, Vol. 61, 1987, pp. 215 248.

[47] Hughes T.J.R., The Finite Element Method. Prentice Hall, Englewood Cliffs, New
Jersey, 1987.

[48] Hutchinson, J., Singular Behavior at the End of a Tensile Crack in a Hardening
Material," Journal of the Mechanics and Physics of Solids, Vol. 16, 1968, pp.
13 31.

[49] Jaumann, G. Geschlossenes System Physikalischer Und Chemisher Differential
gesefze," Sitz Zer. Akad. Wiss. Wein, (IIa) 120, 1911, pp. 385.

[50] Johnson, G. C. and Bammann, D. J., A Discussion of Stress Rates in Finite De
formation Problems," International Journal for Solids and Structures, Vol. 20,
1984, pp. 725 737.

[51] Karypis, G. and Kumarohnson, V.,A Parallel Algorithm for Multilevel Graph parti
tioning and Sparse Matrix Ordering," Journal of Parallel and Distributed Com
puting, Vol. 48, 1998, pp. 71 95.

[52] Karypis, G. and Kumarohnson, V.,Multilevel k way Partitioning Scheme for Irreg
ular Graphs," Journal of Parallel and Distributed Computing, Vol. 48, 1998, pp.
96 129.

[53] Keppel, M. and Dodds, R. H., Improved Numerical Techniques for Plasticity Com
putations in Finite Element Analysis," Computers and Structures, Vol. 36, No.
1, 1990, pp. 183 185.

[54] Key, S. W. and Krieg, R. D., On the Numerical Implementation of Inelastic Time
Dependent and Time Independent, Finite Strain Constitutive Equations in
Structural Mechanics," Computer Methods in Applied Mechanics and Engineer
ing, Vol. 33, 1982, pp. 439 452.

[55] Kishimoto, K., Aoki, S., and Sakata, M., On the Path Independent J
^
Integral,"
Engineering Fracture Mechanics, Vol. 13, 1980, pp. 841 850.

[56] Kojic, M. and Bathe, K. J., Studies of Finite element Procedures: Stress Solution of
a Closed Elastic Strain Path with Stretching and Shearing Using the Updated
Lagrangian Jaumann Formulation," Computers and Structures, Vol. 26, 1987,
pp. 175 179.

[57] Lee, E. H., Elastic Plastic Deformation at Finite Strain," Journal of Applied Me
chanics, Vol. 36, 1969, pp. 1 6.

[58] Knowles, J., and Sternberg, E., On a Class of Conservation Integrals," Archives of
Rational Mechanics Analysis, Vol. 44, 1972, pp. 187 211.

[59] Krieg, R. D. and Key, S. W., Implementation of a Time Independent Plasticity
Theory into Structural Computer Programs," In Constitutive Equations in Vis
coplasticity: Computational and Engineering Aspects, AMD20 (Edited by J. A.
Stricklin and K. J. Saczalski), ASME, New York, 1976, pp. 125 138.

Users Guide WARP3D
B.5 Appendix B References
[60] Li, F.Z., Shih, C.F., and Needleman, A., A Comparison of Methods for Calculating
Energy Release Rates," Engineering Fracture Mechanics, Vol. 21, (1985),
405 421.

[61] Mackenzie, A., Hancock, J., and Brown, D., On the Influence of State of Stress on
Ductile Fracture Initiation in High Strength Steels," Engineering Fracture Me
chanics, Vol. 9, 1977, pp. 167 188.

[62] Malvern, L., An Introduction to the Mechanics of Continuous Media. Prentice Hall,
Englewood Cliffs, New Jersey, 1969.

[63] Marsden, J. E.. and Hughes, T. J. R., Mathematical Foundations of Elasticity. Pren
tice Hall, Englewood Cliffs, New Jersey, 1983.

[64] McCalpin, J. D., Memory Bandwidth and Machine Balance in Current High Perfor
mance Computers," Invited for submission to IEEE Technical Committee on
Computer Architecture Newsletter. To appear December 1995.
[65] Moran, B., and Shih, C.F., A General Treatment of Crack Tip Contour Integrals,"
International Journal of Fracture, Vol. 35, 1987, pp. 295 310.

[66] Moran, B., and Shih, C.F., Crack Tip and Associated Domain Integrals from Mo
mentum and Energy Balance," Engineering Fracture Mechanics, Vol. 27, 1987,
pp. 615 642.

[67] Moran, B., Ortiz, M., and Shih, C. F., Formulation of Implicit Finite Element Meth
ods for Multiplicative Finite Deformation Plasticity," International Journal for
Numerical Methods in Engineering, Vol. 29, 1990, pp. 483 514.

[68] Nagtegaal, J. C. Parks, D. M., and Rice, J. R., On Numerically Accurate Finite Ele
ment Solutions in the Fully Plastic Range," Computer Methods in Applied Me
chanics and Engineering, Vol. 4, 1974, pp. 153 178.

[69] Nagtegaal, J. C. and de Jong, J. E., Some Computational Aspects of Elastic Plas
tic, Large Strain Analysis," International Journal for Numerical Methods in En
gineering, Vol. 12, 1981, pp. 15 41.

[70] Nagtegaal, J. C., On the Implementation of Inelastic Constitutive Equations with
Special Reference to Large Deformations," Computer Methods in Applied Me
chanics and Engineering, Vol. 33, 1982, pp. 221 245.

[71] Nagtegaal, J. C. and Veldpaus, F. E., On the Implementation of Finite Strain Plas
ticity Equations in a Numerical Model," In Numerical Analysis of Forming Pro
cesses (edited by J.F. Pittman, O. C. Ziekiewicz, R. D. Wood and J. M. Alexander),
p. 351. John Wiley and Sons, New York, 1984.

[72] Nakamura, T., Shih, C., and Freund, L., Analysis of Dynamicaly Loaded SE(B)
Ductile Fracture Specimen," Engineering Fracture Mechanics, Vol. 25, 1986, pp.
323 339.

[73] Needleman, A. , A continuum model for void nucleation by inclusion debonding,"


Journal of Applied Mechanics, Vol. 54, 1990, pp. 523 531.

[74] Needleman, A. , An Analysis of Tensile Decohesion along an Interface," Journal of
Mechanics and Physics of Solids, Vol. 38, 1990, pp. 289 324.

[75] Needleman, A. and Tvergaard, V., An Analysis of Ductile Rupture Modes at a Crack
Tip," Journal of Mechanics and Physics of Solids, Vol. 35, 1987, pp. 151 183.

Users Guide WARP3D
B.6 Appendix B References
[76] Newmark N.M., A Method of Computation for Structural Dynamics, Journal of
the Engineering Mechanics Division, ASCE, Vol. 32, No. EM3, 1959, pp. 67 94.

[77] Nikishkov, G.P. and Atluri, S.N., Calculation of Fracture Mechanics Parameters for
an Arbitrary Three Dimensional Crack, by the Equivalent Domain Integral
Method," International Journal for Numerical Methods in Engineering, Vol. 24,
1987, pp. 1801 1827.

[78] Ortiz. M. and Pandolfi, A., A finite deformation irreversible cohesive elements for
threedimensional crack propagationa analysis," International Journal for Nu
merical Methods in Engineering, Vol. 44, 1999, pp. 1267 1282.

[79] Panontin, T., and Sheppard, S., The Relationship Between Constraint and Ductile
Fracture Initiation as Defined by Micromechanical Analyses," Fracture Me
chanics: 26th Volume, ASTM STP1256, W. Reuter, J. Underwood, J. Newman,
Eds., American Society for Testing and Materials, Philadelphia, 1995
.
[80] Parks, D.M., The Virtual Crack Extension Method for Nonlinear Material Behav
ior," Computer Methods in Applied Mechanics and Engineering, Vol. 12, 1977,
pp. 353 364.

[81] Pinsky, P. M., Ortiz, M. and Pister, K. S. Numerical Integration of Rate Constitu
tive Equations in Finite Deformation Analysis," Computer Methods in Applied
Mechanics and Engineering, Vol. 40, 1983, pp. 137 158.

[82] Rice, J., and Rosengren, G.F., Plane Strain Deformation Near a Crack Tip in a Pow
er Law Hardening Material," Journal of Mechanics and Physics of Solids,Vol.
16, 1968, pp. 1 12.

[83] Rice, J. A Path Independent Integral and the Approximate Analysis of Strain Con
centration by Notches and Cracks," Journal of Applied Mechanics,Vol. 35, 1968,
pp. 379 386.

[84] Rice, J., and Tracey, D., On the Ductile Enlargement of Voids in Triaxial Stress
Fields," Journal of Mechanics and Physics of Solids, Vol. 17, 1969, pp. 201217.

[85] Roy, S., Fossum, A. F., and Dexter, R. J., On the Use of Polar Decomposition in the
Integration of Hypo Elastic Constitutive Laws," International Journal of Engi
neering Science, Vol. 30, 1992, pp. 119 133.

[86] Rubinstein, R. and Atluri, S. N., Objectivity of Incremental Constitutive Equations
Over Finite Time Steps in Computational Finite Deformation Analysis," Com
puter Methods in Applied Mechanics and Engineering, Vol. 36, 1983, pp.
277 290.

[87] Schoeberle, D.F., and Belytschko, T., On the Unconditional Stability of an Implicit
Algorithm for Nonlinear Structural Dynamics," Journal of Applied Mechanics,
Vol. 42, 1975, pp. 865 869.

[88] Schreyer H.L., Kulak R.F., and Kramer J.M., Accurate Numerical Solutions for
Elastic Plastic Models, Journal of Pressure Vessel Technology, Vol. 101, 1979,
pp. 226 234.

[89] Shih, C.F., Moran, B., and Nakamura, T. Energy Release Rate Along a Three Di
mensional Crack Front in a Thermally Stressed Body," International Journal of
Fracture, Vol. 30, 1986, pp. 79 102.

Users Guide WARP3D
B.7 Appendix B References
[90] Simo, J.C. and Taylor, R.L., Consistent Tangent Operators for Rate Independent
Elastoplasticity," Computer Methods in Applied Mechanics and Engineering,
Vol. 35, 1985, pp. 101 118.

[91] Simo, J. C. and Ortiz, M., A Unified Approach to Finite Deformation Elasto Plastic
Analysis Based on the Use of Hyper elastic Constitutive Equations," Computer
Methods in Applied Mechanics and Engineering, Vol. 49, 1985, pp. 221 245.

[92] Simo, J. C. and Hughes, T. J. R. Elastoplasticity and Viscoplasticity: Computational
Aspects. Stanford University, 1988.

[93] Taylor, L. M. and Flanagan, D. P., PRONTO 2D, A Two Dimensional Transient
Solid Dynamics Program," SAND860594, Sandia National Laboratories, Albu
querque, NM., 1987.

[94] Taylor, L. M. and Flanagan, D. P., PRONTO 3D, A Three Dimensional Transient
Solid Dynamics Program," SAND871912, Sandia National Laboratories, Albu
querque, NM., 1989.

[95] Tvergaard, V., Influence of Void Nucleation on Ductile Shear Fracture at a Free
Surface," Journal of Mechanics and Physics of Solids, Vol. 30, 1982, pp.
399 425.

[96] Tvergaard, V., Material Failure by Void Growth to Coalescence," Advances in Ap
plied Mechanics, Vol. 27, 1990, pp. 83 151.

[97] Wang, Y., A Two Parameter Characterization of Elastic Plastic Crack Tip Fields
and Applications to Cleavage Fracture," Ph. D. Dissertation, Dept. of Mechani
cal Engineering, MIT, 1991.

[98] Zienkiewicz, O. C. and Taylor, R. L. The Finite Element Method. Fourth Edition, Vol
ume 1, Basic Formulation and Linear Problems. McGraw Hill, London, 1990.

[99] Zienkiewicz, O. C. and Taylor, R. L. The Finite Element Method. Fourth Edition, Vol
ume 2, Solid and Fluid Mechanics, Dynam,ics and Nonlinearity. McGraw Hill,
London, 1991.

[100] Zhong, Z., Finite Element Procedures for ContactImpact Problems, Oxford Univer
sity Press, New York, 1993
[101] Gullerud, A., and Dodds, R., MPI Based Implementation of a PCG Solver Using an
EBE Architecture and Preconditioner for Implicit, 3 D Finite Element Analy
sis," Computers & Structures, Vol. 79, No. 5, pp. 553 575, 2001.
[102] Armstrong, P .J., and Frederick, C. O., A Mathematical Representation of the Mul
tiaxial Bauschinger Effect," CEGB Rep RD/B/N 731, 1966.
[103] Lemaitre, J., and Chaboche, J. L., Mechanics of Solid Materials. Cambridge, 1990.
[104] Simo, J. C. and Hughes, T. J. R. Computational Inelasticity. Springer Verlag, New
York, 1998.
[105] Walters, M.C., Paulino, G.H., Dodds, R.H. Jr, Stress Intensity Factors for Surface
Cracks in Functionally Graded Materials Under ModeI Thermomechanical
Loading," International Journal of Solids and Structures, Vol. 41, 2004, pp.
10811118.
Users Guide WARP3D
B.8 Appendix B References
[106] Walters, M.C., Paulino, G.H., Dodds, R.H. Jr, MixedMode Stress Intensity Factors
for Curved Cracks in ThreeDimensional FunctionallyGraded Solids" (sub
mitted).
[107] Williams, M.L., On the Stress Distribution at the Base of a Stationary Crack,"
ASME Journal of Applied Mechanics, Vol. 24, 1957, pp. 109114.
[108] Yau, J.F., Wang, S.S., Corten, H.T., A mixedmode crack analysis of isotropic solids
using conservation laws of elasticity," ASME Journal of Applied Mechanics, Vol.
47, 1980, pp. 335341.
[109] Nakamura, T., Parks, D.M., Determination of elastic Tstress along threedimen
sional crack fronts using an interaction integral," International Journal of Sol
ids and Structures, Vol. 29, 1992, pp. 15971611.
[110] Nakamura, T., Parks, D.M., Threedimensional stress field near the crack front of a
thin elastic plate," ASME Journal of Applied Mechanics, Vol. 55, 1988, pp.
805813.
[111] Cardew, G.E., Goldthorpe, M.R., Howard, I.C., Kfouri, A.P., On the Elastic TTerm,
Fundamentals of Deformation and Fracture (Edited by B.A. Bilby, K.J. Miller
and J.R. Willis), Eshelby Memorial Symposium, Sheffield, Cambridge Universi
ty Press, 1985, pp. 465476
[112] Eischen, J.W., Fracture of Nonhomogeneous Materials," International Journal of
Fracture Vol. 34, 1987, pp. 322.
[113] Dolbow, J., Gosz, M., On the Computation of MixedMode Stress Intensity Factors
in Functionally Graded Materials," International Journal of Solids and Struc
tures, Vol. 39, 2002, pp. 25572574.
[114] Gosz, M., Dolbow, J., Moran, B., Domain Integral Formulation for Stress Intensity
Factor Computation Along Curved ThreeDimensional Interface Cracks," Inter
national Journal of Solids and Structures Vol. 35, 1998, pp. 17631783.
[115] Michell, J.H., Elementary Distributions of Plane Stress" Proceedings of the London
Mathematical Society, Vol. 32, 1900, pp. 3561.

[116] Kfouri, A.P., Some Evaluations of the Elastic Tterm Using Eshelbys Method" In
ternational Journal of Fracture, Vol. 30, 1986, pp. 301315.

[117] Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P., Numerical Recipies
in Fortran 77," Press Syndicate of the University of Cambridge, Cambridge,
2001.

[118] Evans, G., Practical Numerical Integration," John Wiley and Sons, Chichester,
1993.
[119] Anderson, T.L. Fracture Mechanics: Fundamentals and Applications, 2nd Ed., CRC
Press, 1998.
Users Guide WARP3D
B.9 Appendix B References
*
Available for purchase from national Technical Information Service, Springfield, VA
22161.

Available from public technical libraries.

Copies are available from U.S. Government Printing Office, Washington, D.C.
20402. ATTN: Regulatory Guide Account.

Available for purchase from vendor.
Users Guide - WARP3D patwarp
Appendix C
Patran-to-WARP3D Translator (patwarp)
C.1 Concept
This appendix describes the procedures to communicate data between the Patran modeling
post-processing code and the WARP3D analysis code. This writeup assumes that the reader
is familiar with the use of both Patran and WARP3D. The information and procedures here
apply equally as well to neutral les that conform the the 2.5 style of Patran neutral le
format generated by many other programs (for example, FEMAP).
Figure C.1 illustrates the general ow of data between these codes. Analysts execute Patran
to create interactively the geometric model and the nite element model. One form of output
from Patran is denoted the neutral le (have Patran produce a 2.5 style version neutral le
for the model). This is a sequential (ASCII) le of line images that describes essential features
of the nite element model in a manner independent of any specic analysis system. After
building the nite element model, the user requests that Patran create the neutral le. Outside
of Patran, the user initiates the program denoted patwarp in Figure C.1. This interactive
program is a forward translator. It reads the neutral le, conducts a dialog with the user to
dene various options, and produces an ASCII (text) input le for WARP3D. The input le for
WARP3D generally requires minor changes and additions by the user to include supplemental
information, e.g., material properties, solution parameters might require modication. Any text
editor available on the computer system may be employed to make the required changes to the
input le. The modied le should then be suitable for input WARP3D to perform the analysis.
Patran has many features for post-processing of the analysis results. Analysis results in
WARP3D (displacements, strains, stresses, etc.) are written directly to Patran compatible les
at the users request through output patran ... commands. Each of these results les contains
the strains, stresses, displacements, etc. for a single load step. The le format can be either
formatted (ASCII) or unformatted (binary) as directed in the output request given to WARP3D
(refer to Section 2.12.3). A le written with the formatted option can be examined with a text
editor but the structure of the le is not readily discernible by the user. A binary le is a
sequential, unformatted data le. It cannot be examined with a text editor. Binary les are
considerably smaller than formatted les but are not generally transportable between dierent
computer architectures, especially to-from Linux and Windows. WARP3D oers the option to
write Patran nodal results les or element results les (see Section 2.12.3).
After analysis by WARP3D and output of the results les, users continue Patran execu-
tion and the post-processing operations to read and process the results les. Because WARP3D
directly generates Patran compatible results les, there is no need for a reverse translator pro-
gram. The results les are also available to users of WARP3D for input to other special-purpose
programs (the binary packets le may be more convenient for this purpose, see Appendix F).
Appendix C (Updated: 5-12-2013) C.1 patwarp
Users Guide - WARP3D patwarp













!"#$"%
!"#$%&' )'"
'"#("$'
*+,-./
012#$
3"4$ "50$6%
*+,-./
!"#$"% )*+'",-./ $/01.# 2./0
5072' 7$%&017 7$%"77"7 8"'690:"7
*+,-./
012#$
*+,-./
6#$2#$
Fig. C.1: Typical order of operations to convert a Patran neutral le (2.5 format) to WARP3D input,
run an analysis, and post-process results les using Patran.
Section 2.12 describes the ordering of results for model nodes and elements in the Patran
compatible results les. Appendix A provides a description of the data formatting in these les
and small program fragments to read these les.
C.2 Patran-to-WARP3D Translation
The Patran-to-WARP3D translator program handles the most frequently used modeling fea-
tures of WARP3D. In some cases, Patran has modeling capabilities for which there is no cor-
responding analysis capability in WARP3D, e.g. alternate coordinate systems. Despite these
dierences, the use of Patran (and other similar programs) dramatically reduces the eort for
model generation and results post-processing.
The following model data in a neutral le (Patran 2.5 format) are supported by the Patran-
to-WARP3D translator program (patwarp ):
Structure name (a default name is generated by the translator program).
Structure size (number of nodes, elements).
Nodal coordinates.
Element incidences (connectivity of element to structure nodes).
Element types.
Appendix C (Updated: 5-12-2013) C.2 patwarp
Users Guide - WARP3D patwarp
Nodal constraints (absolute and multi-point [MPCs])
Nodal loads (forces and temperatures).
Element loads (uniform face pressures on elements)
patwarp writes an example set of material denitions, nonlinear compute commands and output
commands into input le for potential use in completing the model denitions. The translator
ignores other types of data contained in the Patran generated neutral le such as material
properties.
The above data constitute a large majority of the input for most nite element analyses. A
list of modeling data not currently supported by patwarp includes:
Groups other than the default group.
Material properties for elements.
Physical properties for elements (however, the Cong Id is recognized by patwarp )
Alternate coordinate systems as dened in Patran.
Solution parameters which control a dynamic or a nonlinear analysis.
The processing of material properties and physical properties will be implemented in later
versions of patwarp .
C.3 Executing the Translator Program
The patwarp program performs neutral le translation. The WARP3D distribution contains
source code, compile scripts and separate, ready-to-run executables for Windows, Linux and
Mac OS X. The Windows and Mac versions prepare input les to execute in parallel using the
threads-only version of WARP3D. The Linux version prepares input les to execute with the
threads-only or the MPI + threads versions of WARP3D.
The program prints an identifying message followed by a prompt for the name of the Patran
neutral le. The names of neutral les are assigned by the user when prompted by Patran.
patwarp veries that the neutral le exists and that it can be processed. If the le cannot be
accessed by the translator program, the prompt is re-issued. After the neutral le name has
been dened, the name of the desired WARP3D input le is requested. The le may have any
name and need not already exist. patwarp then continues a question-answer dialog with the
user to drive various options in the translation process.
patwarp performs the translation process in two steps, although these steps are transparent
to the program user. In step one, the neutral le is read and the data stored internally to
patwarp. In step two, the actual WARP3D input le is produced. A log of the processing
is displayed for the user. After patwarp has terminated, the user should edit the generated
WARP3D input le to supply the element properties, modify the default output requests, etc.
By default, patwarp writes all of the WARP3D input data into a single le with a name
provided by the user. The le becomes quite large in size for models having many nodes,
elements and constraints. patwarp provides an option to place the coordinates, incidences and
constraint data into three separate les. The user supplies a prex for these le names, i.e.,
for a prex named pcvn, the les pcvn.coordinates, pcvn.incidencess, and pcvn.constraints are
Appendix C (Updated: 5-12-2013) C.3 patwarp
Users Guide - WARP3D patwarp
written. The main WARP3D input le then has *input from le ... commands inserted by
patwarp to read the three data les at the correct location during input processing (see Section
2.14 for additional description of these various utility commands available).
C.4 Element Mapping
Within Patran, elements are generated using the MESH menu form under the Finite Elements
radio button on the main (top) menu). Elements have generic types such as Hex8, Hex20, etc.
For example, the Hex8 element implies a 3-D solid element that has 12 edges, 6 faces and 8
nodes.
patwarp supports only elements that conform to the Hex8, Hex20, Tet4 and Tet10 type in
Patran. The 9, 12 and 15 node (Hex) transition elements available in WARP3D are created au-
tomatically by patwarp from the 8-node elements that share common faces-edges with 20-node
elements (see Section C.9 for details on processing models with transition elements). To dis-
tinguish between dierent groups of elements (e.g. those with common material properties),
the user can employ the numeric conguration code provided by Patran. The conguration
code assigned to each element is passed through in the neutral le for use by patwarp. The
conguration code numbers are assigned to elements in Patran using the Properties menu
button on the main form. This brings up the Element Properties menu in Patran. Click on
the Input Properties button to bring up the menu form. The rst listed item is Cong Id.
All elements of the same type (l3disop, tet10, etc.) with the same conguration code are
grouped in clearly identied lists in the WARP3D le generated by patwarp. This feature
simplies considerably the assignment of options and material properties to elements following
execution of patwarp.
C.5 Element Blocking and Domain Decomposition
Blocking for Thread-Based Execution
Section 2.6 describes how WARP3D processes elements in blocks to increase numerical eciency.
A block of elements must have the same type (l3disop, q3disop, ...), material model, integration
order, etc. Elements within each block must have sequential numbering.
patwarp writes the command blocking automatic size=128 into the input le which requests
that WARP3D assign elements to blocks while processing input.
No domains are dened for threads-based execution.
Domain Decomposition - Linux Only
For execution using MPI + threads, elements in the model must rst be assigned to domains
prior to blocking, where the number of domains equals the number of processors (MPI ranks)
available to perform the analysis. The assignment of elements to domains denes a complex
optimization problem. Domains may contain hex, tet or a mix of hex and tet elements (in-
terface elements appear to this process as hex or tet elements). A good allocation of elements
to domains maintains load balance of computational eort across processors and minimizes
Appendix C (Updated: 5-12-2013) C.4 patwarp
Users Guide - WARP3D patwarp
communication of data among them. patwarp includes the Metis software system to create
domains of elements for optimal processing during the nite element analysis. Once elements
are assigned to domains, elements within each domain are re-numbered to maintain sequential
ordering. Then the blocking process is applied, independently, to the elements in each domain
as described in the previous paragraph. The blocking data written to the WARP3D input le
includes the domain number for each block.
patwarp uses several criteria to determine which elements may properly appear within a
block. First, patwarp recognizes dierent element types by the number of nodes on the element
as provided in the neutral le. Second, users may indicate further groupings of common elements
from which blocks are constructed through the conguration code (cong id is the term used
in Patran, see Section C.4) for the elements as given in the neutral le. Only elements of the
same type and with the same conguration code will be assigned to the same block by patwarp.
Thus, all 8-node elements that have a common material model, for example, can be given the
same cong id in Patran. Users can assign any number of dierent cong ids for the model in
the Patran neutral le.
As an example, consider a model that has a mix of 8-node and 20-node elements in the
Patran neutral le (the automatic feature in patwarp redenes existing 8-node elements as
various 9, 12, 15-node transition elements to maintain displacement compatibility). There are
two dierent material models that should be assigned to elements, e.g., the von Mises plasticity
model and the Gurson-Tvergaard (GT) plasticity model. Let cong id 1 be used during building
of the Patran model to denote elements with von Mises plasticity and cong id 2 be used
for elements having GT plasticity. patwarprst redenes some 8-node elements as transition
elements to maintain displacement compatibility. Then separate lists of elements for each unique
element type and user assigned cong id are created, resulting in say 6 lists of elements where
each element in a list meets all requirements to reside in the same block. patwarp processes
each list separately to renumber elements sequentially as it assigns them to blocks. This process
results in blocks of various size containing sequentially numbered elements where all elements
within a block satisfy all the above requirements.
To complete the translation, patwarp oers to: (1) print a correspondence table between
the original (Patran) element numbers and the blocked element numbers, (2) generate a new
neutral le to reect the new element numbering, (3) generate an ASCII elements results le
where the domain number for the element is the only data value. This last le can be used
with Patran post-processing capabilities to show element assignments to domains by coloring
elements on the display by domain number.
C.6 Constraint Processing
Absolute nodal constraints on the three translations may be specied in Patran under the
BCs/Loads radio button on the main (top) menu. The translator program builds the corre-
sponding constraints data for WARP3D.
Multi-point constraints (MPCs) may be imposed on the three translations in Patran under
the Elements menu. patwarp supports Explicit and Rigid type MPCs as dened in Patran.
The Rigid MPC has two subtypes Pinned and Fixed. Both subtypes may be specied, but if
a Fixed MPC is dened, the rotation terms are ignored, i.e., patwarp inserts the same MPC
equations in the WARP3D input le for both Pinned and Fixed subtypes.
Appendix C (Updated: 5-12-2013) C.5 patwarp
Users Guide - WARP3D patwarp
In Patran, constraints may be imposed within a loading set (condition) or external to all
loadings. The patwarp translator combines all constraint sets in the neutral le and writes a
single set of nodal constraints in the input le.
When the user requests writing of constraint data to a separate le, the MPC equations
are included in that le.
C.7 Loads Processing
Nodal and element loads applied to the model in Patran under the BCs/Loads radio button
on the main (top) menu). In Patran, the user groups these cases together (along with imposed
displacements) to dene loading cases, e.g., the default case. patwarp processes applied nodal
forces, applied nodal temperatures and pressure loads applied to element faces.
When Patran writes the neutral le for the model, the loading cases are converted to loading
sets with assigned numbers (1, 2, 3, ...). patwarp processes applied nodal forces, temperatures
and element face pressures for any number of loading sets. It builds the loading condition name
for WARP3D as set n, where n refers to the Patran loading set number.
patwarp recognizes pressure loads applied to the faces of elements. They are converted to
element load commands in the WARP3D input le. When patwarp automatically converts an
8-node element into one of the transition elements, the user-dened pressure loads are carried
forward onto the transition element as well.
C.8 Solution and Output Commands
patwarp writes the following commands in the WARP3D input le to request analysis and
output. These commands request a solution for load step 1 of the model and output of Patran
binary results les. The analyst should edit these example commands for the specic needs of
the solution.
nonlinear analysis parameters
solution technique sparse direct
c solution technique sparse iterative
c solution technique hypre
c hypre tolerance 0.000001
maximum iterations 5 $ newton iterations
minimum iterations 1
convergence test norm res tol 0.01
nonconvergent solutions stop
adaptive on
linear stiffness for iteration one off
batch messages off
cpu time limit off
material messages off
bbar stabilization factor 0.0
consistent q-matrix on
time step 1.0e06
trace solution on
extrapolate on
display tied mesh mpcs off
Appendix C (Updated: 5-12-2013) C.6 patwarp
Users Guide - WARP3D patwarp
C.9 Processing of Models Containing Transition Elements
The 9, 12 and 15 node elements (ts9isop, ts12isop, ts15isop) enable development of models con-
taining 8 and 20 node elements which maintain complete displacement compatibility. However,
Patran does not directly support such transition elements. Models containing these elements
can be constructed and post-processed using Patran with support of the patwarp program.
Create the Patran model using Hex/8 and Hex/20 type elements. At this stage there will
be mismatches in the number of nodes on common faces/edges shared between the 8 and
20-node elements. Apply nodal constraints and element pressure loadings as necessary to
the model. Conguration ids to signify dierent materials should be included at this point.
Create the Patran neutral le for the model.
Run the patwarp program. Once the neutral le has been read, patwarp will ask the user
if the creation of transition elements is desired. If yes, patwarp searches the user-dened
8 and 20-node elements to nd all the shared faces/edges. It then redenes some 8-node
elements as one of the transtion elements (9, 12, 15 node elements) needed to maintain
full displacement compatibility in the model. In this process, no new nodes or elements are
added to the model. Some 8-node elements are simply rened as transition elements by
appending existing nodes (shared with 20-node elements) to their incidence list and then
re-ordering the incidences to conform with the ordering requirements for nodes in WARP3D.
patwarp then executes the normal blocking strategy to renumber elements into blocks of
common element types and writes the WARP3D input le.
Patran compatible node and element result les are thus unaected by the conversion of
some 8-node elements into transition elements. Patran believes it is processing a mesh of
only 8 and 20-node elements. When the user requests that patwarp write a new neutral le
for the model to reect the blocked element re-ordering, the transition elements are written
as standard 8-node elements.
C.10 Limitations and Recommendations
The WARP3D code requires that elements and nodes be numbered sequentially. Patran performs
this task through the Renumber option of the main Finite Elements menu. After the model
is generated, the user should always perform a node and element compaction within Patran.
C.11 Example - Windows and Mac OS X (Threads Only Execution)
The following example illustrates the process of translating a Patran model into a WARP3D
input le for execution on a Windows or Mac OS X system. The Windows and Mac OS X
versions of WARP3D operate in a threads-only mode. In this example, the Paradiso sparse
direct or iterative solver is selected with the automatic blocking command inserted into the
generated input le.
[rdodds]$ patwarp
****************************************************
Appendix C (Updated: 5-12-2013) C.7 patwarp
Users Guide - WARP3D patwarp
* *
* PATRAN to WARP3D Neutral File Translator *
* (Mac OS X, Windows) *
* *
* MSC.Patran 2003 & later *
* (2000000 nodes - 4000000 elements) *
* Build Date: 5-12-2013 *
* *
* includes: *
* o support for 8, 9, 12, 15, 20-node hexs *
* o support for 4, 10 node tets *
* o support for 6, 15 node wedges *
* o output of blocking and partitioning info *
* in Patran-readable (element) results files *
* o tet4 and tet10 elements now supported *
* o MPCs defined in Patran model now supported *
* *
****************************************************
>> patran neutral file name (default: patran.out.1) ? cvn_model_pat.out
>> warp3d input file name (default: warp3d_input) ? cvn_model.inp
>> coordinates, incidences-blocking, and constraints
>> input data placed in separate files, (y/n, default = n)? n
>> create transition elements (y/n, default=y)? n
>> user title as read from neutral file is:
STRUCTURE cvn
>> neutral file created on: Mar 8 1999 time: 08:25:00
>> patran version: 2.5-1
>> model size parameters:
>> number of nodes ............... 22140
>> number of elements ............ 19334
>> number of materials ........... 0
>> number of physical properties . 0
>> begin processing nodal data
>> processing data for node....... 5000
>> processing data for node....... 10000
>> processing data for node....... 15000
>> processing data for node....... 20000
>> begin processing element data
>> processing data for element.... 5000
>> processing data for element.... 10000
Appendix C (Updated: 5-12-2013) C.8 patwarp
Users Guide - WARP3D patwarp
>> processing data for element.... 15000
>> begin processing nodal displacement data
>> use WARP3D automatic blocking assignment
>> begin warp3d input file generation
>> model title and sizes written
>> element types written
>> nodal coordinates written
>> element incidences written
>> blocking command written
>> nodal and element loads written
>> constraints written
>> warp3d input file completed
>> analysis file generation completed.
>> job terminated normally.
C.12 Example - Linux for MPI + Threads Execution
The following example illustrates the process of translating a Patran model for MPI execution
on a Linux system using the MPI + threads version of WARP3D. The model is decomposed
into domains and blocks for parallel operations at the domain level and lower level parallel
execution via threads.
[rdodds]$ patwarp
****************************************************
* *
* PATRAN to WARP3D Neutral File Translator *
* *
* MSC.Patran 2003 & later *
* (2000000 nodes - 4000000 elements) *
* Build Date: 5-12-2013 *
* *
* includes: *
* o support for 8, 9, 12, 15, 20-node hexs *
* o support for 4, 10 node tets *
* o support for 6, 15 node wedges *
* o output of blocking and partitioning info *
* in Patran-readable (element) results files *
* o tet4 and tet10 elements now supported *
* o MPCs defined in Patran model now supported *
* o Domain decomposition using METIS for MPI *
* based, parallel analyses in WARP3D. *
* Hex, tet & mixed hex-tet meshes supported. *
* *
****************************************************
>> patran neutral file name (default: patran.out.1) ? cvn_model.out
Appendix C (Updated: 5-12-2013) C.9 patwarp
Users Guide - WARP3D patwarp
>> warp3d input file name (default: warp3d_input) ? cvn_model.inp
>> execution procedure:
(1) threads-only, Pardiso sparse solver (direct/iterative)
(2) MPI + threads, hypre solver
>> choice: 2
>> number of MPI processes (same as
the number of model domains (default = 1)? 8
>> element block size used in domains: (default = 128)? 128
>> domain decomposition may change element numbers
print the new => old element listing (y/n, default=n)? n
>> make an updated patran neutral file (y/n, default=n)? n
>> make a patran-readable element results file to display the block
assignments for the elements (y/n, default=n)? n
>> coordinates, incidences-blocking, and constraints
input data placed in separate files, (y/n, default = n)? n
>> create transition elements (y/n, default=y)? n
>> user title as read from neutral file is:
STRUCTURE cvn
>> neutral file created on: Mar 8 1999 time: 08:25:00
>> patran version: 2.5-1
>> model size parameters:
>> number of nodes ............... 22140
>> number of elements ............ 19334
>> number of materials ........... 0
>> number of physical properties . 0
>> begin processing nodal data
>> processing data for node....... 5000
>> processing data for node....... 10000
>> processing data for node....... 15000
>> processing data for node....... 20000
>> begin processing element data
>> processing data for element.... 5000
>> processing data for element.... 10000
>> processing data for element.... 15000
Appendix C (Updated: 5-12-2013) C.10 patwarp
Users Guide - WARP3D patwarp
>> begin processing nodal displacement data
>> begin element reordering
>> using standard blocking -- element reordering skipped
>> using metis to build graph of mesh
>> total number of corner nodes: 22140
>> completed graph of mesh
>> using metis to patition graph
>> completed graph partitioning
>> Notes:
>> Multiple element configurations caused a renumbering process.
>> Elements of the same configuration are now numbered sequentially.
>> Patran element results files should be displayed using newly
provided Patran neutral file for model.
>> begin warp3d input file generation
>> model title and sizes written
>> element types written
>> nodal coordinates written
>> element incidences written
>> blocking command written
>> nodal and element loads written
>> constraints written
>> warp3d input file completed
>> analysis file generation completed.
>> job terminated normally.
Appendix C (Updated: 5-12-2013) C.11 patwarp
D.1 Appendix D Tips
Appendix D
Tips for Modeling Fracture Specimens
D.1 Use Large Elements at the Loading Point
The imposition of loads through localized nodal forces or nodal displacements creates se
vere stress-strain concentrations which may cause the nonlinear solution to converge very
slowly or not at all. The simplest remedy relies onthe use of large elements at the load point
as shown in Fig. D.1. The large elements smooth the solution by effectively spreading the
load over a large region. For problems that can be loaded through applied forces, rather
thanthroughimposeddisplacements, spreadthe loading regionover a number of elements.
Recommended
Recommended
Not


FIG. D.1Mesh Refinement Near Load Points
D.2 Displacement Extrapolation
Our experience indicates that the displacement extrapolationfeature of the nonlinear solu
tion procedure accelerates convergence for large displacementfinite strain solutions. In
highrate analyses, the lack of a selfsimilar deformation patternleads to a large Euclidean
norm of the residual load vector after the first iteration. However, subsequent iterations
within a step typically converge more rapidly following displacement extrapolation in the
first iteration.
For analyses that use the small displacement formulation, displacement extrapolation
can cause very severe convergence problems, especially for ``focused" crack front meshes.
The present recommendation is to turn off" displacement extrapolation for these type of
analyses.
Users Guide WARP3D
D.2 Appendix D Tips
D.3 Displacement Loading During HighRate Analyses
For highrate loading, nonzero displacements should be applied on a single line of nodes
over the entire thickness of the specimen. Displacement loading techniques which do not
follow this recommendation often produce nonconvergent solutions. Figure D.2 shows
three methods for applying nonzero displacements (only the first method is recommended
for highrate analyses). The two methods not recommended for highrate loading are found
to introduce convergence problems in the analysis. Applying displacements to multiple
nodes through the depth under highrate loading requires a rigid body acceleration for this
section of the model (shaded region of figure). If displacements are not applied over the en
tire thickness of the model, a localized, highrate ``punching" deformation pattern may
cause the residual to become large at the edge of the applied displacement field.
For static analyses, we find that imposition of the nodal displacements over multiple
sets of throughdepth nodes, as in Fig. D.2 (b), provides more readily convergent solutions.
D.4 Newton Tolerances
Four convergence tests to control the terminationof global Newtoniterations exist current
ly in WARP. Test number two, for example, compares the ratio of the Euclidean normof the
residual force vector to the Euclidean normof the total applied force vector, with a user spe
cified value of an acceptable tolerance. This ratio of Euclidean norms should decrease to
wards zero by roughly one order of magnitude per Newtoniteration. If aslower convergence
rate persists over several iterations, the model should be reexamined relative to the load
step size and the modeling guidelines discussed here.
To provide a specific example of tolerances for convergence values, consider the 3-D
analysis of Charpy fracture specimen (10 mm square crosssection, a W 0.5). Elements
along the crack front have a nominal edge length of 10 pm. The analysis uses the small
strain kinematic formulation with a rate dependent, linear power law material model
( E q
0
500, n 10, m 35, D 1). The highrate analysis covers 200 ps in400 loading
steps to pushthe response well into the fully yielded regime witha constant time increment
of 0.5 ps. The solutionconverges in34 iterations for a typical stepusing a Newtontolerance
of 0.005 (convergence test number two).
D.5 Maximum Residual Force
At the completion of each Newton iteration, WARP outputs the value for the maximum re
sidual force and node at which this residual occurs. If a step fails to converge rapidly, the
location of the maximum residual force may indicate the region of the model responsible
for poor convergence performance.
D.6 Adaptive Load Step Sizes
The adaptive solution strategy provided in WARP often proves essential in exploratory
analyses for which satisfactory load step sizes are unknown. When the specified limit on
the number of Newton iterations is exceeded, the current load step is first sub-divided into
four equal sub-steps; each of these sub-steps can be again divided into four more equal
steps if required. Evenwiththis process, we occasionally experience problems for whichthe
adaptive solution strategy fails to produce a convergent solution. The difficulty is most
often traced to insufficiently tight convergence tolerances which allowed previous steps to
accumulate too much error.
Users Guide WARP3D
D.3 Appendix D Tips
Imposed Displacements -
Single Layer Through Depth
Imposed Displacements
Partially Through Thickness
Imposed Displacements -
Multiple Nodes Through Depth
Through
Thickness
O
u
t
e
r

E
d
g
e
O
u
t
e
r

E
d
g
e
O
u
t
e
r

E
d
g
e
a) Recommended (HighRate Loading) b) Recommended (Static Loading)
c) Not Recommended for Any Solutions
FIG. D.2Procedures to Impose Loading by Nodal Displacements
D.7 NonConvergent Solutions
Nonlinear analyses occasionally exhibit load steps which converge slowly despite seeming
ly rapid convergence rates in previous and subsequent steps. We refer to these as ``sticky"
steps; they canbe caused, for example, by extensionof the plastic zone across elements that
vary widely insize. WARPprovides the solutionparameter ``nonconvergent solutioncontin
Users Guide WARP3D
D.4 Appendix D Tips
ue" whichforces the analysis to continue beyond a nonconvergent step. If subsequent steps
show a return to rapid convergence rates, there is no accumulation of error in the solution
(WARP employs a total equilibriumformulation to compute residual nodal forces). Our ex
perience suggests this parameter may be helpful when other options have been exhausted.
D.8 Mesh Refinement for HighRate Loading
Highrate loading may deform a specimen in a substantially different manner than static
loading. The analysis of highrate loading may require additional mesh refinement in re
gions experiencing localized deformation. For impact loading of the Charpy specimen con
sidered in the previous example, we find it necessary to extend detailed mesh refinement
to the quarterspan position. The additional mesh refinement is necessary to resolve the
severe bending induced gradients that occur at the quarterspan location. Without the
mesh refinement, resolution of the plastic zone of large elements with steep gradients
created convergence problems.
D.9 Blunt Notch Tip for Finite Strain Analyses
The use of ``focused" element meshes to model a sharp crack tip works very well in linear
elastic and smallstrain plasticity analyses and no difficulties surface in the Newton com
putations. When such analyses must include the effects of finite strains along the crack
front, focused meshes often introduce convergence difficulties due to the exceedingly large
strain increments in elements incident on the front. In such cases, the crack tip should be
modeled as a ``blunt" tip having a small, semicircular shape (see figure). The undeformed
opening, b
0
, should be defined in the model as approximately 13 of the deformed opening,
b, at which results in the crack tip region are needed. Once the deformed opening exceeds
[3b
0
, parameter studies reveal a minimal affect of the b
0
.
The use of a Bbar modification to suppress volumetric locking in the 8node solid ele
ment occasionally introduces spurious deformation modes in elements on the free surface
of the blunt notchtip. This phenomena develops whenthe strains inthese elements become
exceedingly large. The stabilizationprocedure described inSect. 2.9.11 may or may not pre
vent the spurious modes in crack tip elements. Our experience reveals that completely
eliminating the Bbar formulation resolves this problem, thereby allowing the achieve
ment of larger bb
0
ratios.
Users Guide WARP3D
D.5 Appendix D Tips
FIG. D.3RecommendedModel of Crack Tip for Finite StrainAnalyses
b
0
2
Then Off Bbae in Elemengf
on Feee Sheface and in NexgRing
E.1 !""#$%&' (
)*+,&$&$- ./01&/2 3&2#4
Appendix E
Combining PartiaI Patran ResuIt FiIes Generated
During ParaIIeI Execution
!" #$%&'( )$*$ +,- ./.0.'*1 &' $ ),0$&' )&1*-&23*.) *, *#. 4-,5.11 *#$* 4.-+,-01 5,043*$6
*&,'1 +,- *#. ),0$&'7 *#. (.'.-$*&,' ,+ 8$*-$' 5,04$*&2/. -.13/* +&/.1 2.5,0.1 0,-. 5,06
4/.9: ;#.' *#. 31.- -.<3.1*1 ,3*43* ,+ $ 8$*-$' -.13/* +&/.7 *#. 0$'$(.- $') =,->.- 4-,6
5.11.1 .$5# =-&*. *#.&- ,=' 4$-* ,+ *#. ?*,*$/@ 8$*-$' +&/. *, $ ?4$-*&$/@ 8$*-$' +&/.: A,- .$5#
,3*43* -.<3.1*&'( $ 8$*-$' -.13/* +&/.7 *#&1 $44-,$5# (.'.-$*.1 $ 1.-&.1 ,+ 4$-*&$/ 8$*-$'
+&/.1 =&*# ,'. 4$-*&$/ +&/. +,- .$5# ),0$&' ,+ *#. 0,)./:
B,'1&).- $' $'$/"1&1 -3''&'( &' CD6=$" 4$-$//./: ;&*# *#. -.(3/$- ,3*43* 5,00$')7
*#. 31.- -.<3.1*1 (.'.-$*&,' ,+ 8$*-$' ',)$/ 1*-.11.1 $+*.- 1*.4 CEF 31&'( 2&'$-" +,-0$*:
G'1.-&$/ .9.53*&,'7 *#&1 +&/. &1 '$0.)!"#$%&'() *+,+) !$-4",)$/ #&'$-" $-.,$$,$ +,- 1*.4CEF:
G' 4$-$//./ .9.53*&,'7 ;HI8CJ 5-.$*.1 CD 4$-*&$/ +&/.1 '$0.)K !"#$%&'(+%%%%)
!"#$%&'(+%%%() !"#$%&'(+%%%/) +++ !"#$%&'(+%%&(+ L#. M6)&(&* ),0$&' N4-,5.11 &)O '306
2.- ).+&'.1 *#. 13++&9 +,- .$5# +&/.: L#. 1$0. 1*-$*.(" &1 31.) +,- ./.0.'* -.13/* +&/.1: A,-
+&/.1 ,+ ',)$/ )&14/$5.0.'*17 %./,5&*&.1 $') $55./.-$*&,'17 *#. 0$'$(.- 4-,5.11 N&) PO #$1
$55.11 *, $// 0,)./ %$/3.1 $') 1&04/" =-&*.1 $ 1&'(/. 8$*-$' -.13/* +&/. =&*#,3* $ ),0$&'
'302.- 13++&9:
A,- 8$*-$' *, 4-,5.11 *#. -.13/* +&/.17 $// *#. 4$-*&$/ +&/.1 031* 2. ?5,02&'.)@ &'*, $
1&'(/. -.13/* +&/. +,- *#. /,$)1*.4: ;. 4-,%&). $ 1344,-* 4-,(-$0'$0.)01-2345#*", *, 4.-6
+,-0 *#&1 *$1> ,3*1&). ,+ ;HI8CJ: ;#.' .9.53*.)7 01-2345#*", .9$0&'.1 *#. 53--.'* )&6
-.5*,-" +,- *#. 4-.1.'5. ,+ 4$-*&$/ -.13/* +&/.17 5,02&'.1 *#.0 $1 '.5.11$-" N&'5/3).1 5,06
43*$*&,' ,+ ',)$/ $%.-$(.1O7 $') =-&*.1 $ '.= 1&'(/. -.13/* +&/.7 &:.:7 !"#$%&'( &' *#. 4-.16
.'* .9$04/.: L#. 4$-*&$/ -.13/* +&/.1 -.0$&' ,' *#. )&-.5*,-" N&' *#. 4-.1.'* %.-1&,' ,+
01-Q345#*",O: L#. .9.53*&,' ,+ ;HI8CJ$') 01-2345#*", 0$" 2. ,%.-/$44.) +,- $'$/"1.1
=&*#/,'( -3'*&0.17 &:.:7 ,'5. ;HI8CJ=-&*.1 *#. 4$-*&$/ -.13/* +&/.1 +,- $ 1*.47 01-2345#*",
0$" 2. .9.53*.)*, 5,02&'. *#. -.13/* +&/.1 =#&/. ;HI8CJ5,'*&'3.1 *#. $'$/"1&1 ,+ 1321.6
<3.'* /,$) 1*.41:
Users Guide - WARP3D Binary Packets File
Appendix F
Binary Packets File
Section 2.12.2 outlines the concepts of the binary packets le and denes commands to control the type
and amount of data written to the le during WARP3D execution. This appendix describes each of the
available packets. The source code for a complete Fortran program illustrate reading and processing a
binary packets le is included in the WARP3D distribution.
F.1 File Characteristics
WARP3D creates and writes the packets le using the standard capabilities in Fortran for sequential,
unformatted I/O. The le thus has the structure of logical records, where each read/write statement in
Fortran processes at least one logical record. Logical records in a le may have variable length (number
of bytes) as required to store the data located in the record. The Fortran statement to open the binary
packets le is:
open(unit=packet_file_no, file=packet_file_name,
& access=sequential,form=unformatted,status=old )
Integer values in the binary le are all 32-bits. All oating point values are 64-bit (i.e., double precision).
The binary packets le produced on one hardware platform may or may not be readable on another
platform. For example, les produced on a Linux system likely will not be readable on a Windows
system (and vice-versa) even though WARP3D is built with the Intel Fortran compiler system on both
platforms. Files produced on two dierent Linux systems (e.g., RedHat and SuSE) are most often
compatible. Linux and OS X binary les are compatible.
Fortran unformatted les have the record lengths stored within the le. Each logical record may
have many physical records as dictated by features of the storage device and the features of the runtime,
Fortran I/O system on that platform. The existence of physical records is fully hidden from Fortran
codes as are details of the additional data in the le to identify-separate logical records. C and C++
unformatted les do not have this notion of logical records the le is just a at linear sequence of
bytes. Consequently, C and C++ programs written for post-processing the packets le must handle the
additional le data included by the Fortran I/O system to dene logical record lengths.
F.2 Packet Header Record
Each packet has an identical header record with the following data values:
the packet type: integer
number of additional logical records of data for the packet: integer
the load step number: integer
the Newton iteration number: integer
F.3 Packet Type 1: nodal displacements
The packet contains the u, v, w global displacements for each node appearing in the <integerlist> of the
output packets displacements nodes <integerlist> command. Results for each node appear on a separate
logical record. The number of additional packet records on the header record thus indicates the number
of nodes with results in the packet.
Appendix F (Updated: 3/15/2013) F.1 Binary Packets File
Users Guide - WARP3D Binary Packets File
the node number: integer
u displacement: oating point
v displacement: oating point
w displacement: oating point
F.4 Packet Type 2: nodal velocities
The packet contains the u, v, w global velocities for each node appearing in the <integerlist> of the
output packets velocities nodes <integerlist> command. Results for each node appear on a separate
logical record. The number of additional packet records on the header record thus indicates the number
of nodes with results in the packet.
the node number: integer
u velocity: oating point
v velocity: oating point
w velocity: oating point
F.5 Packet Type 3: nodal accelerations
The packet contains the u, v, w global accelerations for each node appearing in the <integerlist> of the
output packets accelerations nodes <integerlist> command. Results for each node appear on a single
logical record. The number of additional packet records on the header record thus indicates the number
of nodes with results in the packet.
the node number: integer
u acceleration: oating point
v acceleration: oating point
w acceleration: oating point
F.6 Packet Type 4: nodal reactions
The packet contains the X, Y, Z global reactions for each node appearing in the <integerlist> of the
output packets reactions nodes <integerlist> command. Results for each node appear on a single logical
record. The last logical record of the packet provides the algebraic sums for each reaction component for
the corresponding nodes. The number of additional packet records on the header record thus indicates
the number of nodes+1 with results in the packet. The number of additional packet records is 1 when
the totals only option is used within the output command.
the node number: integer
R
x
reaction: oating point
R
y
reaction: oating point
R
z
reaction: oating point
Last record of packet


R
x
reactions for nodes in packet: oating point


R
y
reactions for nodes in packet: oating point


R
z
reactions for nodes in packet: oating point
F.7 Packet Type 5: gurson elements w/o adaptive load control
At the end of each load step in analyses which have gurson elements for crack growth, WARP3D
provides a printed table of key values for each gurson element. A gurson element is any solid element
Appendix F (Updated: 3/15/2013) F.2 Binary Packets File
Users Guide - WARP3D Binary Packets File
in the model which has the gurson plasticity model and which is marked for possible extinction (i.e.,
killable) in the material properties. The same table is written concurrently as a packet if the user has
authorized packet le operations. The number of packet records equals the number of gurson elements
appearing in the printed list following each load step. A gurson element appears in the list when the
current porosity (f) exceeds the initial porosity (f
0
). This packet outputs data for gurson elements when
the adaptive load control option is not employed in the crack growth parameter input, i.e., adaptive load
control o (default setting in WARP3D when not specied). The packet record for each gurson element
provides the following data.
the element number: integer
f
0
: initial porosity: oating point
f: current porosity (averaged over element integration points): oating point

p
: average plastic strain in the matrix material: oating point
: average equivalent stress in the matrix material: oating point

m
: average macroscopic mean stress: oating point
the status of the mean stress: integer. ( =0, the mean stress increased during the current load step;
=1, the mean stress decreased during the current load step)

e
: average macroscopic mises stress: oating point
the status of the mises stress: integer. ( =0, the mises stress increased during the current load step;
=1, the mises stress decreased during the current load step)
F.8 Packet Type 6: gurson elements: adaptive load control
At the end of each load step in analyses which have gurson elements for crack growth, WARP3D provides
a printed table of key values for each gurson element. A gurson element is any solid element in the
model which has the gurson plasticity model and which is marked for possible extinction (i.e., killable)
in the material properties. The same table is written concurrently as a packet if the user has authorized
packet le operations. The number of packet records equals the number of gurson elements appearing in
the printed list following each load step. A gurson element appears in the list when the current porosity
(f) exceeds the initial porosity (f
0
). This packet outputs data for gurson elements when the adaptive
load control option is employed in the crack growth parameter input, i.e., adaptive load control on. The
packet record for each gurson element provides the following data.
the element number: integer
f
0
: initial porosity: oating point
f: current porosity (averaged over element integration points): oating point

p
: average plastic strain in the matrix material: oating point
: average equivalent stress in the matrix material: oating point

m
: average macroscopic mean stress: oating point
the status of the mean stress: integer. ( =0, the mean stress increased during the current load step;
=1, the mean stress decreased during the current load step)

e
: average macroscopic mises stress: oating point
the status of the mises stress: integer. ( =0, the mises stress increased during the current load step;
=1, the mises stress decreased during the current load step)
the increase in average porosity (f) during the current load step: oating point
F.9 Packet Type 7: interface-cohesive elements
After each load step in analyses having interface-cohesive elements for crack growth, WARP3D provides
a printed table of key values for each cohesive element. The same table is written concurrently as a packet
Appendix F (Updated: 3/15/2013) F.3 Binary Packets File
Users Guide - WARP3D Binary Packets File
if the user has authorized packet le operations. The number of packet records equals the number of
interface-cohesive elements appearing in the printed list following each load step.
See the descriptions of packet types 31 and 32 for stress (i.e., tractions) and strains (displacement
jumps across the interface) for interface-cohesive elements produced by usual output commands.
exp1 intf formulation (elements are included only if the

T 0.5

T
p
)
the element number: integer
the cohesive option: integer (= 4 for the exp1 intf option)
normal component of cohesive traction (||T
n
||): oating point
total shear component of cohesive traction (||T
t
||: oating point
normal component of displacement jump in cohesive element (
n
): oating point
shear component of displacement jump in cohesive element(||
t
||: oating point
eective traction in cohesive element (

T) : oating point
eective displacement jump in cohesive element (

) : oating point
marker character (usually an *) : 1 character , i.e., character *1 marker
The traction and displacement jump values for the element are the average values for the the integration
points of the element. The special character is ether (1) blank or (2) an * when the averaged, element
eective displacement jump has exceeded the value corresponding to peak eective stress.
PPR formulation (elements are included if any integration points > 50% peak traction values)
the element number: integer
the cohesive option: integer (= 6 for the PPR option)
normal component of cohesive traction (T
n
): oating point
shear component of cohesive traction (T
t
): oating point
normal component of displacement jump in cohesive element (
n
): oating point
shear component of displacement jump in cohesive element(
t
): oating point
averaged normal traction over element / T
np
: oating point
averaged shear traction over element / T
tp
: oating point
number of element integration points at which T
n
T
np
: integer
number of element integration points at which T
t
T
tp
: integer
The traction and displacement jump values for the element are the average values for the the integration
points of the element.
F.10 Packet Type 8: ctoa growth: constant front summary
At the end of each load step in analyses which have crack growth using the constant front CTOA
algorithm, WARP3D provides a printed table that summarizes the status of each current master node.
There exists one master node for each active crack front in the analysis. This same table of information
is also written to this packet type (when packet output is on). The number of packet records equals the
number of active master nodes and equals the number of active crack fronts. The packet record for each
master node provides the following data.
the master node number: integer
the current opening angle (total) in degrees: oating point
that status of the master node: integer. ( =0, the front has yet to grow and the critical angle refers
to the initiation angle; =1, the front is growing and the critical angle refers to the growth angle)
100 the current opening angle / critical angle: oating point
Appendix F (Updated: 3/15/2013) F.4 Binary Packets File
Users Guide - WARP3D Binary Packets File
The packet is generated after the load step nishes so the results in the packet refer to the load step
just completed.
F.11 Packet Type 9: ctoa growth: non-constant front summary
At the end of each load step in analyses which have crack growth using the general CTOA algorithm,
WARP3D provides a printed table that summarizes the status of each current node along the crack
front(s). Each node along a front has one or more neighbor nodes which leads to computation of the
current opening angles. Growth at the node occurs when any of the angles formed with neighboring
nodes exceeds the critical angle. This same table of information is also written to this packet type (when
packet output is on). The number of packet records equals the sum of [ crack front nodes (number of
neighbor nodes on the crack front -1) ]. The -1 factor arises since each crack front node has at least one
neighbor node. The packet record for each crack front node provides the following data.
the crack front node number: integer
the neighbor node number: integer
the current opening angle (total) in degrees: oating point
that status of the master node: integer. ( =0, the front has yet to grow and the critical angle refers
to the initiation angle; =1, the front is growing and the critical angle refers to the growth angle)
100 the current opening angle / critical angle: oating point
The packet is generated after the load step nishes so the results in the packet refer to the load step
just completed.
F.12 Packet Type 10: newly extincted interface-cohesive elements
At the end of each load step in analyses having interface-cohesive elements for crack growth, WARP3D
indicates which, if any, cohesive elements were newly extincted during the step (i.e., killed). The user
must indicate whether or not an interface-element may be extincted in an analysis through the keyword
killable in the specied properties of the cohesive material denition. WARP3D essentially removes the
element from the model, thereby causing crack growth equal to the surface area of the interface element.
When the analysis extincts an element, the indication of removal is written concurrently as a packet
if the user has authorized packet le operations. The number of packet records equals the number of
newly extincted elements. The packet record for each newly extincted cohesive element provides the
following data.
the element number: integer
cohesive model formulation: integer (= 4 for simple exponential model; = 6 for PPR model)
two data values, both oating point, for exponential model: (1) ratio of the average eective dis-
placement to the peak eective displacement, avg(

)/

p
; (2) ratio of the average cohesive traction
to the peak cohesive traction, avg(

T)/

T
p
or,
two data values, both oating point, for PPR model: (1) average normal traction for element in-
tegration points / peak value on the normal traction-separation curve, avg(T
n
)/T
np
; (2) average
shear traction for element integration points / peak value on the shear traction-separation curve,
avg(T
t
)/T
tp
F.13 Packet Type 11: displacements for element nodes
The packet contains the u, v, w global displacements for each node for elements appearing in the
<integerlist> of the output packets displacements elements <integerlist> command. Results for each
node of an element appear on a single logical record. The number of additional packet records on the
header record thus indicates the number of elements the number of nodes on those elements.
Appendix F (Updated: 3/15/2013) F.5 Binary Packets File
Users Guide - WARP3D Binary Packets File
the element number: integer
the structure node number for the element: integer
u displacement: oating point
v displacement: oating point
w displacement: oating point
F.14 Packet Type 12: velocities for element nodes
The packet contains the u, v, w global velocities for each node for elements appearing in the <integerlist>
of the output packets velocities elements <integerlist> command. Results for each node of an element
appear on a single logical record. The number of additional packet records on the header record thus
indicates the number of elements the number of nodes on those elements.
the element number: integer
the structure node number for the element: integer
u velocity: oating point
v velocity: oating point
w velocity: oating point
F.15 Packet Type 13: accelerations for element nodes
The packet contains the u, v, w global accelerations for each node for elements appearing in the <integerlist>
of the output packets accelerations elements <integerlist> command. Results for each node of an ele-
ment appear on a separate logical record. The number of additional packet records on the header record
thus indicates the number of elements the number of nodes on those elements.
the element number: integer
the structure node number for the element: integer
u acceleration: oating point
v acceleration: oating point
w acceleration: oating point
F.16 Packet Type 14: reactions for element nodes
The packet contains the R
x
, R
y
, R
z
global reactions for each node for elements appearing in the <integerlist>
of the output packets reactions elements <integerlist> command. Results for each node appear on a
separate logical record. The last logical record of the packet provides the algebraic sums for each reac-
tion component for the corresponding nodes. The number of additional packet records on the header
record thus indicates 1 + the number of elements the number of nodes on those elements. The number
of additional packet records is 1 when the totals only option is used within the output command.
the element number: integer
the structure node for the element: integer
R
x
reaction: oating point
R
y
reaction: oating point
R
x
reaction: oating point
Last record of packet:


R
x
reactions for nodes in packet: oating point


R
y
reactions for nodes in packet: oating point
Appendix F (Updated: 3/15/2013) F.6 Binary Packets File
Users Guide - WARP3D Binary Packets File


R
z
reactions for nodes in packet: oating point
F.17 Packet Type 15: element stresses
The packet contains stress values for elements appearing in the <integerlist> of the output packets
stresses elements <integerlist> command. The location of stress output is specied by the element
logical properties: gausspts, nodpts or center output (see for example, Section 3.1.3). Twenty-six stress
values are output for each Gauss point, element node or element center point. These 26 values are stored
in one logical record on the le. Figure 2.9 summarizes the 26 values.
The number of additional packet records indicated on the header record for output at the:
gausspts equals the number of elements the number of Gauss points within those elements.
nodpts equals the number of elements the number of nodes on those elements.
center output equals the number of elements within the <integerlist>.
Elements appearing in the <integerlist> may have a dierent type, material model, etc. The values on
each record (in order) are:
the element number: integer
the Gauss point number, the node number or 0 indicating center output: integer

x
: oating point

y
: oating point

z
: oating point

xy
: oating point

yz
: oating point

xz
: oating point
U
0
(work density): oating point

vm
(mises eective stress): oating point
c
1
(state variable from material model): oating point
c
2
(state variable from material model): oating point
c
3
(state variable from material model): oating point
I
1
(rst stress invariant): oating point
I
2
(second stress invariant): oating point
I
3
(third stress invariant): oating point

1
(principal stress,
1

2

3
): oating point

2
( principal stress,
1

2

3
): oating point

3
(principal stress,
1

2

3
): oating point
l
1
(cosine for direction 1): oating point
m
1
(cosine for direction 1): oating point
n
1
(cosine for direction 1): oating point
l
2
(cosine for direction 2): oating point
m
2
(cosine for direction 2): oating point
n
2
(cosine for direction 2): oating point
l
3
(cosine for direction 3): oating point
m
3
(cosine for direction 3): oating point
n
3
(cosine for direction 3): oating point
Appendix F (Updated: 3/15/2013) F.7 Binary Packets File
Users Guide - WARP3D Binary Packets File
F.18 Packet Type 16: element strains
The packet contains strain values for elements appearing in the <integerlist> of the output packets
strains elements <integerlist> command. The location of strain output is specied by the element
logical properties: gausspts, nodpts or center output (see for example, Section 3.1.3). Twenty-six strain
values are output for each Gauss point, element node or element center point. These 26 values are stored
in one logical record on the le. Figure 2.8 summarizes the 26 values.
The number of additional packet records indicated on the header record for output at the:
gausspts equals the number of elements the number of Gauss points within those elements.
nodpts equals the number of elements the number of nodes on those elements.
center output equals the number of elements within the <integerlist>.
Elements appearing in the <integerlist> may have a dierent type, material model, etc. The values on
each record (in order) are:
the element number: integer
the Gauss point number, the node number or 0 indicating center output: integer

x
: oating point

y
: oating point

z
: oating point

xy
: oating point

yz
: oating point

xz
: oating point

eff
: (eective strain): oating point
I
1
(rst strain invariant): oating point
I
2
(second strain invariant): oating point
I
3
(third strain invariant): oating point

1
(principal strain,
1

2

3
): oating point

2
( principal strain,
1

2

3
): oating point

3
(principal strain,
1

2

3
): oating point
l
1
(cosine for direction 1): oating point
m
1
(cosine for direction 1): oating point
n
1
(cosine for direction 1): oating point
l
2
(cosine for direction 2): oating point
m
2
(cosine for direction 2): oating point
n
2
(cosine for direction 2): oating point
l
3
(cosine for direction 3): oating point
m
3
(cosine for direction 3): oating point
n
3
(cosine for direction 3): oating point
F.19 Packet Type 17: J-integral results
The packet contains results for the currently-dened domain constructed using the domain command.
Domain denition data is contained in the rst logical record following the header record. Domain
integral results for individual rings (domains) are contained in the following logical records. When the
domain denition employs automatic rings (domains) to dene multiple domains, the packet contains
Appendix F (Updated: 3/15/2013) F.8 Binary Packets File
Users Guide - WARP3D Binary Packets File
the average, minimum and maximum domain-integral totals. Following output of J-values, WARP3D
writes stress intensity factor values K
I
, K
II
, and K
III
to the packet for each domain.
The number of additional packet records indicated on the header record for:
a single ring (automatic or user-dened) = 3.
multiple automatically-dened rings = (2 the number of rings ) + 2.
The values in the rst record after the header are:
the number of rings: integer
the domain ID: character (24 chars)
the structure name: character (8 chars)
the loading name: character (8 chars)
the load step number: integer
The values in the record(s) corresponding to each ring are (see Chapter 4):
domain integral term 1: oating point
domain integral term 2: oating point
domain integral term 3: oating point
domain integral term 4: oating point
domain integral term 5: oating point
domain integral term 6: oating point
domain integral term 7: oating point
domain integral term 8: oating point
domain integral total: oating point
number of elements skipped or killed: integer
For multiple rings, the values in the next record of the packet are:
average of domain integral totals: oating point
minimum domain integral total: oating point
maximum domain integral total: oating point
Additional record(s) corresponding to each ring include:
pure mode-I stress intensity factor for plane stress: oating point
pure mode-I stress intensity factor for plane strain: oating point
pure mode-II stress intensity factor for plane stress: oating point
pure mode-II stress intensity factor for plane strain: oating point
pure mode-III stress intensity factor: oating point
F.20 Packet Type 18: ctoa growth: non-constant front node release event
After each load step in analyses which have crack growth using the general CTOA algorithm, WARP3D
checks for crack front nodes that exceed the critical angle (for initiation or continued growth). The code
provides a printed table that summarizes the status of each current node along the crack front(s) that
exceeds the critical angle and is to be released at that time. This same table of information is also
written to this packet type (when packet output is on). The number of packet records equals the 1 +
the number of crack front nodes being released at this point.
The values in the rst record after the header are:
Appendix F (Updated: 3/15/2013) F.9 Binary Packets File
Users Guide - WARP3D Binary Packets File
(1) the critical angle (degrees) for continued growth, (2) the critical angle (degrees) for initiation of
growth, and (3) the (+,-) angle variation (a percentage of the critical value) within which nodes are
released: 3 oating point numbers
The packet record for each crack front node provides the following data.
the crack front node number: integer
the current opening angle (total) in degrees: oating point
F.21 Packet Type 19: ctoa growth: constant front node release event
After each load step in analyses which have crack growth using the constant-front CTOA algorithm,
WARP3D checks the master node for each current front that exceeds the critical angle (for initiation
or continued growth). The code provides a printed table that summarizes the status of each master node
that exceeds the critical angle and the associated front to be released at that time. This same table of
information is also written to this packet type (when packet output is on). The number of packet records
equals the 1 + the number of crack fronts being released at this point and the associated interim nodes
for the master node. Interim nodes appear when the crack is grown forward more than one element.
This occurs when the user-specied criterion of L
c
> L
e
is in eect (see Section 5.3).
The values in the rst record after the header are:
(1)the critical angle (degrees) for continued growth, (2) the critical angle (degrees) for initiation of
growth, and (3) the (+,-) angle variation (a percentage of the critical value) within which nodes are
released: 3 oating point numbers
The packet record for each crack front node provides the following data.
the crack front master or interim node number: integer ( =0, the node is a master node; =1, the
node is an interim node associated with the most recent record for a master node)
the current opening angle (total) in degrees: oating point
F.22 Packet Type 20: newly extincted gurson elements
After each load step in analyses having gurson elements for crack growth, WARP3D indicates which,
if any, additional gurson elements were extincted (i.e., killed). A gurson element is any solid element in
the model with the gurson plasticity model and which has the material property killable invoked. The
user must indicate whether or not a solid element may be extincted in an analysis through the keyword
killable in the specied properties of the gurson material denition. WARP3D essentially removes the
element from the model, causing crack growth. When the analysis extincts an element, the indication
of removal is concurrently written as a packet if the user has authorized packet le operations. The
number of packet records equals the number of newly extincted elements. The packet record for each
newly extincted gurson element provides the following data.
the element number: integer
f
0
: initial porosity dened in the material: oating point
f: porosity (averaged over element integration points): oating point

m
: average macroscopic mean stress: oating point

e
: average macroscopic mises stress: oating point
F.23 Packet Type 21: newly extincted stress-modied critical strain ele-
ments
After each load step in analyses having smcs elements for crack growth, WARP3D indicates which, if
any, additional smcs elements were extincted (i.e., killed). The user must indicate whether or not a solid
Appendix F (Updated: 3/15/2013) F.10 Binary Packets File
Users Guide - WARP3D Binary Packets File
element may be extincted in an analysis through the keyword killable in the specied properties of the
plasticity material denition. WARP3D essentially removes the element from the model, causing crack
growth. When the analysis extincts an element, the indication of removal is concurrently written as a
packet if the user has authorized packet le operations. The number of packet records equals the number
of newly extincted elements. The packet record for each newly extincted smcs element provides the
following data.
the element number: integer

p
: plastic strain (averaged over element integration points): oating point

p
c
: critical plastic strain: oating point
F.24 Packet Type 22: stress-modied critical strain elements: no automatic
load reduction
Aftger each load step in analyses having smcs elements for crack growth, WARP3D provides a printed
table of key values for each such smcs element. The same table is written concurrently as a packet if
the user has authorized packet le operations. The number of packet records equals the number of smcs
elements appearing in the printed list following each load step. A smcs element appears in the list when
the current average plastic strain (
p
) exceeds 0. This packet outputs data for smcs elements when the
automatic load reduction option is not employed in the crack growth parameter input, i.e., automatic
load reduction o (default setting in WARP3D when not specied). The packet record for each smcs
element provides the following data.
the element number: integer

p
: average plastic strain (over element integration points): oating point

p
c
: current critical plastic strain: oating point

m
: average mean stress (over element integration points): oating point

e
: average mises equivalent stress (over element integration points): oating point
F.25 Packet Type 23: stress-modied critical strain elements: automatic
load reduction
After each load step in analyses which have smcs elements for crack growth, WARP3D provides a
printed table of key values for each smcs element. The same table is written concurrently as a packet if
the user has authorized packet le operations. The number of packet records equals the number of smcs
elements appearing in the printed list following each load step. A smcs element appears in the list when
the current average plastic strain (
p
) exceeds 0. This packet outputs data for smcs elements when the
automatic load reduction option is employed in the crack growth parameter input, i.e., automatic load
reduction on. The packet record for each smcs element provides the following data.
the element number: integer

p
: plastic strain (averaged over element integration points): oating point

p
c
: current critical plastic strain: oating point

m
: averaged mean stress (over element integration points): oating point

e
: averaged mises equivalent stress (over element integration points): oating point
the averaged increase in plastic strain (
p
) during the current load step: oating point
F.26 Packet Type 24: accumulated loading pattern factors for load step
The user species the contribution of one or more loading patterns and constraints to establish the
incremental load for each analysis step. When the crack growth processors, for example, reduce the
magnitude of the loading increments, the user often has diculty tracking the actual loads applied on
Appendix F (Updated: 3/15/2013) F.11 Binary Packets File
Users Guide - WARP3D Binary Packets File
the model. WARP3D updates the actual multipliers for loading patterns and constraints imposed on the
model. The code prints this table following each load step. This packet type provides the same informa-
tion. The number of packet records equals the number of loading patterns with non-zero accumulated
factors, including the constraints. Each packet record contains the following data.
the loading pattern name as a character string (a12) imposed displacements through constraints
are named constraints
the accumulated multiplier for this pattern: oating point
F.27 Packet Type 27: interaction-integral results: stress intensity factors
The packet contains results for the currently-dened domain constructed using the domain command.
Domain denition data is contained in the rst logical record following the header record. Interaction
integral results for individual rings (domains) are contained in the following logical records. The nal
records contain J-values computed for each ring (domain) using the stress intensity factors obtained
through the interaction integral procedure. (Note: rings and domains are synonymous.)
The number of additional packet records indicated on the header record for:
a single ring (automatic or user-dened) = 7.
multiple automatically-dened rings = 1 + 5(the number of rings +1) + the number of rings.
The values in the rst record after the header are:
the number of rings: integer
the domain ID: character (24 chars)
the structure name: character (8 chars)
the loading name: character (8 chars)
the load step number: integer
Although the domain command in Chapter 4 may suppress either plane-stress or plane-strain output to
the WARP3D output le, packet output contains data for plane stress and plane strain. Therefore, all of
the following data for this packet type is repeated ve times. Each repetition corresponds, respectively,
to interaction-integral output for: mode-I plane stress, mode-I plane strain, mode-II plane stress, mode-
II plane strain, and mode-III (anti-plane shear). For each of these ve sets of data, the values in the
record(s) corresponding to each ring are (see Chapter 4):
interaction integral term 1: oating point
interaction integral term 2: oating point
interaction integral term 3: oating point
interaction integral term 4: oating point
interaction integral term 5: oating point
interaction integral term 6: oating point
interaction integral term 7: oating point
interaction integral term 8: oating point
interaction integral total: oating point
stress intensity factor: oating point
number of elements skipped or killed: integer
For multiple rings, the next record of the packet stores:
average of interaction integral totals: oating point
Appendix F (Updated: 3/15/2013) F.12 Binary Packets File
Users Guide - WARP3D Binary Packets File
minimum interaction integral total: oating point
maximum interaction integral total: oating point
Additional record(s) corresponding to each ring include:
J-value for plane stress: oating point
J-value for plane strain: oating point
F.28 Packet Type 28: interaction-integral results: T-stresses
The packet contains results for the currently-dened domain constructed using the domain command.
Domain denition data is contained in the rst logical record following the header record. Interaction
integral results for individual rings (domains) are contained in the following logical records. (Note: rings
and domains are synonymous.)
The number of additional packet records indicated on the header record for:
a single ring (automatic or user-dened) = 3.
multiple automatically-dened rings = 1 + 2(the number of rings+2).
The values in the rst record after the header are:
the number of rings: integer
the domain ID: character (24 chars)
the structure name: character (8 chars)
the loading name: character (8 chars)
the load step number: integer
All of the following data for this packet type is repeated twice. Repetitions correspond to T-stress
interaction-integral output for plane stress and plane strain, respectively. For each of these two sets of
data, the values in the record(s) corresponding to each ring are (see Chapter 4):
interaction integral term 1: oating point
interaction integral term 2: oating point
interaction integral term 3: oating point
interaction integral term 4: oating point
interaction integral term 5: oating point
interaction integral term 6: oating point
interaction integral term 7: oating point
interaction integral term 8: oating point
interaction integral total: oating point
T-stress T
11
: oating point
T-stress T
33
: oating point
number of elements skipped or killed: integer
For multiple rings, the next record of the packet stores:
average of T
11
-values: oating point
minimum of T
11
-values: oating point
maximum of T
11
-values: oating point
average of T
33
-values: oating point
minimum of T
33
-values: oating point
Appendix F (Updated: 3/15/2013) F.13 Binary Packets File
Users Guide - WARP3D Binary Packets File
maximum of T
33
-values: oating point
F.29 Packet Type 29: nodal temperatures
The packet contains the temperatures for each node appearing in the <integerlist> of the output packets
temperatures nodes <integerlist> command. Results for each node appear on a separate logical record.
The number of additional packet records on the header record thus indicates the number of nodes with
results in the packet.
the node number: integer
current temperature (T) temperature T
0
specied in the initial conditions for the model + all
incremental changes (T) dened through load steps: oating point
T
0
temperature specied in the initial conditions for the model (see Section 2.9). Values are zero if
no initial conditions specied
F.30 Packet Type 30: temperatures for element nodes
The packet contains the temperatures for each node of elements appearing in the <integerlist> of the
output packets temperatures elements <integerlist> command. Results for each node of an element
appear on a single logical record. The number of additional packet records on the header record thus
indicates the number of elements the number of nodes on those elements.
the element number: integer
the structure node number for the element: integer
current temperature (T) temperature T
0
specied in the initial conditions for the model + all
incremental changes (T) dened through load steps: oating point
T
0
temperature specied in the initial conditions for the model (see Section 2.9). Values are zero if
no initial conditions specied
F.31 Packet Type 31: tractions for interface-cohesive elements
The packet contains traction values for interface elements appearing in the <integerlist> of the output
packets stresses elements <integerlist> command. By default, traction values are output at the element
integration points to request a single set of averaged values at the element center list the keyword
center output in the element proeprties.
The number of additional packet records indicated on the header record for output at the:
integration points equals the number of elements the number of integration points within those
elements. This the default output location..
center output equals the number of elements within the <integerlist>.
Key traction values output at each integration point or the center are: T
t1
, T
t2
, T
s
and T
n
. Additional
values, based on the type of cohesive material model associated with the element, follow these common
four values. See tables in Section 3.3 for listing and denition of all output values.
The following summarizes the values at each location based on the cohesive model type.
linear intf (6 values per integration point or 6 values for the center)
T
t1
, T
t2
, T
s
and T
n
= 1/2 (T
T
)

ur
0
exp1 intf (8 values per integration point or 8 values for the center)
Appendix F (Updated: 3/15/2013) F.14 Binary Packets File
Users Guide - WARP3D Binary Packets File
T
t1
, T
t2
, T
s
and T
n


T and

T/

T
p
=

0
T
T
d

ur
= 1/2 (T
T
)
ppr intf (8 values per integration point or 8 values for the center)
T
t1
, T
t2
, T
s
and T
n
T
s
/T
sp
and T
n
/T
np
=

0
T
T
d

ur
= 1/2 (T
T
)
F.32 Packet Type 32: displacement jumps for interface-cohesive elements
The packet contains displacement jump (i.e., strain) values for interface elements appearing in the
<integerlist> of the output packets stresses elements <integerlist> command. By default, displacement
jump values are output at the element integration points to request a single set of averaged values at
the element center list the keyword center output in the element proeprties.
The number of additional packet records indicated on the header record for output at the:
integration points equals the number of elements the number of integration points within those
elements. This the default output location..
center output equals the number of elements within the <integerlist>.
Key displacement jump values output at each integration point or the center are:
t1
,
t2
,
s
and

n
. Additional values, based on the type of cohesive material model associated with the element, follow
these common four values. See tables in Section 3.3 for listing and denition of all output values.
The following summarizes the values at each location based on the cohesive model type.
linear intf (4 values per integration point or 4 values for the center)

t1
,
t2
,
s
and
n
exp1 intf (6 values per integration point or 6 values for the center)

t1
,
t2
,
s
and
n

p
ppr intf (6 values per integration point or 6 values for the center)
T
t1
, T
t2
, T
s
and T
n
T
s
/T
sp
and T
n
/T
np

s
/
sp

n
/

np
F.33 Packet Reader (Fortran Program)
The Fortran source code for an example packet reader program is included in the WARP3D distribution
in the directory packet dir. This example program is designed to run interactively in a shell window. On
startup, it queries for a list of packet types to be processed during execution (other packet types in the
binary packets le are ignored). The routines to process each packet type read values from the packet
Appendix F (Updated: 3/15/2013) F.15 Binary Packets File
Users Guide - WARP3D Binary Packets File
le and write some or all of the data values. We expect most users will modify extensively this example
program to suit their needs.
The example program may be compiled simply, for example, using the Intel Fortran compiler using
(the entire program is in a single text le)
ifort packet_reader.f -o packet_reader.go
Appendix F (Updated: 3/15/2013) F.16 Binary Packets File
!"# !""#$%&' ( )*+#,&-# ./#0#$1 23#410#$1
$%%&'()* !
Treatment of Cohesive/Interface EIements in
Patran-Formatted ResuIt FiIes
!"# $%& '( $"')" *%+,%( "%(-.#/ 01,2%++#- #.#2#(+ ,#/3.+ 0'.#/ 2%(-%+#/ % /4#)'0') 01,5
23.%+'1(10 '(+#,0%)# #.#2#(+/ '(678*9:+1 %)"'#;# %))3,%+# ,#/3.+/< *%+,%(%))#4+/ =1+"
01,2%++#- (1-%. %(- 01,2%++#- #.#2#(+ ,#/3.+ 0'.#/< 6"#( -'/4.%&'(> ,#/3.+/ 10 %(& ?'(-
>,%4"')%..&@ *%+,%( #24.1&/ % (1-#5=%/#- 01,23.%+'1(@ '<#<@ %.. >,%4"')%. ,#/3.+ >,%-'#(+/
%,# =%/#- 341( (1-%. ;%.3#/< 7 3/#, )13.- ,#%/1(%=.& 4,#/3441/# +"%+ +"# A#.#2#(+ 0'..A
-'/4.%& 14+'1( 01, #.#2#(+ ,#/3.+/ /'24.& ,#;#%./ +"# /'(>.# ,#/3.+%(+ ;%.3# 01, #%)" #.#5
2#(+ 4,'(+#- '( +"# ,#/3.+ 0'.#@ =3+ +"'/ '/ (1+ +"# )%/#< B1, 01,2%++#- #.#2#(+ ,#/3.+ 0'.#/@
*%+,%( %//'>(/ +"# /'(>.# ,#/3.+%(+ ;%.3# 01, %( #.#2#(+ +1 #%)" (1-# 10 +"# #.#2#(+@ %;#,5
%>#/ +"# ,#/3.+%(+ ;%.3# )1(+,'=3+'1(/ 2%-# =& %.. +"# #.#2#(+/ %++%)"#-+1 %(& >';#((1-#@
%(- %-14+/ +"%+ ;%.3# %/ +"# ,#/3.+ 01, +"# (1-#< B1, 01,2%++#- (1-%. ,#/3.+ 0'.#/@ *%+,%(
/'24.& %-14+/ +"# ;%.3# +"%+ '/ #C4.')'+.& /+%+#- '(+"# 0'.# %(- %//'>(/ '+ +1 +"# )1,,#)+ (1-#<
*1/+'(> %(- 3(41/+'(> 21-#. A>,134/A -1 (1+ %.+#, -'/4.%&#- ,#/3.+/<
D(+#,0%)# #.#2#(+/ 3/#- '( )1"#/';# )1(/+'+3+';# 21-#./ )%( +"#( /?#$ +"# -'/4.%&#-
,#/3.+/ 10 %-E%)#(+ #.#2#(+/ '0 (1+ +,#%+#- 4,14#,.&< F1(/'-#, +"# 01..1$'(> /)#(%,'1/G '0
)1"#/';# #.#2#(+ ,#/3.+/ %,# /#+ +1 H#,1 '( +"# 01,2%++#- #.#2#(+ ,#/3.+ 0'.#@ *%+,%(%//'>(/
% H#,1 ,#/3.+ +1 +"# (1-#/ 10 +"# )1"#/';# #.#2#(+< 70+#, 3(-#,>1'(> '("#,#(+ (1-%. %;#,%>5
'(> $'+"'(*%+,%(@ +"# -'/4.%&#-,#/3.+/ 01, %-E%)#(+ (1(5'(+#,0%)# #.#2#(+/ %,# '()1,,#)+.&
,#-3)#-< D0 A)1"#/';#51(.&A (1-#/ I'<#< +"1/# (1-#/ %++%)"#- 1(.& +1 )1"#/';# #.#2#(+/J %,#
>';#( H#,1 ,#/3.+%(+ ;%.3#/ '( +"# 01,2%++#- (1-%. ,#/3.+/ 0'.#@ *%+,%( -'/4.%&/ ,#/3.+%(+
>,%-'#(+/ %),1// )1"#/';# #.#2#(+/ +"%+ )%(=# #00#)+';#.&'>(1,#-=&+"# 3/#,@ =3+ %,# '()1,5
,#)+ (1(#+"#.#//<
678*9: )12=%+/ +"#/# /3=+.#+'#/ '( *%+,%( =& #00#)+';#.& /344,#//'(> 13+43+ 10 %(&
?'(- '( +"# 01,2%++#- ,#/3.+ 0'.#/ 01, )1"#/';# #.#2#(+/ %(- (1-#/ %++%)"#- 1(.& +1 )1"#/';#
#.#2#(+/< *%+,%( -'/4.%&/ A(1A ,#/3.+/ 01, +"#/# #.#2#(+/ %(- (1-#/@ +&4')%..& %-14+'(> %
)1.1, +"%+ '/ =#&1(- +"# 344#, #(- 10 +"# )3,,#(+ ,%(># +1 -#/'>(%+# .%)? 10 ,#/3.+/< D( +"'/
$%&@ 678*9: %;1'-/ '("#,#(+ %;#,%>'(> 10 %,+'0')'%. )1"#/';# #.#2#(+ ,#/3.+/<
Users Guide - WARP3D Supported Computer Platforms
Appendix H
Supported Computer Platforms
Support for various CPU architectures and computer platforms are added and removed to WARP3D as
technology advances.
Pre-compiled executables are distributed with the code for each supported platform. The executables
for Windows and OS X provide parallel execution via threads and shared memory. They also use static
linking of all required libraries. The Intel compiler system is thus not required on your systems to use
these executables.
The pre-compiled executables on Linux do link with some shared libraries from the Intel compiler and
MPI systems. We include these shared libraries in the WARP3D distribution (see directory linux pack-
ages). Intel grants permission for software developers to re-distribute these libraries. Consequently, your
Linux systems are not required to have the Intel software installed to run the threads only executable
included in the distribution. However, the Intel MPI system must be installed to use the executable
included in our distribution. The Intel MPI software creates the MPI runtime environment at execution
startup and provides libraries needed to re-build the executable.
H.1 Windows
The distribution includes a pre-compiled executable for 64-bit Windows (built on Windows 7 SP1).
To re-build the Windows executable to include any modications to the source code, the Intel Fortran
Composer XE system must be installed on your computer. We use Release 2013 of the Intel software
at this time. Future versions of the Intel compiler system should remain compatible with the WARP3D
source code.
H.2 Linux
The pre-compiled executables run on 64-bit Linux systems. Our tests include RedHat and Ubuntu
distributions.
To re-build the threads-only Linux executable to include modications to the source code, the Intel
Fortran Composer XE 2013 for Linux system must be installed on your computer. Future versions of
the Intel compiler system should remain compatible with the WARP3D source code. To build the MPI
+ threads executable you will also need the Intel MPI 4 system installed. We use Update 4 at present.
The Intel MPI software is also required to run the pre-compiled MPI + threads executable.
H.3 Mac OS X
The pre-compiled executable runs on Mac OS X computers under Mountain Lion (10.8.3). We expect
the pre-compiled executable to also run under Lion. The Mac hardware must be Intel Core 2 Duo or
later. WARP3D runs parallel using only threads at this time.
To re-build the executable to include modications to the source code, the Intel Fortran Composer
XE 2013 for Mac OS X system must be installed on your computer. We use Update 4 of the Intel
software at this time. Future versions of the Intel compiler system should remain compatible with the
WARP3D source code
Appendix H (Updated: 5-13-2013) H.1 Supported Computer Platforms
Users Guide - WARP3D UMAT
Appendix I
Abaqus Compatible UMAT
and Other USER Routines
The user-provided routines and importantly the UMAT feature of Abaqus enjoy widespread popularity
as a way to include new capabilities for modeling nonlinear behavior of materials. WARP3D includes the
capability to use existing UMAT codes with very minor changes. The User Subroutine Reference Manual
included in the Abaqus formal documentation and several of their tutorials/presentations provide an
extensive description of the variables passed to-from a UMAT. The discussions here focus on those areas
where analysis concepts in Abaqus and WARP3D dier and the additional arguments passed to the
UMAT with WARP3D specic information that the UMAT code may wish use. The approach taken
here in the descriptions assumes the reader already has a working UMAT and wants to include/use it
in WARP3D.
As new user routine capabilities are added to WARP3D, they will be documented in this Appendix
as well. See subsequent sections.
An overview of the various topics include:
understand dierences between the Abaqus step-increment-iteration concept of analysis and the
step-iteration concept employed in WARP3D
modify the routine umat set features included in the umats.f le of the src directory in the WARP3D
distribution. WARP3D calls this routine to obtain information about features of the UMAT, e.g.,
the number of state variables at each material point
for parallel execution to increase computational eciency, modify the existing UMAT code to make
it thread safe WARP3D will by default invoke concurrent instances of the UMAT via threads. An
option is available to force serial execution of stress updating for element blocks referencing a UMAT
decide if the UMAT will handle temperature eects on strains or if WARP3D will handle the tem-
perature eects based on user-specied thermal expansion coecients
modify the UMAT code to include the WARP3D specic arguments passed after all the standard
Abaqus prescribed arguments
build a new WARP3D executable that includes the UMAT
refer to the UMAT as a material assigned to nite elements in a model and provide values of properties
for the UMAT. See Section 3.11 for this information.
These topics are discussed in more detail in the sections below.
I.1 Steps-increments-iterations: Abaqus and WARP3D concepts
Abaqus users are quite familiar with the analysis concept of steps, with steps subdivided into xed or
variable-sized increments, and with global Newton iterations over an increment to drive residual nodal
forces to acceptably small values. In the simplest form, an Abaqus step denes the new level of total
applied load on the model with increments used to facilitate and track the nonlinear solution as the load
is gradually increased over the step output may be obtained after any increment once the Newton
iterations converge.
WARP3D uses the concept of steps and iterations. A step imposes a small increase/decrease of new
loading on the model with global Newton iterations to drive residuals caused by nonlinear response over
the step towards zero. A WARP3D step thus has the same role as an increment in Abaqus; WARP3D
Appendix I (Updated: 5-10-2013) J.1 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
does not have a concept comparable to an Abaqus step. The total loading on the model is the sum
of all (incremental) loads imposed in each of the steps for which the solution has been computed. The
increase/decrease of loads imposed in a step may consist of increments of nodal forces and element loads
(e.g., pressures), temperatures at model nodes and non-zero displacement increments imposed at model
nodes. Incremental forces to enforce contact constraints and to release forces during crack growth are
generated and included by internal WARP3D routines. Output may be requested once the equilibrium
iterations converge for a load step, a restart le may be written, etc.
I.2 UMAT Subroutine Arguments
The Abaqus UMAT subroutine interface is
subroutine umat( stress, statev, ddsdde, sse, spd, scd, rpl,
1 ddsddt, drplde, drpldt, stran, dstran, time, dtime, temp,
2 dtemp, predef, dpred, cmname, ndi, nshr, ntens, nstatv,
3 props, nprops, coords, drot, pnewdt, celent, dfgrd0, dfgrd1,
4 noel, npt, layer, kspt, kstep, kinc, kiter, kout, kthread, knumthreads )
WARP3D adds the last four arguments kiter, kout, kthread, knumthreads. A very brief description is
given here of the arguments with values assigned and expected on return by WARP3D. See the Abaqus
User Subroutine Reference Manual for complete details.
*stress. (61) vector of stresses. Same order as Abaqus (xx, yy, zz, xy, xz, yz). Converged values for
load step n are passed on entry; updated values at n+1 are returned. In nite-strain problems, these
are the unrotated Cauchy stresses [see section below. Same as in Abaqus Explicit, also see WARP3D
Chapter 1]
*statev. (nstatv 1) vector of state variables at the material point. Values at n on entry are updated
to n + 1 and returned
*ddsdde (6 6) algorithmic tangent (i.e., the Jacobian). WARP3D makes the returned matrix sym-
metric. Matrix is zero on entry.
*sse, *spd, *scd. (scalars). Elastic energy density, plastic dissipation density, creep dissipation density.
Values set to those at n on entry; updated to n + 1 by UMAT. Note: scp is currently ignored by
WARP3D.
*rpl, *ddsddt, *drplde, *drpldt. Variables for coupled thermal-stress or thermal-electrical-structural
solutions in Abaqus. WARP3D passes correct sizes and types with zero values but otherwise ignores
these variables. WARP3D does not support coupled solutions
*stran, *dstran. (6 1) vector of strains at WARP3D load step n and current estimate of strain
change over n n + 1 (see section below about temperature processing). In nite-strain problems,
these are unrotated components and approximations of the logarithmic strain (same as in Abaqus
Explicit, also see WARP3D Chapter 1)
*time. (2 1)time(1) = simulation time at start of WARP3D load step n; time(2) = time(1) since
WARP3D does not have the concept of Abaqus steps.
*dtime. time t
n+1
t
n
*temp, *dtemp. temperatures T
n
and T
n+1
T
n
*predef. (1 1) vector. Predened eld variables. Not dened or used by WARP3D,
cmname. character * 8 always has content UMAT-WRP
ndi. always = 3
nshr. always = 3 (number of engineering shear strain/stress components)
ntens. always = 6
Appendix I (Updated: 5-10-2013) J.2 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
nstatv. number of state (history) variables for a material point. Value must be hard-coded into the
routine umat set features included in the umats.f le. No specic limits are imposed on the number
of state values per material point
*props. (nprops1) values of user-specied properties for the UMAT. In the input for a model, users
declare values of props with um 1 < value > um 2 < value >. . .
nprops maximum number of user-specied properties for the UMAT. WARP3D limit is 50
*coords. (3 1) cartesian, global coordinates for the material point. In nite-strain solutions, these
are the coordinates based on current estimate of the solution at n + 1
*drot. (3 3). Rotation increment matrix. WARP3D sets this to an identity matrix since all nite-
strain stress updating is executed in the unrotated coordinate system (same as Abaqus Explicit).
Existing UMAT codes can simply leave the calls to rotsig unchanged for simplicity.
*pnewdt. WARP3D sets this value to a very large number on entry. If the returned value is < 1.0,
WARP3D immediately suspends all stress updating processes for the model and requests adaptive
sub-incrementation of the load step (see Section 2.10)
*celent. characteristic element length
*dfgrd0, *dfgrd1. (3 3) deformation gradient F at n and for the current estimate of the solution
at n + 1 . For linear displacement elements, F is replaced by the mean-dilatation form F
noel. element number in the model
npt. material point number in element
layer. always = 1
kspt. always = 1
kstep. always = 1 since WARP3D has no concept of the Abaqus step
kinc. WARP3D load step number for which the solution is being computed, i.e., n + 1. On the rst
call to UMAT for all material points, kinc = 1.
kiter. WARP3D Newton iteration number for a load step. See special notes below for temperature
processing when kiter may be passed = 0. Otherwise kiter 1
kout. Fortran device number for any output the UMAT wishes to produce, e.g., debugging information
kthread. the thread number executing this instance of the UMAT routine. In WARP3D, threads are
numbered starting at 1, not zero.
knumthreads. the number of threads assigned to process all element blocks for stress and Jacobian
updating
All oating point values are double precision indicated by * above. Underlined arguments are the
WARP3D additions at the end.
I.3 Processing of Temperature Eects on Strains
Abaqus provides two alternatives for handling temperature eects on material response in umats:
the user species thermal expansion coecients for the material external to the UMAT and Abaqus
processes temperature eects specically the stran and dstran quantities then have only the me-
chanical strains. Abaqus removes the thermal contribution to strains before calling the UMAT. The
UMAT does nothing about temperature eects on material response.
the UMAT is designed and implemented to process all temperature eects on the material behavior,
which could be quite complex, for example, with temperature dependent values of thermal expansion.
The user does not specify thermal expansion coecients for the material outside of the UMAT (where
they are visible to Abaqus). Rather, they are dened in the input for a model as part of the UMAT
properties (e.g., um 1 < value > um 2 < value >, . . . ).
Appendix I (Updated: 5-10-2013) J.3 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
The same two approaches are available in WARP3D for processing of temperature eects. WARP3D
sets thermal expansion coecients initially to zero at the beginning of a material denition in an input
le to dene a model. If the user species non-zero values of the isotropic thermal expansion coecient
(alpha) or any of the anisotropic values (alphax, alphay, alphaz, alphaxy, alphaxz or alphayz ), WARP3D
removes thermal strain components from stran and dstran before calling the UMAT. Here is an example
input for a material denition in a model using this approach
.
material newium
properties umat alpha 1.1e-06 rho 2.3e-04 um_1 30000 um_2 0.3
.
In the second approach with all thermal expansion coecients left at the default zero value in the
input, WARP3D will also invoke the UMAT with kiter = 0 at the beginning of a load step. The
UMAT should remove the thermal strain contribution from dstran and immediately return: no other
computations should be performed by the UMAT when kiter = 0.
This example code at the very top of a UMAT extracts the expansion coecient from the 5th position
in the properties vector (i.e., the value set through um 5), updates dstran and returns for kiter = 0.
For kiter = 0, dstran has the thermal component removed and the code continues on to update stress,
ddsdde, . . . . Note that stran on entry in this approach to handling thermal strains contains only the
mechanical strains.
.
if( debug ) write(kout,9900) noel, npt, kthread, ....
cte = props(5)
dstran(1) = dstran(1) - cte * dtemp
dstran(2) = dstran(2) - cte * dtemp
dstran(3) = dstran(3) - cte * dtemp
if( kiter .eq. 0 ) return
c
c update stresses and Jacobian
c
.
.
I.4 Finite Strain Eects, NLGEOM
The UMAT may implement nonlinear constitutive responses based on hypoelasticty or hyperelasticity
(same as Abaqus).
WARP3D employs the same formulation for nite strain eects in hypoelasticty as used in Abaqus
Explicit. The processing of nite rotation eects in computing the solution from step n to n + 1 are
all handled by WARP3D using the notion of an unrotated coordinate system or equivalently a rotation
neutralized conguration (see Chapter 1 of this manual, Abaqus Explicit documentation and Chapter
8.3 of Computational Inelasticity by J.C. Simo and T.J.R Hughes, Springer, 1998). For hypoelastic
constitutive models, the UMAT updates stresses and the Jacobian based on the contents of stran,
dstran, and stress operationally using the conventional small-strain formulation and return. WARP3D
then transforms the updated (unrotated) Cauchy stresses to Cauchy stresses on the conguration at
n +1 to compute nodal forces using (symbolically)

B
T
dV and also transforms the Jacobian ddsdde
to n + 1 for element stiness updating.
For hyperelastic constitutive formulations, the UMAT employs the deformation gradients at n and
n + 1 to compute the new stresses at n + 1, stress. It is expected that the UMAT returns stress as
the Cauchy stresses at n + 1 and the Jacobian in the conguration at n + 1. WARP3D then omits
transformations executed for the hypoelastic formulation.
Appendix I (Updated: 5-10-2013) J.4 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
For WARP3D to understand which approach above the UMAT adopts, a ag is set in the routine
umat set features. See section below on this routine.
I.5 Routine umat set features
This routine is included at the top of the umats.f le in the src directory. WARP3D invokes this routine
during execution to obtain information about features of the UMAT. Developers must edit the values
in the info vector to dene appropriate information for their UMAT.
The code is shown here for reference.
subroutine umat_set_features( info_vector )
implicit none
integer info_vector(*)
c
c set info_data values for the umat
c
c 1 number of state variables per material point.
c
c 2 number of values in the symmetric part of the
c [ddsdde] for each integration point. for solid
c elements this is 21
c
c 3 = 0, the umat returns "unrotated"
c Cauchy stresses at n+1 (for hypoelasticty)
c = 1, the umat returns the standard
c Cauchy stresses at n+1 (for hyperelasticity)
c
info_vector(1) = 20
info_vector(2) = 21
info_vector(3) = 0
c
return
end
I.6 Optional Routine umat output
A default version of this routine is included in the umats.f le. It should be modied to match your
UMAT. Alternatively, statements to assign values of the additional output quantities may be deleted.
This routine runs serial in the current release.
WARP3D invokes this routine for a material point of an element associated with the UMAT just
prior to performing any user-requested stress output this includes printed output and the generation
of Patran compatible formatted or binary results les. The 6 stress values and state variables for the
material point are passed to umat output which has the opportunity to provide up to 3 additional values
in the output. For example, such values may be extracted from the current state variables at the point.
umat output inserts the values into the vector passed in by WARP3D, which then includes the values in
printed output (with labels c1, c2 and c3) or as columns in Patran compatible result les for stresses.
See Section 2.12 for discussions in printed output and Patran result les. Property values for the UMAT
and other possibly useful information are passed as well to umat output.
The supplied default version of umat output loads values into c1, c2 and c3 consistent with the
example UMAT.
The calling sequence and arguments for umat output are
subroutine umat_output( stress, mat_vals, statev, nstatv, time,
1 cmname, props, nprops, noel, npt, kinc, kout )
Appendix I (Updated: 5-10-2013) J.5 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
with descriptions
*stress. (6 1) vector of stresses. Same order as Abaqus (xx, yy, zz, xy, xz, yz). In nite-strain prob-
lems, these are the Cauchy stresses
*mat vals. (3 1) vector of additional output values. Put whatever is helpful to the UMAT user
here. These are referred to as c1, c2 and c3 above. WARP3D just prints these values on output and
includes them in Patran compatible result les
*statev. (nstatv 1) vector of state variables at the material point
nstatv. number of state (history) variables for a material point. Value must be hard-coded into the
routine umat set features included in the umats.f le. No specic limits are imposed on the number
of state values per material point
*time. (scalar) simulation time since start of analysis
cmname. character * 8 always has content UMAT-WRP
*props. (nprops1) values of user-specied properties for the UMAT. In the input for a model, users
declare values of props with um 1 < value > um 2 < value >. . .
nprops maximum number of user-specied properties for the UMAT. WARP3D limit is 50
noel. element number in the model
npt. material point number in element
kinc. WARP3D load step number for which the solution just completed
kout. Fortran device number for any output the UMAT wishes to produce, e.g., debugging information
All oating point values are double precision indicated by * above. Only the mat vals argument should
be modied.
I.7 Programming for Parallel Execution
WARP3D invokes the UMAT subroutine within a thread-parallel do loop over blocks of elements. Using
the OpenMP framework, WARP3D spawns threads to process blocks of elements with code having this
general form to assign a block for processing to a thread
c
c$OMP PARALLEL DO PRIVATE( blk, now_thread, ...)
c$OMP& SHARED( now_iter, now_step, ...)
do blk = 1, nelblk
now_thread = omp_get_thread_num() + 1
call do_block_of_elements( blk, now_thread, now_step, now_iter, ... )
end do
c$OMP END PARALLEL DO
Multiple threads likely will thus execute the UMAT routine concurrently. Whenever possible, UMAT
code should be written in thread safe form. A thread-safe UMAT routine must generally not:
use any common blocks
change the values of variables dened in data statements
use save variables
use equivalence
Common blocks, which are often used by a complex UMAT to communicate/share data with supporting
routines, represent the most easily recognizable construct that causes conict between threads. By
default, only one instance of the common block exists in memory and is visible by all instances of the
concurrently executing UMAT routines. One thread could be thus updating the value of a variable
concurrently with another thread expecting to access the value it set previously.
Appendix I (Updated: 5-10-2013) J.6 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
The threadprivate directive in OpenMP may be used to make common blocks private to each thread
but global within that thread. The runtime system creates and maintains a separate copy of the common
blocks for each thread. Data written to a threadprivate common block remains private to that thread
and is not visible to other threads. Example:
.
common /blk/ a(100)
!$omp threadprivate( /blk/ )
.
WARP3D still contains a number of common blocks for global sharing of readonly data during
element block processing [these are gradually being replaced by modules to limit exposure of all but a
few variables]. A number of modules are also dened. To prevent naming conicts, modules and common
blocks if necessary should always start with umat .
Modules are thread-safe provided each writeable variable is declared as threadprivate. A simple
example is:
module umat_data
parameter (nrow=20, ncol=40)
double precision matrix_a(nrow,ncol), matrix_b(ncol,nrow)
c$OMP threadprivate( matrix_a, matrix_b )
end module
allocatable vectors and arrays created by a UMAT are automatically thread safe. allocatable arrays
declared in a module are thread safe provided they have the threadprivate attribute.
The creation of multiple copies of common blocks and modules to support thread-safe execution
reduces program eciency and should be avoided if possible. It is preferable to use arrays with xed-
size dened locally in the UMAT these are always placed on the runtime stack unique to each thread,
are very ecient, and are always thread safe. allocatable arrays created, used and then de-allocated by
the UMAT are equally thread safe and also quite ecient.
Normal Fortran I/O is thread safe but very inecient with the additional runtime support necessary
to achieve thread-safe behavior.
When a UMAT Cannot Be Made Thread-Safe
Most older UMAT codes were written without consideration of thread-based, parallel execution. They
often made extensive use of COMMON blocks to reduce long argument lists to supporting routines, to
create/share eectively global variables invisible to Abaqus, etc.
Re-writing such older codes may not be practical. Element blocks using such UMATs must then
be processed using only 1 thread (serial) to prevent overwriting of COMMON variables. Processing of
such element blocks during stiness updates and internal force computation may proceed with threaded-
parallel execution since the UMAT code is not invoked.
The nonlinear analysis parameters command has an option to support serial execution during stress
updates for element blocks using UMAT codes that are not thread safe. An standard set of options
specied in the nonlinear analysis parameters might be
nonlinear analysis parameters
solution technique direct sparse
umat serial on $ <<<<< default is off
maximum iterations 6
minimum iterations 1
convergence test norm res tol 0.001
Appendix I (Updated: 5-10-2013) J.7 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
time step 1.0e10
trace solution on
extrapolate off
adaptive on
The number of threads for processing of element blocks in WARP3D is set by the environment variable
OMP_NUM_THREADS. Stress updating for blocks of elements using the umat will be executed in parallel as
well unless the command umat serial on is given as illustrated above.
I.8 User Dened Nodal Forces & Temperatures
The routine user nodal loads is available to dene nodal forces and temperatures for named loading
patterns (see Section 2.8 for discussion of loading patterns and their use to dene incremental loads
for analysis steps).
Use of the routine is indicated in the analysis input with a command sequence of the form
.
.
loading example_user
nodal loads
user_routine
c
loading internal
nodal loads
1-40 60-90 force_z -2.3 force_x 14 temperature -42.3
3240 3671 4510-5000 force_z -3.12
35 temperature 145.0 force_x 2
.
.
In the above sequence, loading internal employs the usual denition of nodal loads. The denition of
loading example user requests that the user nodal loads routine be called to obtain the values.
The WARP3D solution procedures invoke the user nodal loads routine at the begining of each new
load step to advance the solution from n n + 1. The values returned by user nodal loads are scaled
by the multiplier specied on the pattern in step denitions (see Section 2.8 for details). We expect that
most often the user will specify a multiplier of 1.0 for the pattern loading in the load step denition.
The values returned by the user nodal loads routine then dene the real increment of nodal forces-
temperatures contributed by the loading pattern. By calling the user nodal loads routine at each load
step, WARP3D allows the routine to change the pattern values based on the current status of the
solution, e.g., current time, load step number, values read from an external le by user nodal loads, ...
The calling sequence and arguments for user nodal loads are
subroutine user_nodal_loads(
& load_name, pattern_values, nnode,
& step_np1, time_n, dtime, node_coords, forces_set, temps_set, kout )
load name. (scalar, character8). Name of the loading pattern that requests the user-function. In the
example above, load name contains the character string example . With this information available,
dierent loading patterns may refer to the user routine with the user-routine code dierentiating
various cases by the content of load name.
*pattern values. (array, nnode 4). Put values of nodal forces (x, y, z) in columns 1-3 and tempera-
tures in column 4. Array is initialized to zero before call.
Appendix I (Updated: 5-10-2013) J.8 Abaqus Compatible UMAT
Users Guide - WARP3D UMAT
nnode. (scalar). Number of nodes in nite element model.
step np1. (scalar). Value of n + 1 where solution is being advanced from load step n n + 1.
step np1 = 1 for rst load step of analysis.
*time n. (scalar). Simulation time at start of step n. Value = 0 for step np1 = 1.
*dtime. (scalar). Increment of simulation time from n n + 1.
*node coords. (array, nnode 3). Coordinates of model nodes in undeformed conguration. (x, y, z)
in columns 1-3.
forces set. (scalar, logical). Initialized to .false. before call. Routine must set this = .true. if any
nodal forces are dened in pattern values.
temps set. (scalar, logical). Initialized to .false. before call. Routine must set this = .true. if any
nodal temperatures are dened in pattern values.
kout. (scalar). Fortran device number for any output the UMAT wishes to produce, e.g., debugging
informationelement number in the model
All oating point values are double precision indicated by * above.
The user nodal loads routine is invoked is a section of WARP3D that runs in serial mode.
I.9 Support Routines Callable by UMAT
Abaqus provides a number of supporting routines often used by UMAT developers. Call-compatible ?
source code for these routines is included in umats.f as part of the WARP3D distribution. The argument
lists for these routines are the same as those described in the Abaqus documention. The provided routines
are: xit, rotsig, sinv, sprinc, sprind, uhard, getnumcpus, getrank.
UMAT routines may wish to process external les. An unused and available Fortran device number
may be obtained by invoking the routine integer function warp3d get device number(). The source code
for integer function warp3d get device number() is included in umats.f.
I.10 Compiling-Binding UMAT Code into WARP3D
The UMAT subroutine and all subroutines/functions it calls are placed into the umats.f le in the src
directory of the WARP3D distribution.
WARP3D is compiled and a bound executable created using the script Makewarp.bash (Linux, OS X)
and Makewarp.bat (Windows). The scripts include the contents of umats.f in the WARP3D executable
which is placed in the run linux em64t, run mac os x, or run windows 64 directory. The scripts should
be re-run to create an updated executable each time the source code for the UMAT is modied.
The src directory in the WARP3D distribution contains a fully functioning example UMAT and can
provide a starting point for developing another UMAT.
Appendix I (Updated: 5-10-2013) J.9 Abaqus Compatible UMAT
Users Guide - WARP3D CP Formulation
Appendix J
Crystal Plasticity Model
Derivation and Formulation
The kinematic assumptions that form the basis of the crystal plasticity model are very dierent from
typical continuum plasticity models. The CP model does not have a conventional yield surface and
its ow rule bears little resemblance to the associative ow rules used in the continuum models. This
appendix derives the CP model starting from basic assumptions about dislocation motion and work
hardening behavior. The general formulation closely follows [1]. For a detailed derivation of the MTS
hardening from basic dislocation dynamics see [2]. For a similar derivation of the geometric hardening
model see [4].
J.1 Kinematic Assumptions
J.1.1 Coordinate Systems
Figure J.1 shows the coordinate systems used in the following derivation. Note that the material lat-
tice (EBSD) coordinate system transforms with the plastic deformation, so it attaches to the lattice
conguration, not the reference conguration.
The stress integration occurs in the current conguration, and is the time integration of a convected
derivative. The rotated lattice and current congurations are often used without transformation, as if
they are the in the same coordinates. This is because of the assumption of small stretch, where we
assume the elastic stretch deformation is very small. If a material of interest sustains large stretches this
formulation would need changes.
J.1.2 Kinematic Equations
Let:
F = F
e
F
p
which implies:

F =

F
e
F
p
+F
e

F
p
and:
F
1
= F
p1
F
e1
Then consider the spatial velocity gradient:
L =

FF
1
=
_

F
e
F
p
+F
e

F
p
_
F
p1
F
e1
L =

F
e
F
e1
+F
e

F
p
F
p1
F
e1
which we split into two parts:
L = L
e
+L
p
with:
L
p
= F
e

L
p
F
e1
Appendix J (Updated: 5-10-2013) J.1 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
Reference Lattice Rotated Lattice Current
Material

o
F
p
F
p1
g
T
g
R
e
R
eT
I +
I
n
o
b
o
n
D
p
L
D
W b

D
p

W
p
W
p
Figure J.1: Coordinate systems and congurations used in the derivation.
Appendix J (Updated: 5-10-2013) J.2 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
Consider now the elastic assumption:
F
e
= V
e
R
e
= (I + ) R
e
I
i.e., small elastic stretch with large elastic rotation. Note then that F
e1
= R
e1
(I + )
1
R
eT
(I )
and

F
e
= R
e
+ (I + )

R
e
. Then our formulas decompose to:
L =
_
R
e
+ (I + )

R
e
_
R
eT
(I ) + (I + ) R
e

L
p
R
eT
(I )
= +

R
e
R
eT


R
e
R
eT
+

R
e
R
eT


R
e
R
eT
+R
e

L
p
R
eT
+R
e

L
p
R
eT
R
e

L
p
R
eT
R
e

L
p
R
eT

and now neglect terms which are second-order in . This leads to:
L = +

R
e
R
eT


R
e
R
eT
+

R
e
R
eT
+R
e

L
p
R
eT
+ R
e

L
p
R
eT
R
e

L
p
R
eT

Now split this into symmetric and skew parts:


D =
1
2
_
L +L
T
_
=
1
2
( + )

R
e
R
eT
+

R
e
R
eT
+R
e

D
p
R
eT
+ R
e

W
p
R
eT
R
e

W
p
R
eT

W =
1
2
_
L L
T
_
=
1
2
( ) +

R
e
R
eT
+R
e

W
p
R
eT
+ R
e

D
p
R
eT
R
e

D
p
R
eT

Let
1
2
( + ) 0 in D and let

D
p
= R
e

D
p
R
eT
and

W
p
=

R
e
R
eT
+R
e

W
p
R
eT
. Then we have:
D = +

D
p
+

W
p


W
p
(J.1.1)
W =

W
p
+

D
p


D
p
+
1
2
( ) (J.1.2)
The only remaining unknown kinematic quantities are

D
p
and

W
p
(with

L
p
=

F
p
F
p1
). We need a
kinematic assumption to determine these tensors.
J.1.3 The Crystal Plasticity Kinematic Hypothesis
Consider the deformation gradient under polyslip to be the cumulative eect of each slip system de-
forming in simple shear:
F
p
=
n
slip

i=1
_
I +
(s)
_

b
(s)
n
(s)
__
and make the rst order approximation:
F
p
= I +
n
slip

i=1

(s)
_

b
(s)
n
(s)
_
Find the corresponding velocity gradient:

L
p
=

F
p
F
p1
=
n
slip

i=1

(s)
_

b
(s)
n
(s)
_
F
p1
=
n
slip

i=1

(s)
_

b
(s)
F
pT
n
(s)
_
Recall the Piola rule for transforming normal vectors:

L
p
=
n
slip

i=1

(s)
_

b
(s)
n
(s)
_
Appendix J (Updated: 5-10-2013) J.3 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
With this key assumption we have:

D
p
=
n
slip

i=1

(s)
_

b
(s)
n
(s)
_
sym

W
p
=
n
slip

i=1

(s)
_

b
(s)
n
(s)
_
anti
where in general:
A
sym
=
1
2
_
A+A
T
_
A
anti
=
1
2
_
AA
T
_
J.2 MTS Hardening
Consider the ow resolved shear stress on a single slip system the force required to move a glissile
dislocation on that slip system. Viewed another way, the work of the resolved shear over some increment
of slip is the energy required for a dislocation to overcome the energy barrier presented by obstacles to
dislocation motion. These obstacles can be grain boundaries, solute atoms, interphase boundaries, or
other (sessile) dislocations.
Complicating this description is that the work of an applied stress is not the only source of energy
helping dislocations overcome obstacles. Moving dislocations also have kinetic energy associated with
their rate of deformation (the strain rate) and, equivalently as we will see, thermal energy associated
with the temperature of the material. Both of these energy sources can help a dislocation spontaneously
overcome an obstacle and continue moving.
A single dislocation cannot be considered in isolation of others in the material. As dislocations move
along a slip system, the density of sessile forest dislocation opposing slip will initially increase as glissile
dislocations bow around forest dislocations, leaving behind larger dislocation loops. At the same time,
we expect the process of recovery to decrease the dislocation density via climb. Furthermore, dynamic
recovery is itself a rate/temperature activated process. Finally, these sessile forest dislocations are not
the only dislocation present in the material there are also dislocations necessary to accommodate
non-uniform plastic deformation. We will consider these dislocations separately in the next section.
Combining all these contributions to the ow stress is a daunting task. We follow the example of
Kocks, Argon, and Ashby [2] who systematically developed a model for the ow stress of the material
using the concept of the Mechanical Threshold Stress (as we consider a single slip system, we might refer
to it as the Mechanical Threshold Strength or Mechanical Threshold resolved Shear, all of which can be
abbreviated MTS). The MTS starts from a thermodynamic consideration of the factors mentioned above
and ends with an expression for the ow shear along a slip system, given an instantaneous combination of
temperature and rate, and a deformation (slip) history used to calculate an eective dislocation density.
J.2.1 The Mechanical Threshold Strength
Consider rst the ow shear along a quasi-statically loaded a slip system in a material at 0K. Under these
conditions, a dislocation would not have any help from thermal/rate activation in overcoming obstacles
to slip. The only energy source available to drive dislocation movement is the work of an applied stress
(resolved onto the slip system). We could express the ow shear of the slip system as:
(0 K, 0
1
/s) =
MTS
Appendix J (Updated: 5-10-2013) J.4 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
where (T, e) is the ow shear and
MTS
is the Mechanical Threshold Strength (MTS) the ow shear
at 0K in quasi-static deformation. Looking ahead, we know that many mechanisms oppose dislocation
motion. Some of these mechanisms may be athermal and some will depend on temperature and rate.
Splitting o dierent mechanisms and thermal/athermal contributions, we have:
(0 K, 0
1
/s) =
MTS
=
a
+
m

i=1

i
where
a
represents the contribution of the athermal obstacles (obstacles that thermal activation cannot
help to overcome) and each
i
is a dierent mechanism aected by temperature and strain rate. The
idea of the MTS model is that we can scale these zero-temperature, zero-rate components of the ow
shear up to a combination of rate and temperature. Expressing this idea as an equation:
(T, e) =
a
+
(T)

0
m

i=1
S
i
(T, e)
i
(J.2.1)
where the S
i
(T, e) are scale factors and /
0
accounts for temperature-dependent elastic properties of
the material. Here we adopt an empirical relation for the temperature-dependent shear modulus:
(T) =
0

D
0
exp (T
0
/T) 1
Kocks, Argon, and Ashby express the scale factors in terms of an energy barrier to be overcome by a
combination of the energy associated with the applied stress and the (free) activation energy associated
with thermal/rate kinetics. First we normalize the (Gibbs) free energy:
G = gb
3
(J.2.2)
Kocks et al. choose an Arrhenius form to combine strain rate and temperature into a single energy term:
g =
kT
(T) b
3
ln
_

0,i
e
_
(J.2.3)
where g is the (normalized) energy, k the Boltzmann constant, b the magnitude of the Burgers vector, e
the equivalent strain rate, and
0
a parameter. Now we must make some assumption about the shape of
the energy barrier opposing dislocation motion (see Fig. J.2). In Fig. J.2 we know the total work (area)
provided by the applied stress (W = b a for ow shear and some small displacement a) and we
know the total free energy (area) provided by thermal activation (Eq. J.2.2). We can then reduce the
description of the shape of the energy prole to an equation relating the free energy to
i
(
i
= S
i
(T, e)
i
,
the contribution to the ow shear of mechanism i) and
i
. Kocks et al. picked an empirical relation:
G = g
0,i
b
3
_
1
_

i

i
_
pi
_
qi
(J.2.4)
where g
0
, p, and q are parameters. This yields families of energy proles like those shown in Fig. J.3.
If we combine Eqs. J.2.2, J.2.3, and J.2.4 and solve for the ow stress contribution, we nd:

i
=
i
_

_
1
_
kT
(T) b
3
g
0,i
ln
_

0,i
e
__
1
q
i
_

_
1
p
i
(J.2.5)
From this Eq. J.2.5 and Eq. J.2.1 above, we can deduce that the form of the scale factors is:
Appendix J (Updated: 5-10-2013) J.5 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
W
G
ba

Figure J.2: Generic energy prole showing contributions of work and free (thermal activation) energy.

ba

ba

ba

ba

ba

ba

ba

ba
p = 1 p =
1
2
q = 1
q =
1
2
q = 2
q > 2
Figure J.3: Energy proles produced by Eq. J.2.4.
Appendix J (Updated: 5-10-2013) J.6 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
S
t
a
g
e
I
S
t
a
g
e
I
I
S
t
a
g
e
I
I
I
S
t
a
g
e
I
V

p
Figure J.4: The stages of work hardening.
S
i
(T, e) =
_

_
1
_
kT
(T) b
3
g
0,i
ln
_

0,i
e
__
1
q
i
_

_
1
p
i
These equations give a model of hardening at constant dislocation density. Now we consider an evolving
density of dislocations.
J.2.2 Work Hardening
Based on experimental results, work hardening is divided into a series of stages (see Fig. J.4). Stage
I does not occur in most metal alloys, so a basic theory of work hardening should describe Stages II,
III, and IV. Based on [4], we describe a theory of Stage IV hardening based on geometrically necessary
dislocations in the next section, leaving Stages II and III. Empirically then, we need a theory which
starts hardening at a constant rate, but which gradually decreases the rate of hardening to some small,
terminal, constant Stage IV value. For now we let this terminal slope be zero, in the next section we
dene it in terms of the density of necessary dislocations.
Physically, two mechanisms are competing during Stage III hardening. As dislocations move along slip
systems they contribute additional forest dislocation density, for example through dislocation bowing.
This decreases the distance between obstacles to dislocation motion and increases the required ow
stress. At the same time dynamic relaxation through cross-slip and dislocation climb is occurring
dislocations are moving from one slip system to a less populated one through a thermally activated
process. This serves to decrease the dislocation density on activated slip systems. If we ignore Stage
IV hardening, the combination of these two mechanisms leads to a work-hardening saturation stress
when the ow stress reaches this value it remains constant. Assume that dislocation bowing and related
mechanisms increase the dislocation density in proportion to its square root, whereas recovery is a linear
process:

= k
1

f
k
2
(T, e)
f
(J.2.6)
where we explicitly note that dislocation climb is a thermally activated process.
Take the Bailey-Hirsch relation to govern the ow stress in the material:
= b

f
Appendix J (Updated: 5-10-2013) J.7 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation

y
Figure J.5: Hardening model behavior.
where 1/3 and is the work-hardening contribution to ow stress. Now consider evolution with
slip:

= b

f
=
b
2

combine with Eq. J.2.6:


=
b
2

f
_
k
1

f
k
2

f
_
= k
1
b
2
k
2
1
2
b

f
= k
1
b
2
k
2
1
2

let k
1
= (2
0
) / (b) and k
2
= (2
0
) /
v
(T, e). Here
0
is the initial, Stage II rate of work hardening
and
v
is the rate and temperature dependent work hardening saturation strength. Then we have:

=
0
_
1

v
_
(J.2.7)
This is a linear Voce law the rate of work hardening decreases linearly to zero. For
v
we adopt the
same Ahrenius scaling as we used for the total rate/temperature dependence in the previous section:

v
(T, e) =
v
_

_
1
_
kT
(T) b
3
g
0,v
ln
_

0
e
__
1
q
v
_

_
1
p
v
and we expand Eq. J.2.7 to a dierential equation in terms of time (not slip):

t
=
0
_
1

v
_ n
slip

s=1


(s)

(J.2.8)
Fig. J.5 shows the ow stress/slip relation implied by Eq. J.2.8.
J.2.3 Final Stage II and III Model
We make a few additional assumptions in the implemented hardening model.
1. We take the sum in Eq. J.2.1 to have two terms one representing all intrinsic barriers to dislo-
cation motion and one representing all work hardening.
Appendix J (Updated: 5-10-2013) J.8 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
2. The rate/temperature sensitivity of
v
in Eq. J.2.8 is much greater than the rate sensitivity of the
scaling factor S in Eq. J.2.1, so for the working hardening component of Eq. J.2.1 we neglect the
scaling factor.
3. Typically, in FCC metals,
a
in Eq. J.2.1 is zero. However, a non-zero
a
is an option in WARP3D.
These assumptions bring us to our nal Stage II and III hardening model:
(t, T, ) =
a
+
y
(T, )

0
+ (t,
v
(T, ))

0
(J.2.9)

0
_
1

v
_ n
slip

s=1


(s)

(J.2.10)

y
(T, ) =
y
_

_
1
_
kT
(T) b
3
g
0,y
ln
_

0
e
__
1
q
y
_

_
1
p
y
(J.2.11)

v
(T, ) =
v
_

_
1
_
kT
(T) b
3
g
0,v
ln
_

0
e
__
1
q
v
_

_
1
p
v
(J.2.12)
with
(T) =
0

D
0
exp (T
0
/T) 1
(J.2.13)
and
e =
_
2
3
D : D. (J.2.14)
J.3 Geometric Hardening
In the previous section we discussed the contribution of forest dislocations to work hardening. Forest
dislocations are treated in a statistical sense we assume a uniform distribution described by a single
density value
f
. Tacitly then we assume these dislocations do not contribute to the net dislocation state
of the material, that there are approximately equal numbers of positive- and negative-signed dislocations,
that when viewed in terms of a suciently-large Burgers circuit their net Burgers vector is zero, and
that therefore, on the continuum-scale, these statistical dislocations do not contribute to the continuous
dislocation density, measured by the Nye tensor .
There must be another source of dislocations those necessary to accommodate non-uniform plastic
deformation. These geometrically necessary dislocations contribute the excess sign of dislocations that
develop the Nye tensor. For additional detail about necessary dislocations see [3]. For details of the
following derivation see [4].
The Nye tensor of necessary dislocations develops through incompatibility in the deformation mea-
sure F
e1
(or equivalently F
p
). Specically,
= F
e1
where the curl is taken with the denition curl A
ij
= C
km
=
ijk
A
mj,i
where
ijk
is the Levi-Civita
permutation symbol. The appropriate measure of linear dislocation density along a slip plane is given
by:

(s)
=
_
_
n
(s)
_
:
_
n
(s)
_
Appendix J (Updated: 5-10-2013) J.9 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
where n
(s)
is a slip plane normal and : represents tensor contraction on both indices. We add this into
our hardening model of Eq. J.2.10 as follows: Dene a stress for each slip system:

(s)

=
k
0
k
1

(s)
with k
1
= (2
0
) / (b) as above and k
0
a parameter characterizing geometric hardening. We add the
sum of these stresses, normalized by the current ow stress, into Eq. J.2.10:

t
=
n
slip

s=1

0
_
1

v
+

(s)


(s)

(J.3.1)
This equation, together with Eqs. J.2.9, J.2.11, and J.2.12 above, make up the hardening model imple-
mented in WARP3D. Notice the term
(s)

/ eects the hardening evolution throughout the entirety of


the plastic deformation. However, in practice, because
(s)
is typically very small at small plastic de-
formation and remains relatively small even at large strains, the
(s)

/ term simply changes Eq. J.2.10


to have some small, nearly constant terminal hardening slope. That is, we argue that the geometrically
necessary dislocations are the physical cause of Stage IV hardening.
J.4 Time-continuous Formulation
J.4.1 Lattice Parameters
Assume a crystal with slip systems dened by the constant vectors b
(s)
0
and n
(s)
0
in the material (EBSD)
frame of reference. The rotation between the material reference system and the (current) lattice co-
ordinates is g
T
where g is a constant rotation tensor determined by the Euler angles of the crystal.
Assuming negligible elastic stretch, the transformation between the unloaded lattice conguration and
the current coordinates is the elastic rotation R
e
.
Based on these rotations, dene the constant vectors

b
(s)
s = g
T
b
(s)
0
and n
(s)
s = g
T
n
(s)
0
and tensors
a
(s)
s =

b
(s)
s n
(s)
s

, m
(s)
s =

a
(s)
s

sym
, and q
(s)
s =

a
(s)
s

anti
.
J.4.2 Slip Kinetics
Assume a rate-dependent resolved-shear/slip relation:

(s)
=

0

(s)

n1

(s)
(J.4.1)
with

(s)
= :
_
R
e
a
(s)
s
(R
e
)
T
_
= :
_
R
e
m
(s)
s
(R
e
)
T
_
by symmetry, and

0
= e =
_
2
3
D : D
J.4.3 Elasticity
Relate elastic strain to stress via:
= S

where S

is the anisotropic elastic compliance tensor rotated to the current conguration.


Appendix J (Updated: 5-10-2013) J.10 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
J.4.4 Final Formulation
Recall Eq. J.1.1 above:
D = +

D
p
+

W
p


W
p

substitute in the elastic strain/stress relation:


D = S

+

D
p
+S


W
p


W
p
S

Rearrange:
= C

_
D

D
p
+S


W
p


W
p
S

_
(J.4.2)
where C

is the elastic stiness tensor, rotated from the crystal to the current conguration.
We found the decomposed parts of the plastic spatial velocity gradient to be (refer to section J.1
above):

D
p
=
n
slip

s=1

(s)
_
R
e
m
(s)
s
(R
e
)
T
_

W
p
=

R
e
(R
e
)
T
+
n
slip

s=1

(s)
_
R
e
q
(s)
s
(R
e
)
T
_
Furthermore, recall Eq. J.1.2:
W =

R
e
(R
e
)
T
+
n
slip

s=1

(s)
_
R
e
q
(s)
s
(R
e
)
T
_
+
_

D
p


D
p

_
+
1
2
( )
so a rate form for the elastic rotation is given by:

R
e
=
_
W
n
slip

s=1

(s)
_
R
e
q
(s)
s
(R
e
)
T
_

D
p


D
p

1
2
( )
_
R
e
(J.4.3)
Finally, recall the work hardening evolution Eq. J.3.1:

=
n
slip

s=1

0
_
1

v
+

(s)


(s)

(J.4.4)
and the associated ow shear equations. Equations J.4.2, J.4.3, and J.4.4 are what we must integrate
over a time interval t to get from state n to n + 1.
J.5 Numerical Implementation
The key assumptions for deriving a tractable numerical implementation of the CP model are that the
elastic rotation tensor R
e
and the Nye tensor of necessary dislocation density both evolve slowly
relative to the stress and working hardening state of the material. With this assumption, we integrate
the stress rate Eq. J.4.2 and the working hardening rate Eq. J.4.4 implicitly, integrate the elastic rotation
rate Eq. J.4.3 explicitly, and update the Nye tensor using = F
e1
only at the end of a step. By
the displacement-driven nature of nite element models, we have the new deformation gradient F, the
new temperature T, and the time increment t available at the start of each step.
Appendix J (Updated: 5-10-2013) J.11 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
J.5.1 Kirchho Stress Update
Nonlinear Equations
Under these assumptions, an implicit Euler integration of Eq. J.4.2 yields:

n+1
=
n
+ tC

n
_
D
n+1


D
p
n+1
+S

n+1

W
p
n+1


W
p
n+1
S

n+1
_
(J.5.1)
Similarly, an implicit Euler integration of Eq. J.4.4 yields:

n+1
=
n
+ t
0
n
slip

s=1
_
1

n+1

v,n+1
+

(s)
,n

n+1
_


(s)
n+1

(J.5.2)
These two equations form a system of 7 (6 stresses and one hardening term) nonlinear equations to
solve for the updated stress and work hardening state. Obviously we must put the equations solely in
terms of our known quantities F
n+1
and T
n+1
and the unknowns
n+1
and
n+1
. To do this we use the
discrete versions of many of the equations above:
L
n+1
=
F
n+1
F
n
t
F
1
n+1
D
n+1
=
1
2
_
L
n+1
+L
T
n+1
_
e
n+1
=
o,n+1
=
_
2
3
D
n+1
: D
n+1

D
p
n+1
=
n
slip

s=1

(s)
n+1
_
R
e
n
m
(s)
s
(R
e
n
)
T
_

W
p
n+1
=

R
e
n
(R
e
n
)
T
+
n
slip

s=1

(s)
n+1
_
R
e
n
q
(s)
s
(R
e
n
)
T
_

(s)
n+1
=

0,n+1

n+1

(s)
n+1

n+1

n1

(s)
n+1

(s)
n+1
=
n+1
:
_
R
e
n
m
(s)
s
(R
e
n
)
T
_

n+1
=
a
+
y,n+1
+
n+1

y,n+1
=
y
_

_
1
_
kT
n+1

n+1
b
3
g
0,y
ln
_

0
e
n+1
__
1
q
y
_

_
1
p
y

v,n+1
=
v
_

_
1
_
kT
n+1

n+1
b
3
g
0,v
ln
_

0
e
n+1
__
1
q
v
_

_
1
p
v
Appendix J (Updated: 5-10-2013) J.12 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation

n+1
=
0

D
0
exp (T
0
/T
n+1
) 1
We solve this system of equations with a local (material) Newton iteration scheme.
Local Newton Iteration
We pose the residual for Newtons method (from Eqs. J.5.1 and J.5.2):
R
1
=
n+1

n
tC

n
_
D
n+1


D
p
n+1
+S

n+1

W
p
n+1


W
p
n+1
S

n+1
_
(J.5.3)
R
2
=
n+1

n
t

0
_
1

n+1

v
+

(s)


n+1
_


(s)
n+1

(J.5.4)
This gives the system of equations at each step of Newtons method:
_
_
R
(i)
1
n+1
R
(i)
1
n+1
R
(i)
2
n+1
R
(i)
2
n+1
_
_
_

(i+1)
n+1

(i+1)
n+1
_
=
_
R
(i)
1
R
(i)
2
_
_

(i+1)
n+1

(i+1)
n+1
_
=
_

(i)
n+1

(i)
n+1
_
+
_

(i+1)
n+1

(i+1)
n+1
_
We then must derive the four derivatives which appear in the Jacobian of the system. These deriva-
tives are:
R
1

= 1
sym
tC

ijmn
_
S

mnkp

W
p
lp


W
p
mp
S
pnkl
_
+ t

0
n
( )
n
n
slip

s=1

(s)

n1
__
C

R
e
m
(s)
(R
e
)
T
_

_
R
e
m
(s)
(R
e
)
T
_

_
R
e
q
(s)
(R
e
)
T
_

_
R
e
m
(s)
(R
e
)
T
_
+
_
C

_
R
e
q
(s)
(R
e
)
T
_
S
_

_
R
e
m
(s)
(R
e
)
T
__
(J.5.5)
R
1

= t

0
n
( )
n+1
C

n
slip

s=1

(s)

n1

(s)
_
R
e
m
(s)
(R
e
)
T
+
_
SR
e
q
(s)
(R
e
)
T
R
e
q
(s)
(R
e
)
T
S
__
(J.5.6)
R
2

= t

0
n

n

0
n
slip

s=1
_
1

v
+

(s)

(s)

n2

(s)
R
e
m
(s)
(R
e
)
T
(J.5.7)
R
2

= 1 + t
0
n
slip

s=1
__
1

v
+

(s)


2
_
+
n

_
1

n+1

v
+

(s)


__


(s)

(J.5.8)
where the subscripts indicating step and iteration number are clear by context. This Jacobian is exact;
consequently, local Newton iterations converge quickly typically in less than 4 iterations. However,
the underlying dierential equations are very sti, in large part because of Eq. J.4.1, the empirical
rate-dependent, slip-rate rule. Thus under certain conditions, in particular the transition from elastic
Appendix J (Updated: 5-10-2013) J.13 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
to plastic deformation, the nonlinear solution procedure fails to converge. To solve this problem we
implement an adaptive Newtons method. If the method fails to converge over the full step from n to
n+1 the method subdivides the process into four (quarter) steps and attempts to solve each quarter step
successively. If one of the quarter steps fails to converge, the method subdivides that substep again, and
so on up to a maximum number of subdivisions (hard coded as a parameter into the solution routine).
Cauchy Stress and Other n+1 State Variables
After a successful stress update, a few quantities must be updated. First, most nite element formulations
work with the Cauchy stress, not the Kirchho stress:

n+1
=
1
det (F
n+1
)

n+1
We also need both the elastic stretch and the stretch rate for the next stress-update:

n+1
= S

n+1

n+1
=

n+1

n
t
J.5.2 Elastic Rotation and Dislocation Density Update
Finally, we integrate the elastic rotation R
e
n+1
explicitly and update some quantities associated with it
(including the Nye tensor and our measures of linear necessary dislocation density
(s)
). Any rotation
matrix must be orthogonal. R
e
is initialized to the identity tensor I, which is orthogonal. Any correct
integration taking it from state n to n + 1 must then retain the orthogonality property. One such
integration scheme is called exponential Euler, which integrates dierential equations of the form:

X = A(t) X
using the formula:
X
n+1
= exp (A
n
) X
n
Applying this to Eq. J.4.3 we have:
R
e
n+1
= exp
__
W
n+1

n
slip

s=1

(s)
n+1
_
R
e
n
q
(s)
s
(R
e
n
)
T
_


A

B
_
t
_
R
e
n
where

A =
_

n+1

D
p
n+1


D
p
n+1

n+1
_

B =
1
2
(
n+1

n+1

n+1

n+1
)
After nding the new rotation we can update the rate of rotation:

R
e
n+1
=
_
R
e
n+1
R
e
n
_
/t
We both the elastic rotation and stretch we can re-create the elastic deformation tensor:
F
e
n+1
= (I +
n+1
) R
e
n+1
from this we can nd the Nye tensor of geometrically necessary dislocation density:

n+1
= F
e1
n+1
(J.5.9)
Appendix J (Updated: 5-10-2013) J.14 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
Finally, from the Nye tensor we can calculate all the
(s)
:

(s)
n+1
=
_
_

n+1
n
(s)
_
:
_

n+1
n
(s)
_
and the
(s)

(s)
,n+1
=
k
0
k
1

n+1

(s)
n+1
For conventional hexagonal nite elements with tri-linear shape functions, there exists insucient
continuity to calculate the curl in Eq. J.5.9. However, within each element we can use least squares
tting to a tri-linear function to calculate an estimate of the curl in an element using the Gauss-point
calculations of F
e
n+1
.
In addition we must rotate forward the elasticity tensors C

and S

to the new rotated lattice


conguration. The formula for conducting these rotations is not simple (as the tensors are fourth-order),
but are commonly available in most elasticity textbooks.
J.6 Algorithmic Tangent
In addition to the updated Cauchy stress, a material model in WARP3D must also return the consistent
or algorithmic tangent for the next iteration of the global Newton loop. In particular, WARP3D expects
an approximation to the algorithmic tangent of the form:
A
n+1
=

n+1
D
n+1
where D
n+1
= D
n+1
t
n+1
.
Calculating this derivative explicitly is very dicult for the CP model. However, using the inverse
function theorem, we can nd the tangent with a minimum of additional computation, using the local
Newtons method Jacobian we found in Section J.5.1. Consider the stress residual (Eq. J.5.3) at the end
of a successful stress update:
R
(1)
n+1
= 0
Then we can dierentiate using the chain rule:
0
D
kl
= 0 =
R
(1)
ij
D
kl
+
R
(1)
ij

mn

mn
D
kl
+
R
(1)
ij


D
kl
R
(1)
ij

mn
=
R
(1)
ij

ab

ab

mn
=
R
(1)
ij

ab

am

bn
=
R
(1)
ij

mn
R
(1)
ij

mn

mn
D
kl
+
R
(1)
ij


D
kl
=
R
(1)
ij
D
kl
(J.6.1)
Notice that we already determined
R
(1)
ij
mn
and
R
(1)
ij

above they are Eqs. J.5.5 and J.5.6, the top
components of the local material Jacobean matrix. Call these J
11
and J
12
.
mn
D
kl
is the consistent
tangent, what we are trying to nd.
R
1
ij
D
kl
we can calculate explicitly. Unfortunately we dont know

D
kl
, and if we try to solve the system of equations implicit in Eq. J.6.1 we would nd it to be
under-determined. However, we can get the extra equation we need to solve the system by repeating
this process with the work hardening part of the residual (Eq. J.5.4):
R
(2)
D
kl
=
0
D
kl
= 0 =
R
(2)
D
kl
+
R
(2)

mn

mn
D
kl
+
R
(2)


D
kl
Appendix J (Updated: 5-10-2013) J.15 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
R
(2)

mn

mn
D
kl
+
R
(2)


D
kl
=
R
(2)
D
kl
(J.6.2)
Exactly as before, we already calculated
R
(2)
mn
= J
21
(Eq. J.5.7) and
R
(2)

= J
22
(Eq. J.5.8) above,
mn
D
kl
and

D
kl
are unknowns, and we can explicitly calculate
R
(2)
D
kl
. Now if we combine Eqs. J.6.1
and J.6.2 we can solve for
mn
D
kl
(and the useless

D
kl
).
To do this we need the derivatives
R
(1)
ij
D
kl
and
R
(2)
D
kl
. These are:
R
(1)
D
= C

n
_
_
1 +
_
_
_
2
3
2
0
n
slip

s=1
_
_
1
n

n+1

y
pq ln
_
0
0
_
_
_

(s)
_
(S

n+1
)
_
R
e
n
q
(s)
s
(R
e
n
)
T
_

_
R
e
n
q
(s)
s
(R
e
n
)
T
_
(S

n+1
)
_
R
e
n
m
(s)
s
(R
e
n
)
T
___
D
n+1
)
R
(2)
D
=
2
0
3
2
0
D
kl
n
slip

s=1
_
_
_
_
_
1
n

n+1

y
p
y
q
y
ln
_
0
0
_
_
_
_
1

n+1

v
+

(s)


n+1
_
+
1
p
v
q
v
ln
_
0
0
_

n+1

v
_
_
_


(s)

So to nd the algorithmic tangent, at the end of a successful stress update we solve the system of
equations:
J
(7x7)
n+1
A
(7x6)
n+1
= B
(7x6)
n+1
where J
n+1
is the local, material Jacobian matrix, computed with the nal, converged stress values, the
top six rows of A
n+1
is the algorithmic tangent matrix, and
B
n+1
=
_
R
(1)
D
R
(2)
D
_
This is a matrix equation. To solve it, we unroll the matrix by traversing it row-wise, creating a system
of 42 equations and 42 unknowns.
J.7 Strain Rates and Temperature Eects
J.7.1 Thermal strains
Now we introduce thermal strains in the formulation. Assuming isotropic thermal expansion with coef-
cient and, in this section, let temperature be :
F = F
e
F

F
p
= (I + ) R
e
e
(0)
IF
p
= e
(0)
(I + ) R
e
F
p

F = e
(0)

(I + ) R
e
F
p
+ e
(0)
R
e
F
p
+ e
(0)
(I + )

R
e
F
p
+ e
(0)
(I + ) R
e

F
p
F
1
= e
(0)
F
p1
R
e1
(I )
Most of the terms in the expansion of the spatial velocity gradient remain the same:
L =
1
2
( + )
1
2
( ) +

R
e
R
eT
+

R
e
R
eT


R
e
R
eT
+R


D
p
R
T
+R
e

D
p
R
eT
R
e

D
p
R
eT
+R
e

W
p
R
eT
+ R
e

W
p
R
eT
R
e

W
p
R
eT
+

I
Appendix J (Updated: 5-10-2013) J.16 Crystal Plasticity Formulation
Users Guide - WARP3D CP Formulation
This means the only kinematic change is:
D = +

D
p
+

W
p


W
p
+

I
D = S

+

D
p
+S


W
p


W
p
S

I
S

= D

I

D
p
+S


W
p


W
p
S

= C

__
D

I
_


D
p
+S


W
p


W
p
S

_
the temperatures at n and n + 1 are known, so we can approximate:

=

t
So the modication to the algorithm is to substitute D

for D in the algorithm, with:


D

= D

t
I
J.7.2 Work density rates
The total power developed by the stress is:
W = : L = : D
The plastic work rate is:
W
p
= : D
p
Note that D
p
=

D
p
=

D
p
. Instead nd D
p
by nding the symmetric part of L
p
:
L
p
= F
e

L
p
F
e1
= (I + ) R
e
_

D
p
+

W
p
_
R
eT
(I )
= R
e

D
p
R
eT
+ R
e

D
p
R
eT
R
e

D
p
R
eT
+R
e

W
p
R
eT
+ R
e

W
p
R
eT
R
e

W
p
R
eT

The symmetric part is:


D
p
=
1
2
_
L
p
+ (L
p
)
T
_
= R
e

D
p
R
eT
+ R
e

W
p
R
eT
R
e

W
p
R
eT

D
p
=

D
p
+
n
slip

s=1

(s)
_
R
e
q
(s)
s
(R
e
)
T
_

n
slip

s=1

(s)
_
R
e
q
(s)
s
(R
e
)
T
_

J.8 References
[1] S. Kok, A. J. Beaudoin, and D. A. Tortorelli. A polycrystal plasticity model based on the mechanical threshold.
International Journal of Plasticity, 18:715-741, 2002.
[2] U. F. Kocks, A. S. Argon, and M. F. Ashby. Thermodyanmics and kinetics of slip. In B. Chalmers, J. W.
Christian, and T. B. Massalki, editors, Progress in Materials Science, vol. 19. Pergamon Press, 1975.
[3] M. F. Ashby. The deformation of plastically non-homogeneous materials. Philosophical Magazine, 21:399-424,
1970.
[4] A. Acharya, J. L. Bassani, and A. Beaudoin. Geometrically necessary dislocations, hardening, and a simple
gradient theory of crystal plasticity. Scipta Materialia, 48:167-172, 2003.
Appendix J (Updated: 5-10-2013) J.17 Crystal Plasticity Formulation

You might also like