WARP3D 17.4.0 Manual Updated June 5 2013

484
WARP3D-Release 17.4 3-D Dynamic Nonlinear Fracture Analyses of Solids Using Parallel Computers CIVIL ENGINEERING STUDIES STRUCTURAL RESEARCH SERIES NO. 607 By Brian Healy, Arne Gullerud, Kyle Koppenhoefer, Arun Roy, Sushovan RoyChowdhury, Ma< Walters, Barron Bichon, Kris@ne Cochran, Adam Carlyle, James Sobotka, Mark Messner and Robert Dodds University of Illinois at UrbanaChampaign A Report on Research Projects Sponsored by the U.S. NUCLEAR REGULATORY COMMISSION OFFICE OF NUCLEAR REGULATORY RESEARCH DIVISION OF ENGINEERING WASHINGTON, D.C. NASAAMES RESEARCH CENTER MOFFETT FIELD, CALIFORNIA NASAMARSHALL SPACEFLIGHT CENTER HUNTSVILLE, ALABAMA OAK RIDGE NATIONAL LABORATORY OAK RIDGE, TENNESSEE DEPARTMENT OF CIVIL & ENVIRONMENTAL ENGINEERING UNIVERSITY OF ILLINOIS AT URBANACHAMPAIGN June 2013 UILUENG952012 ISSN: 00694274 h<p://code.google.com/p/warp3d/

description

Manual

Transcript of WARP3D 17.4.0 Manual Updated June 5 2013

Page 1: WARP3D 17.4.0 Manual Updated June 5 2013

WARP3D-Release 17.4 3-D Dynamic Nonlinear Fracture Analyses of Solids

Using Parallel Computers

CIVIL ENGINEERING STUDIES STRUCTURAL RESEARCH SERIES NO. 607

By Brian Healy, Arne Gullerud, Kyle Koppenhoefer, Arun Roy, Sushovan RoyChowdhury, Ma< Walters, Barron Bichon, Kris@ne Cochran, Adam Carlyle, James Sobotka, Mark Messner and Robert Dodds University of Illinois at Urbana-­‐Champaign

A Report on Research Projects Sponsored by the

U.S. NUCLEAR REGULATORY COMMISSION OFFICE OF NUCLEAR REGULATORY RESEARCH DIVISION OF ENGINEERING WASHINGTON, D.C. NASA-­‐AMES RESEARCH CENTER MOFFETT FIELD, CALIFORNIA NASA-­‐MARSHALL SPACEFLIGHT CENTER HUNTSVILLE, ALABAMA OAK RIDGE NATIONAL LABORATORY OAK RIDGE, TENNESSEE DEPARTMENT OF CIVIL & ENVIRONMENTAL ENGINEERING UNIVERSITY OF ILLINOIS AT URBANA-­‐CHAMPAIGN June 2013

UILU-­‐ENG-­‐95-­‐2012

ISSN: 0069-­‐4274

h<p://code.google.com/p/warp3d/

Page 2: WARP3D 17.4.0 Manual Updated June 5 2013

Executive Summary

WARP3DAn Open-Source Research Code for

3-D Nonlinear Finite Element Analysis of Solidsfor Fracture and Fatigue Processes

WARP3D is under continuing development as a research code for the solution of large-scale, 3-D solidmodels subjected to static and dynamic loads. The code includes specific features oriented toward theinvestigation of fatigue and ductile fracture in metals.

Mechanics: Elements, Constitutive Models, Algorithms

• a library of isoparametric hex, tet and interface-cohesive elements

• user defined multi-point constraints; absolute constraints in global and non-global coordinates

• tied-contact capability to connect topologically dissimilar but geometrically congruent meshes usingautomatically constructed multi-point constraints

• a robust finite strain formulation for solid elements and interface-cohesive elements using rotationneutralized 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 defined at nodesof the model rather than conventional element-by-element

• nonlinear material models including viscoplastic and temperature effects; the Gurson-Tvergaard plas-ticity model for void growth (with rate and temperature effects), finite-strain plasticity including theeffects of solute hydrogen on the micro-scale flow properties, an advanced model for cyclic plas-ticity of metals including nonlinear kinematic-isotropic hardening, more generalized complex cyclicbehavior (Cottrell-Stokes) and temperature dependent cyclic properties

• ability to integrate existing Abaqus compatible UMAT routines for user-defined material behavior(with only cosmetic changes needed)

• A crystal plasticity material model for rate and temperature dependent simulation of microscaleplastic flow in metals. Includes options for simple gradient-based geometric hardening, which incor-porates the effect 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-defined nodal-loads routine

• automatic, adaptive solution strategies to enhance convergence of global Newton iterations, localconstitutive updates and to control growth rates of material damage

Executive Summary i Updated: 5-10-2013

Page 3: WARP3D 17.4.0 Manual Updated June 5 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 constitutivemodel or stress-modified critical strain criteria.

• contact between the deformable finite 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 hybridmode with explicit message passing (MPI) and OpenMP for very large models on distributed memorysystems [Linux only]

• Pardiso (threaded) sparse direct and iterative solver from Intel MKL system [Linux, Windows, OSX]

• hypre (iterative) solver from Lawrence Livermore National Laboratory for MPI-based solution ofvery large models. Supported on Linux platforms. Stiffness assembly process is performed using adistributed approach across the MPI ranks. The hypre solver includes an option for the BoomerAMGpre-conditioner (parallel implementation of algebraic multigrid).

Pre- & Post- Processing

• Translator from Patran neutral file to WARP3D input

• WARP3D outputs patran formatted and binary neutral files for displacements, velocities, accelera-tions, strains, stresses

• a generalized “packet output facility in binary format to support rapid development of customizedpost-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 modifications. 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 multiplecores per processor. The parallel implementation makes use of industry standards: (1) OpenMP forshared memory (threads), (2) Message Passing Interface (MPI) to support a multiple level hierarchy ofparallel execution on distributed hardware (clusters) with local parallel execution using shared memoryvia OpenMP.

The nonlinear, dynamic equilibrium equations are solved using an incremental-iterative, implicitformulation with full Newton iterations to eliminate residual nodal forces. Time history integration ofthe nonlinear equations of motion is accomplished with Newmarks β-method. Analyses with WARP3Dthus exhibit the numerical stability for large time (load) steps provided by the implicit formulation.All computational aspects of the code (element stiffnesses, element strains, stress updating, elementinternal forces, contact, fracture parameter computation) are implemented in an element-by-element,

Executive Summary ii Updated: 5-10-2013

Page 4: WARP3D 17.4.0 Manual Updated June 5 2013

blocked data structure and algorithmic architecture. Such blocking greatly improves parallel efficiencyof these element level computations, with a thread assigned to perform all computations for a block ofelements completely independent of other threads assigned to other blocks. The larger-size, inner-mostloops made possible by the element blocking structure also create many opportunities for compilersto optimize local cache memory and register use and to employ pipelining (vector) hardware featureswithin each thread. For the very largest models, domain decomposition of the mesh provides yet anotherlevel of parallel execution, with each domain partitioned into element blocks. WARP3D thus providesthree levels of parallel execution from very coarse grain to very fine grain.

WARP3D executes in batch and interactive modes. Traditional batch mode execution is most usefulfor large analyses on supercomputers that enforce job queuing policies. On Linux, Mac and Windowsworkstations, the code is often executed in background (&) mode for long jobs and then interactivelyduring an analysis restart to obtain selected output. Options exist to write information files describingthe 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-WARP3Dtranslator program (patwarp) is included to convert a Patran neutral file for the model into a WARP3Dinput file. Input commands to define the model, loading history, solution parameters, compute and out-put requests have a format-free, English-like structure. Input files may include extensive user commentsand thus are generally self-documenting. Output consists of traditional printed displacements, strains,stresses, etc.; nodal and element results files in standard Patran format (binary or ascii) written directlyby WARP3D; and a binary packets file of selected results to facilitate post-processing. A convenientrestart capability provides the facility to segment a long job over multiple runs and to create analysisrecovery files in the event of hardware failures or should the solution not converge.

Executive Summary iii Updated: 5-10-2013

Page 5: WARP3D 17.4.0 Manual Updated June 5 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 associateddocumentation files (the ”Software”), to deal with the Software without restriction, including without limitationthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and topermit 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 followingdisclaimers.

• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and thefollowing 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 itscontributors may be used to endorse or promote products derived from this Software without specific priorwritten 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, FITNESSFOR 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 INCONNECTION 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 licensefile in the directory in which it appears. This file will describe the copyrights, license, and restrictions whichapply to that code.

The disclaimer of warranty in the University of Illinois Open Source License applies to all code in theWARP3D Distribution, and nothing in any of the other licenses gives permission to use the names of theWARP3D 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

Page 6: WARP3D 17.4.0 Manual Updated June 5 2013

Revision History

Version 17.4 (June 2013)

• New crystal plasticity material model for rate and temperature dependent simulation of microscaleplastic flow in metals. Includes options for simple gradient-based geometric hardening, which incor-porates the effect of necessary dislocations on the hardening properties of the material.

• Expanded solution capabilities during MPI-based execution: (1) the stiffness assembly process is nowperformed using a distributed approach across the MPI ranks, (2) the hypre solver now includes anoption for the BoomerAMG pre-conditioner (parallel implementation of algebraic multigrid).

• The interface-cohesive elements now support hardcopy and binary packet file results for tractionsand 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 betterdescribe the formulation and various options for the interface elements.

• Nodal temperatures may now be requested in printed output, Patran compatible result files and inbinary packet files.

• A new option for the linear stiffness on iteration 1 of a load step has been added that often simplifiesinput. The new option invokes the linear stiffness only for the next load step.

• The extrapolate displacements option often improves convergence characteristics of the global Newtonsolution. However, when the compute processors detect the next step is non-proportional with theprior step, the displacement extrapolation is suspended just for the new step. The linear stiffnessfor iteration 1 is also invoked. Both measures tend to improve convergence of the global Newtoniterations for strong load direction changes between steps.

• The batch message system that writes messages to a file during execution has been streamlined tocompress the messages. The batch message file summarizes the solution status during each globalNewton iteration. The file 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 reflect that most allmodern analyses run in parallel. Wall clock time, not CPU time, becomes the relevant measure ofsolution resources consumed. The batch message files now provide wall clock time rather than CPUtime.

• Older solvers removed: element-by-element (EBE) conjugate gradient, NASA, VSS sparse directsolvers. 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-plification of options for equation solving.

• The startup process (Bash shell script) for MPI-based (+ threads) executions has improved reliabilityand speed in starting MPI processes.

• patwarp updated-simplified to remove vectorized blocking options and to remove options for EBEsolver.

• Significant cleanup, streamlining, error-fixes 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) AppendixJ (details of crystal plasticity model).

Revision History v Updated: 5-13-2013

Page 7: WARP3D 17.4.0 Manual Updated June 5 2013

Version 17.3.2 (September 2012)

• The blocking command has been extended to provide automatic assignment of elements to blocks forthe most common analyses performed with WARP3D. The automatic blocking feature is applicablefor: (1) threads-only parallel execution on Windows, Linux, Mac OS X, (2) use of the Pardiso sparseequation solver (either direct or iterative). For other, much less common situations (EBE solverand/or MPI+threads execution), the blocking information must be provided in the input as in priorversions of the code.

• The recently added UMAT feature provides a very convenient means to incorporate new materialconstitutive 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 multipleinstances 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 optionin the nonlinear analysis parameters command is now available to request serial (1 thread) executionof element blocks using the UMAT during only the stress update for non thread-safe UMATs. SeeAppendix 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-defined nodal loadssubroutine. This option replaces the often lengthy text-based definition of forces and temperaturesin the model definition. 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 nodalforce/temperature increments over the analysis.

• For material models that require access to the deformation gradient, [F ], an [F ] formulation is nowused for the linear (8-node) brick element. The computations to set [F ] employ a mean-dilatationapproach.

• The displacement extrapolation algorithm now detects when non-proportional, incremental loadingexists for a step. The extrapolation procedure is suspended temporarily just for that step. Thissimplifies 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-definedmaterial behavior. The UMAT routines are invoked from within (thread) parallel processing of ele-ment blocks. The UMAT thus has full benefit 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 numberof equilibrium iterations for convergence. No changes in the manual.

• Updated descriptions of element blocking requirements. See Section 2.6 specifically if you make useof 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., define a list containing the nodes that lie on the surface of a cylinder. The named lists can

Revision History vi Updated: 5-13-2013

Page 8: WARP3D 17.4.0 Manual Updated June 5 2013

be referenced in all other commands that require input of an < integerlist > such as constraintsdefinition, output requests, loading definitions, domain integral definitions, etc.

• An option to simplify the use of input files constructed partly from Abaqus models is available.The definition of face loadings on hex elements and the definition of surfaces for tied-meshing nowhave an abaqus option to convert Abaqus face numbers during input to WARP3D face numbers. SeeSections 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. Linesbeginning with c or C in column 1 followed by a blank continue to be treated as comment lines aswell. Blank lines in the input are ignored.

• The definition and interpretation of strain output for nonlinear geometry analyses have been updated.Output values now correspond to the approximate logarithmic strain on the current configuration.See manual section 3.1.6.

• More sections of the manual are now in LaTeX format and include revisions and corrections. Recentlyconverted 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 theAppendices. Eventually the entire manual will be in LaTeX. Source files for the manual will beincluded 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 ageneral capability now and for future to define large 2D tables of floating point data values for usein various aspects of model definition. For now, tables are used to define parameters for “piston”loading on surfaces of solid elements.

• Piston theory loadings define unsteady aerodynamic pressures applied on the surfaces of solid el-ements. Piston theory provides a simplified (quasi-1D) model to estimate local pressures (centerof element surface) for the current velocity of the surface and orientation relative to airflow direc-tion. The piston pressures are time varying and strongly dependent upon instantaneous motion ofthe 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 simulationwork. See updated descriptions of hex and tet elements in Sections 3.1 and 3.2 (and required use ofthe table command in Section 2.14).

• The model solution time is now output with messages issued about completion of the solution forloads steps. Model solution time is the integral of the user-specified time increment,

∫dt, specified

in nonlinear solution parameters.

• Various messages issued during solution displayed the cpu time consumed by the code to that pointin execution. With nearly all analyses running now in parallel, these messages have been changed todisplay 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 ofthe hypre equation solver from Lawrence Livermore National Labs. Hypre solves the linear equationsfor each global Newton iteration using variants of preconditioned conjugate gradients. The solver isdesigned specifically to maintain very high scaling efficiency as the number of MPI ranks increasesinto the hundreds and perhaps thousands. Our implementation runs WARP3D on MPI rank 0with threaded parallel execution and invokes hypre for each equation solve. Hypre spawns/releasesadditional MPI ranks for just the equation solving phase. This approach maintains the simplicityof WARP3D input files for threads-only execution (no domain decomposition) with the opportunityfor very high parallel efficiency across tens-to-hundreds (perhaps a thousand) of processors duringequation solving phases.

• The generalized plasticity option of the cyclic plasticity model has been extended to include temperature-

Revision History vii Updated: 5-13-2013

Page 9: WARP3D 17.4.0 Manual Updated June 5 2013

dependent material properties (E, ν, σ0, ...). This model offers behavioral and computational advan-tages over the more traditional Armstrong-Frederick model (also available as an option of the cyclicmaterial model).

• Updated manual sections: 1.7 (Equation Solvers), 2.2 (Material Definitions), 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 nowcontains 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 files for each platform and the general file included in the distribution have been signifi-cantly updated.

• A number of stubborn bugs that previously slowed threaded execution during stress update havebeen eliminated (we had work around code to force serialization in a few locations). All work aroundcode is now removed.

• We are building interfaces between WARP3D and the Exodus II database system used by a numberof pre- post-processor codes. Watch for new developments.

• The compilation process on all three platforms (Windows, Linux, OS X) is updated to use the currentreleases 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 significantly to incorporate the Paulino-Park-Roesler for-mulation (ppr) that properly models mixed-mode fracture. The model supports independent spec-ification of the fracture energies and peak tractions for normal and shear deformation modes. Themodel couples normal and shear fracture processes through the use of a polynomial-based potentialfunction.

• The interface-cohesive, crack growth processors and adaptive algorithms are updated to include theppr option.

• The binary packets file 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 iterativeoption 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 definethe pre-conditioner. When the iterative process develops convergence issues, Pardiso switches to thedirect solver automatically.

• The conversion of binary packets files to ASCII files has been deleted as no longer needed to movefiles across hardware platforms.

• Updated manual sections: Appendix F (binary packets file), 5.1 Introduction to Crack Growth,5.4 Crack Growth Using Interface-Cohesive Elements, 3.3 Interface-Cohesive Elements (re-writtenfor improved clarity), 3.8 Material Model Type: cohesive, 2.10 Solution Parameters, 2.12 OutputRequests, Table of Contents

• The compilation process for WARP3D on all three supported platforms (Linux, Mac OS X andWindows) 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-defined tangent vectors at crackfront nodes. This option provides a means to remedy domain dependent J-values, for example, whenthe crack front in the discrete mesh intersects a symmetry plane with a kink angle, rather thansmoothly at a right angle. This can occur when quadratic elements on the crack front are createdwith straight edges that define a chordal approximation to an otherwise smooth curve. Coarse meshesof linear elements also have this same issue. This feature will prove most useful for J evaluation at

Revision History viii Updated: 5-13-2013

Page 10: WARP3D 17.4.0 Manual Updated June 5 2013

symmetry planes and where the crack front intersects a free surface. For meshes with sufficientresolution and/or front elements with curved edges, the automatic tangent vectors computed byWARP3D 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 althoughMac OS X can be running in 32-bit (default) or 64-bit mode. This initial version for OS X supportsparallel 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 runningWARP3D in the threads-only version for Linux). The Intel (MKL) spares direct solver and the PCGsolvers 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 althoughMac OS X can be running in 32-bit (default) or 64-bit mode. This initial version for OS X supportsparallel 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 runningWARP3D in the threads-only version for Linux). The Intel (MKL) spares direct solver and the PCGsolvers 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 offers two options for representing the cyclic plasticity behavior of metals: nonlinear -hardening and generalized plasticity. The generalized plasticity option provides the capability toyield on re-loading prior to the prior un-loading stress state and the option for non-zero asymptotichardening 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 significantlyreduces solution elapsed time on computers with multiple cores and/or processors. This parallelexecution capability is implement in both Windows and Linux versions.

• Chapter 7 of the manual has been re-written, updated and expanded to describe the additionalthread-based parallel execution of element blocks. More details are now provided to run WARP3Don 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) IntelMKL solver and for processing of element blocks in WARP3D. We are not considering MPI versionsfor Windows at this time.

• The Intel MKL solver on Windows, Linux and SGI versions now supports out-of-core solutions. Theout-of-core solver is often necessary for large models computed on 32-bit Windows systems. Section2.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 priorityare 64-bit Linux, and 32- and 64-bit Windows.

Revision History ix Updated: 5-13-2013

Page 11: WARP3D 17.4.0 Manual Updated June 5 2013

Acknowledgements

The work described in this guide has been supported by grants principally from the U.S. NuclearRegulatory Commission, the National Aeronautic and Space Administration (Ames and Marshall), theNaval Surface Warfare Center (Carderock, Maryland), the Oak Ridge national Laboratory (ORNL), theComputational Science & Engineering program at the University of Illinois and the University of Illinoisthrough the M.T. Geoffrey Yeh Endowed Chair Fund.

The earliest research on numerical algorithms and software architecture of WARP3D were supportedby Grant SCCA 90-82144 from the Illinois Department of Commerce and Grant DE-FG02-85ER25001from the Department of Energy made to the Center for Supercomputer Research and Development atthe University of Illinois.

Support for graduate students has been provided by generous fellowships from the Office of NavalResearch, the Computational Science and Engineering program at the University of Illinois, the NASAGraduate 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(office in Boulder, Colorado). Our ongoing collaborations with Dr. Greg Thorwald and Dr. Ted Andersonat QIG continue to provide very fruitful.

Key recent research and development efforts on improved 3-D fracture models, MPI parallel im-plementation and support for functionally graded materials and fatigue analyses have been supportedby: NASA Grants 2-1031, 2-1126, 2-1424 (through the Engineering for Complex Systems Program) and8-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 Commissionprovided partial financial support for the sabbatical of Professor Dodds during 2009-2010. That supportenabled significant 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 isdeveloped 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 DefenseScience and Engineering Graduate (NDSEG) Fellowship Program.

Acknowledgements x Updated: 5-132013

Page 12: WARP3D 17.4.0 Manual Updated June 5 2013

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-11.2 Illustrative Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2-11.3 Manual Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3-11.4 Nonlinear Equations of Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4-11.5 Dynamic Analysis: Newmark β Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5-11.6 Solution of Nonlinear Equations: Newton Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6-11.7 Linear Equation Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-1

1.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-11.7.2 Pardiso Sparse Direct Solver: Threads Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7-11.7.3 Pardiso Sparse Iterative Solver: Threads Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-11.7.4 Hypre Iterative Solver: MPI Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7-11.7.5 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7-11.7.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.7-2

1.8 Element Formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-11.8.1 Interpolation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-11.8.2 Cartesian Derivatives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.8-21.8.3 B Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-31.8.4 Internal Force Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-31.8.5 Strain Increment for Stress Updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-41.8.6 Tangent Stiffness Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-41.8.7 Mass Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.8-6

1.9 Finite Strain Plasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-11.9.1 Kinematics, Strain-Stress Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-11.9.2 Selection of Strain and Stress Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-41.9.3 Elastic-Plastic Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-51.9.4 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.9-6

Chapter 2 Model Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1-1

2.1 Model Name and Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1-22.2 Material Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-1

2.2.1 Material Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-1

(Updated: 5-13-2013) xi Table of Contents

Page 13: WARP3D 17.4.0 Manual Updated June 5 2013

2.2.2 Stress-Strain Curve Command: Temperature Independent . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-32.2.3 Stress-Strain Curve Command: Temperature Dependent . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-52.2.4 Stress-Strain Curve Command: Strain-Rate Dependent . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.2-72.2.5 Nodal Values of Material Properties for FGMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-92.2.6 Anisotropic Thermal Expansion Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2-10

2.3 Element Types and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.3-12.4 Nodal Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4-12.5 Element Incidences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5-12.6 Element Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-1

2.6.1 Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-12.6.2 Simplified, Automatic Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-12.6.3 Command and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6-22.6.4 Blocking with Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.6-4

2.7 Nodal Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-12.7.1 Absolute Constraints in Global Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.7-22.7.2 Non-Global Absolute Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-22.7.3 Multi-Point Constraints (MPCs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-42.7.4 Constraints in Nonlinear Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-42.7.5 Display of Current Constraint Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-52.7.6 Tie-Mesh Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7-5

2.8 Loads (Including Imposed Temperatures & Non-zero Displacements) . . . . . . . . . . . . . . . . . . . . . . .2.8-12.8.1 Loading Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-12.8.2 Nodal Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-22.8.3 Element Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.8-32.8.4 Step Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-32.8.5 Displacement Control Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8-4

2.9 Initial Conditions for Model (displacements, velocities, temperatures) . . . . . . . . . . . . . . . . . . . . . . 2.9-12.10 Solution Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-1

2.10.1 Threads for WARP3D Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-12.10.2 Linear Equation Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-22.10.3 Dynamic Analysis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-62.10.4 Newton Iteration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-62.10.5 Adaptive Step Size Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-92.10.6 Batch Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-102.10.7 Wall Clock Time Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-112.10.8 Displacement Extrapolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-112.10.9 Material Model Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-122.10.10 Solution Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-132.10.11 Residual Loads Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-132.10.12 B Element Stabilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-132.10.13 Consistent Q Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-132.10.14 Resetting the Global Load Reduction Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-142.10.15 Output of Sparse Format Equilibrium Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-142.10.16 Output of MPCs for Tied Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10-15

2.11 Compute Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11-12.12 Output Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-1

2.12.1 Printed Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.12-12.12.2 Binary Packets File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.12-32.12.3 Patran Compatible Result Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-52.12.4 Patran Compatible Neutral File for Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12-72.12.5 Energy File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.12-82.12.6 Convert Binary Packets to ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.12-8

(Updated: 5-13-2013) xii Table of Contents

Page 14: WARP3D 17.4.0 Manual Updated June 5 2013

2.13 Analysis Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.13-12.14 Table Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15-1

2.14.1 General Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14-12.14.2 Table Type: piston . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14-2

2.15 Utility (*) Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15-12.16 User Named List Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.16-1

2.16.1 General Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.14-12.16.2 Nodes Located on a Coordinate Plane, Lin, or Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.16-12.16.3 Nodes Located on a General Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-22.16.4 Nodes Located on a Cylindrical Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-22.16.5 Nodes Located on a Spherical Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.16-32.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-13.1.1 Node and Gauss Point Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-23.1.2 Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-43.1.3 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-43.1.4 Mass Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-53.1.5 Element Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1-63.1.6 Strains-Stresses for Large Displacement Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-93.1.7 The B Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1-103.1.8 Collapsed Elements for Fracture Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1-133.1.9 Temperature Gradients on Linear Displacement Elements . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-133.1.10 Material Property Gradients on Linear Displacement Elements . . . . . . . . . . . . . . . . . . 3.1-133.1.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1-133.1.12 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1-13

3.2 Element Type: tet4, tet10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-13.2.1 Node and Gauss Point Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-13.2.2 Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-33.2.3 Output Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-33.2.4 Mass Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-43.2.5 Element Loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.2-53.2.6 Strains-Stresses for Large Displacement Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-83.2.7 Temperature Gradients in tet4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-83.2.8 Material Property Gradients in tet4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-83.2.9 Limitations on Current Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-93.2.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.2-93.2.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2-9

3.3 Interface Elements: inter 8, trint6, trint12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.2-13.3.1 Element Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-13.3.2 Geometrically Linear Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.3-53.3.3 Geometrically Nonlinear Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-63.3.4 Treatment of Interface Compression for Nonlinear Elements . . . . . . . . . . . . . . . . . . . . . . . . 3.3-73.3.5 Node and Integration Point Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-83.3.6 Ensuring Proper Element Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-83.3.7 Special Procedures for Mode I Crack Growth (Geometric Nonlinear) . . . . . . . . . . . . . . . 3.3-93.3.8 Element Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-123.3.9 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-12

(Updated: 5-13-2013) xiii Table of Contents

Page 15: WARP3D 17.4.0 Manual Updated June 5 2013

3.3.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3-133.3.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.3-14

3.4 Material Model Type: deformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-13.4.1 Formulation and Computational procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-13.4.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-33.4.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-43.4.4 Computational Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-43.4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4-4

3.5 Material Model Type: bilinear (mises, rate independent) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.5-13.5.1 Stress-Strain Curve and Hardening Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-13.5.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-33.5.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-33.5.4 Computational Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-43.5.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-53.5.6 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5-6

3.6 Material Model Type: mises (general hardening, rate dependent) . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-13.6.1 Stress-Strain Curves and Hardening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.6-13.6.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-23.6.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-33.6.4 Computational Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-43.6.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-53.6.6 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6-8

3.7 Material Model Type: gurson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-13.7.1 Stress-Strain Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-13.7.2 Power-Law Viscoplasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-23.7.3 Recommended Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.7-33.7.4 Nucleation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-33.7.5 Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-53.7.6 Adaptive Step Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.7-53.7.7 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-53.7.8 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-53.7.9 Computational Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-63.7.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.7-63.7.11 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7-8

3.8 Material Model Type: cohesive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-13.8.1 Potential Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-23.8.2 Linear-Elastic Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-33.8.3 PPR Option (Paulino-Park-Roesler) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-43.8.4 Exponential Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-93.8.5 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-123.8.6 Special Procedures: Models with Symmetry Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.8-133.8.7 Adaptive Load Step Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-143.8.8 Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-153.8.9 Computational Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8-153.8.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.8-15

3.9 Material Model Type: mises hydrogen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-13.9.1 Hydrogen Concentration in Metals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-13.9.2 Hydrogen Effect on the Stress-Strain Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-33.9.3 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-33.9.4 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-43.9.5 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.9-53.9.6 Plasticity Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9-5

(Updated: 5-13-2013) xiv Table of Contents

Page 16: WARP3D 17.4.0 Manual Updated June 5 2013

3.10 Material Model Type: cyclic (plasticity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.10-13.10.1 Stress-Strain Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-23.10.2 Model Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-33.10.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-63.10.4 Element Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.10-83.10.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-83.10.6 Plasticity Algorithms - Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-103.10.7 nonlinear hardening option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-113.10.8 generalized plasticity option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-143.10.9 Subincrementation for both cyclic options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-173.10.10 Details on 1-D specialization of 3-D plasticity formulation . . . . . . . . . . . . . . . . . . . . . 3.10-203.10.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10-29

3.11 Material Model Type: umat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.11-13.11.1 Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-13.11.2 Temperature Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-23.11.3 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.11-23.11.4 Element Blocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.11-33.11.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.11-3

3.12 Material Model Type: cp (crystal plasticity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.12-13.12.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-13.12.2 Crystal Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-73.12.3 Material Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-73.12.4 Model Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-93.12.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-113.12.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12-13

Chapter 4 Domain Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1-1

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1-14.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2-1

4.2.1 Local Energy Release Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.2-14.2.2 Domain Integral Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2-24.2.3 Domain Form of the J-Integral: Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.2-4

4.3 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-14.3.1 Definition of the q-Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.3-14.3.2 Volume Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.3-24.3.3 Crack Face Traction Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-24.3.4 Crack Front Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.3-34.3.5 Computation of Aq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-44.3.6 Output From Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3-4

4.4 Commands for Domain Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-14.4.1 Outline of Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-14.4.2 Input Error Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-14.4.3 Components of a Domain Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-14.4.4 Initiating a Domain Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-24.4.5 Crack Plane Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-24.4.6 Crack Front Tangent Vector (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-34.4.7 Symmetric Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-34.4.8 Crack Front Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.4-44.4.9 Specification of q-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-5

(Updated: 5-13-2013) xv Table of Contents

Page 17: WARP3D 17.4.0 Manual Updated June 5 2013

4.4.10 Printing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-104.4.11 Integration Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-114.4.12 Face Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-114.4.13 Domain Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-114.4.14 Debugging Domain Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-114.4.15 Binary Packet Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-114.4.16 Conversion of J-Values to K-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-124.4.17 Complete Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4-12

4.5 J-Values for Functionally Graded Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-14.5.1 Derivative of Stress Work Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.5-14.5.2 Analytical Forms fo the Explicit Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-14.5.3 A General Expression for the Explicit Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-24.5.4 Numerical Evaluation of General Expression Explicit Derivative . . . . . . . . . . . . . . . . . . . . 4.5-34.5.5 Output from Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-44.5.6 Domain Definition Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-44.5.7 Automatic and User-Defined Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5-4

4.6 The Interaction Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-14.6.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-14.6.2 Auxiliary Fields for Stress Intensity Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-34.6.3 Calculation of Stress Intensity Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-54.6.4 Auxiliary Fields for T -Stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-64.6.5 Calculation of T -Stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-64.6.6 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-74.6.7 Domain Definition Options for Interaction Integrals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-114.6.8 Output from Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-124.6.9 Complete Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6-132

Chapter 5 Crack Growth Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.1-1

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1-15.2 Crack Growth by Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-1

5.2.1 Damage Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-15.2.2 General Input Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-25.2.3 Damage Criteria Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-35.2.4 Adaptive Load Control (gurson control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.2-45.2.5 Automatic Load Reduction (smcs control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-45.2.6 Extinction Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-55.2.7 Release Models for Element Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-65.2.8 Meshing Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2-8

5.3 Crack Growth by Node Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.3-15.3.1 Geometry Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-25.3.2 Input Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-45.3.3 Release Models for Reaction Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-95.3.4 Node Release Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-125.3.5 Analysis Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3-13

5.4 Crack Growth Using Interface-Cohesive Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.4-15.4.1 General Input Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-15.4.2 Adaptive Load Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-25.4.3 Element Extinction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-45.4.4 Extinction Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-5

(Updated: 5-13-2013) xvi Table of Contents

Page 18: WARP3D 17.4.0 Manual Updated June 5 2013

5.4.5 Release Model for Interface Element Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-55.4.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4-5

Chapter 6 Contact Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1-1

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1-16.2 Numerical Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-1

6.2.1 Overview of Penalty Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-16.2.2 Contact Detection/Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.2-26.2.3 Penetration of Multiple Contact Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-56.2.4 Parallel Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2-5

6.3 Commands for Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.3-16.3.1 Outline of Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-16.3.2 Initiating Contact Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-16.3.3 Description of Contact Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-16.3.4 Utility Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-56.3.5 Notes on Multiple Contacting Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3-56.3.6 Complete Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.3-5

6.4 Tips for Analyses Using Rigid Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4-16.5 Example Analyses Using Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.5-1

6.5.1 Rolling of a Metal Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5-16.5.2 Crushing of a Pipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.5-16.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-17.1.1 Threads and Shared Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-17.1.2 Hybrid System (MPI+Threads) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7.1-27.1.3 Summary & Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1-3

7.2 Threads-Only Execution (Windows, Linux, OS X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2-17.2.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2-17.2.2 Linux and OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2-2

7.3 Solutions with Domain Decomposition: Linux Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-17.3.1 Commands to Start Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-37.3.2 Extensions to Blocking Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-37.3.3 Extensions of patwarp to Support Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-37.3.4 Manager-Worker Parallel Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-47.3.5 Generation of Patran Result Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-57.3.6 Generation of Restart Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3-67.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

Page 19: WARP3D 17.4.0 Manual Updated June 5 2013

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

Page 20: WARP3D 17.4.0 Manual Updated June 5 2013

1.1–1Chapter 1 Introduction

Chapter 1

Introduction

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

!"#$%&'()'*%+,$-.#/,$%0",%-1&&'(+$%'(+%0",%0",1.,0#-'*%/'-23.1)(+%&'0,.#'*%(,-,$$'.401%)$,%0",%56789:%;#(#0,%,*,&,(0%-1+,<%56789:%#$%)(+,.%-1(0#()#(3%+,=,*1>&,(0%'$%'.,$,'.-"%-1+,%;1.%0",%$1*)0#1(%1;%=,.4%*'.3,?$-'*,@%9?:%$1*#+%&1+,*$%$)/A,-0,+%01%$0'0#-%'(++4('&#-%*1'+$<%B>,-#;#-%;,'0).,$%#(%0",%-1+,%1.#,(0,+%01C'.+%0",%#(=,$0#3'0#1(%1;%+)-0#*,;.'-0).,%#(%&,0'*$%#(-*)+,D

! '%.1/)$0%;#(#0,%$0.'#(%;1.&)*'0#1(

! '%3,(,.'*%!"#(0,3.'*%-1&>)0'0#1(%;'-#*#04%EC#0"%#(,.0#'@%;'-,%*1'+#(3@%0",.&'*%*1'+#(3@%'(?#$10.1>#-%&'0,.#'*$F

! =,.4%3,(,.'*%9?:%,*,&,(0%,G0#(-0#1(@%(1+,%.,*,'$,@%'(+%#(0,.;'-,?-1",$#=,%,*,&,(0%;'-#*#?0#,$%01%&1+,*%-.'-2%3.1C0"

! (1(*#(,'.%&'0,.#'*%&1+,*$%#(-*)+#(3%=#$-1>*'$0#-%,;;,-0$@%'(+%0",%H).$1(?!=,.3''.+%+#*'?0'(0%>*'$0#-#04%&1+,*%;1.%=1#+%3.1C0"

! -1(0'-0%/,0C,,(%0",%+,;1.&'/*,%;#(#0,%,*,&,(0%&1+,*%'(+%'%*#/.'.4%1;%.#3#+%$).;'-,$E>*'(,$@%-4*#(+,.$@%$>",.,$F

! >'.'**,*%,G,-)0#1(%)$#(3%,G>*#-#0%&,$$'3,%>'$$#(3%;1.%$"'.,+%'(+%+#$0.#/)0,+%&,&1.4-1&>)0,.$

! ;'$0%#0,.'0#=,%'(+%E$>'.$,F%+#.,-0%,I)'0#1(%$1*=,.$%0"'0%,G,-)0,%#(%>'.'**,*

56789:% ,G,-)0,$% #(% /10"% '% -1(=,(0#1('*% $,.#'*% &1+,% 1(% )(#?>.1-,$$1.% -1&>)0,.$EC1.2$0'0#1($@%8J$F%'(+%#(%'%>'.'**,*%&1+,%1(%-1&>)0,.$%C#0"%&)*0#>*,%>.1-,$$1.$<%!",%>'.?'**,*%#&>*,&,(0'0#1(%&'2,$%)$,%1;%0",%#(+)$0.4%$0'(+'.+%K,$$'3,%8'$$#(3%L(0,.;'-,%EK8LF01%&'#(0'#(%/10"%"#3"%,;;#-#,(-4%'(+%>1.0'/#*#04<%!",%>'.'**,*%=,.$#1(%,G,-)0,$%1(%$"'.,+&,&1.4%-1&>)0,.$@%+#$0.#/)0,+%&,&1.4%-1&>)0,.$%'(+%(,0C1.2$%1;%C1.2$0'0#1($<

!",%(1(*#(,'.@%+4('&#-%,I)#*#/.#)&%,I)'0#1($%'.,%$1*=,+%)$#(3%'(%#(-.,&,(0'*?#0,.'?0#=,@%#&>*#-#0%;1.&)*'0#1(%C#0"%;)**%M,C01(%#0,.'0#1($%01%,*#&#('0,%.,$#+)'*%(1+'*%;1.-,$<!#&,%"#$01.4%#(0,3.'0#1(%1;%0",%(1(*#(,'.%,I)'0#1($%1;%&10#1(%#$%'--1&>*#$",+%C#0"%M,C?&'.2N$#! &,0"1+<%56789:%>.1=#+,$%'%*#(,'.?>.,-1(+#0#1(,+%-1(A)3'0,%3.'+#,(0%EO8JHF$1*=,.%#&>*,&,(0,+%#(%'(%,*,&,(0?/4?,*,&,(0%;1.&'0%01%.,>*'-,%0",%.1*,%1;%-1(=,(0#1('*%E+#?.,-0F%*#(,'.%,I)'0#1(%$1*=,.$<%!"#$%$1;0C'.,%'.-"#0,-0).,%1;0,(%+.'&'0#-'**4%.,+)-,$%/10"0",%&,&1.4%.,I)#.,&,(0$%'(+%J8P%0#&,%;1.%=,.4%*'.3,@%(1(*#(,'.%$1*#+%&1+,*$%$#(-,%;1.&'?0#1(%1;%0",%'$$,&/*,+%E+4('&#-F%$0#;;(,$$%&'0.#G%#$%'=1#+,+<%6('*4$,$%0")$%,G"#/#0%0",%()?&,.#-'*%$0'/#*#04%;1.%*'.3,%0#&,%E*1'+F%$0,>$%>.1=#+,+%/4%0",%#&>*#-#0%;1.&)*'0#1(%-1)>*,+C#0"%0",%*1C%&,&1.4%.,I)#.,&,(0$%-"'.'-0,.#$0#-%1;%'(%,G>*#-#0%-1+,<%6**%10",.%-1&>)0'?0#1('*%'$>,-0$%1;%0",%-1+,%E,*,&,(0%$0#;;(,$$,$@%,*,&,(0%$0.'#($@%$0.,$$%)>+'0#(3@%,*,&,(0#(0,.('*%;1.-,$F%'.,%#&>*,&,(0,+%#(%0",%,*,&,(0?/4?,*,&,(0@%/*1-2,+%'.-"#0,-0).,<%!"#$3.,'0*4%#&>.1=,$%)0#*#Q'0#1(%1;%-'-",%&,&1.4%'.-"#0,-0).,$%-)..,(0%7LBJ%>.1-,$$1.%+,$#3($

R%M)&/,.$%#(%S%T%#(+#-'0,%.,;,.,(-,$%*#$0,+%#(%6>>,(+#G%U<

Page 21: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D What is WARP3D?

1.1–2Chapter 1 Introduction

E$,,%J'.,4%'(+%V#'(3%SWXT@%Y*'('3'(%'(+%!'4*1.%SXZT@%[)3",$@%Y,.,(-Q@%'(+%['**I)#$0%S\]T@[,'*4@%8,-2(1*+%'(+%:1++$%S9]T%;1.%+,0'#*,+%+#$-)$$#1($%1;%/*1-2#(3%$0.'0,3#,$F<

Y1.%&1+,*$%C"#-"%>.1=,%+#;;#-)*0%01%'('*4Q,%C#0"%0",%O8JH%$1*=,.%+),%01%>11.%-1(+#0#1(?#(3@%,<3<@%0"#(%$",**%$0.)-0).,$%&1+,*,+%C#0"%$1*#+%,*,&,(0$@%56789:%>.1=#+,$%'%;'&#*4%1;=,.4%,;;#-#,(0@%$>'.$,%&'0.#G%$1*=,.$%/'$,+%1(%&)*0#?&#(#&)&%+,3.,,%.,?1.+,.#(3%1;%0",,I)'0#1($%'(+%"#3"*4%0)(,+%-1+,%01%>,.;1.&%+,-1&>1$#0#1(<%!",%$>'.$,%$1*=,.$%+.'&'0#-'**4.,+)-,% /10"% &,&1.4% '(+% J8P% 0#&,$% .,I)#.,+% ;1.% $1*)0#1(% 1;% 0",% *#(,'.#Q,+% ,I)'0#1($-1&>'.,+%01%'%0.'+#0#1('*%>.1;#*,%/'$,+%$1*=,.^%;'-01.$%1;%_?W_%.,+)-0#1(%#(%&,&1.4%'(+%J8P0#&,%'.,%.1)0#(,*4%;1)(+<%K1.,1=,.@%0",%$>'.$,%$1*=,.%/,-1&,$%=,.4%-1&>,0#0#=,%C#0"%0",O8JH%$1*=,.%1(%P(#G%C1.2$0'0#1($%C"#-"%"'=,%$*1C%&,&1.4%$)/$4$0,&$%E.,*'0#=,%01%0",#.;*1'0#(3%>1#(0%$>,,+$%'(+%01%0",%&,&1.4%$4$0,&$%1(%J.'4%-1&>)0,.$@%$,,%K-J'*>#(%S]\TF<!",%O8JH%$1*=,.%>,.;1.&$%;'.%;,C,.%;*1'0#(3%>1#(0%1>,.'0#1($%01%1/0'#(%'%$1*)0#1(%/)0%&)$0.,>,'0,+*4%-4-*,%1=,.%,*,&,(0%&'0.#-,$%")(+.,+$?01?0"1)$'(+$%1;%0#&,$%C"#-"%#(-.,'$,$0",%.,*'0#=,%#&>1.0'(-,%1;%&,&1.4%'--,$$%0#&,$<%!1%.,'-"%0",%&'G#&)&%>1$$#/*,%>,.;1.?&'(-,@% 56789:% #(=12,$% $>'.$,% $1*=,.$% ,$>,-#'**4% 0)(,+% ;1.% ,'-"% "'.+C'.,% >*'0;1.&<!",$,%$1*=,.$%'.,%)$)'**4%>.1=#+,+%#(%()&,.#-'*%*#/.'.#,$%/4%0",%-1&>)0,.%=,(+1.<%6% `3,(,.?#-a%$>'.$,%$1*=,.%#$%'='#*'/*,%#(%'**%>*'0;1.&$%01%&'#(0'#(%>1.0'/#*#04<

Y1.%*'.3,?$-'*,%>'.'**,*%>.1-,$$#(3@%56789:%')3&,(0$%0",%/*1-2,+%$1;0C'.,%'.-"#0,-?0).,%C#0"%-1(=,(0#1('*%+1&'#(%+,-1&>1$#0#1(%1;%0",%,(0#.,%;#(#0,%,*,&,(0%&1+,*@%C#0"%1(,+1&'#(%'$$#3(,+%01%,'-"%>.1-,$$1.%'='#*'/*,%;1.%,G,-)0#1(<%56789:%,&>*14$%0",%#(+)$0.4$0'(+'.+%K8L%;.'&,C1.2%01%'-"#,=,%"#3"%*,=,*$%1;%>'.'**,*%>,.;1.&'(-,%'(+%>1.0'/#*#04'-.1$$%$"'.,+?&,&1.4@%+#$0.#/)0,+?&,&1.4%'(+%+#$0.#/)0,+?$"'.,+%&,&1.4%-1&>)0,.$<!",%-1+,%.)($%#(%'%>).,%K8L%&1+,%C",(%0",%'('*4$0%$,*,-0$%0",%O8JH%$1*=,.%'(+%#(%'%&#G,+K8L?0".,'+,+%&1+,%C",(%0",%'('*4$0%$,*,-0$%1(,%1;%0",%>*'0;1.&%$>,-#;#-%E>'.'**,*F%$>'.$,+#.,-0%$1*=,.$<

56789:%,G,-)0,$%#(%/'0-"%'(+%#(0,.'-0#=,%&1+,$<%!.'+#0#1('*%/'0-"%&1+,%,G,-)0#1(#$%&1$0%)$,;)*%;1.%*'.3,%'('*4$,$%1(%$)>,.-1&>)0,.$%C"#-"%,(;1.-,%A1/%I),)#(3%>1*#-#,$<%b(P(#G%C1.2$0'0#1($%'(+%8J$@%0",%-1+,%#$%1;0,(%,G,-)0,+%#(%/'-23.1)(+%EcF%&1+,%;1.%*1(3%A1/$'(+%0",(%#(0,.'-0#=,*4%+).#(3%'(%'('*4$#$%.,$0'.0%01%1/0'#(%$,*,-0,+%1)0>)0<%b>0#1($%,G#$001%C.#0,%#(;1.&'0#1(%;#*,$%+,$-.#/#(3%0",%$1*)0#1(%$0'0)$%'0%-1&>*,0#1(%1;%,'-"%M,C01(%#0,.'?0#1(%+).#(3%*1(3%'('*4$,$%,G,-)0,+%#(%/'0-"%&1+,<

56789:%0'2,$%#(>)0%+'0'%;.1&%'%='.#,04%1;%$1).-,$%)(+,.%-1(0.1*%1;%0",%)$,.<%6%8'0.'(?01?56789:%0.'($*'01.%>.13.'&%E$%&'%($F%#$%'*$1%'='#*'/*,%01%-1(=,.0%'%8'0.'(%(,)0.'*%;#*,;1.%0",%&1+,*%#(01%'%56789:%#(>)0%;#*,<%!"#$%>.13.'&$%+,-1&>1$,$%0",%;#(#0,%,*,&,(0%&1+?,*%#(01%+1&'#($%'(+%/*1-2$%.,I)#.,+%;1.%,;;#-#,(0%>'.'**,*%,G,-)0#1(<%L(>)0%-1&&'(+$%01%+,?;#(,%0",%&1+,*@%*1'+#(3%"#$01.4@%$1*)0#1(%>'.'&,0,.$@%-1&>)0,%'(+%1)0>)0%.,I),$0$%"'=,%';1.&'0?;.,,@%d(3*#$"?*#2,%$0.)-0).,<%L(>)0%;#*,$%&'4%#(-*)+,%,G0,($#=,%)$,.%-1&&,(0$%'(+0")$%'.,%3,(,.'**4%$,*;?+1-)&,(0#(3<%b)0>)0%-1($#$0$%1;%0.'+#0#1('*%>.#(0,+%+#$>*'-,&,(0$@$0.'#($@%$0.,$$,$@%,0-<%#(%'++#0#1(%01%(1+'*%.,$)*0$%;#*,$%#(%$0'(+'.+%8'0.'(%;1.&'0%E/#('.41.%'$-##F%C.#00,(%+#.,-0*4%/4%56789:<%6%-1(=,(#,(0%.,$0'.0%-'>'/#*#04%>.1=#+,$%0",%;'-#*#0401%$,3&,(0%'%*1(3%A1/%1=,.%&)*0#>*,%.)($%'(+%01%-.,'0,%'('*4$#$%.,-1=,.4%;#*,$%#(%0",%,=,(01;%"'.+C'.,%;'#*).,$%1.%$"1)*+%0",%$1*)0#1(%(10%-1(=,.3,<

!"#$%&'()'*%#$%1.3'(#Q,+%'$%;1**1C$<%!",%.,&'#(+,.%1;%J"'>0,.%W%>.1=#+,$%'(%1=,.=#,C1;%56789:%0".1)3"%+#$-)$$#1(%1;%'(%,G'&>*,%>.1/*,&@%'(+%/'-23.1)(+%&'0,.#'*%1(%0",;1.&)*'0#1(%'(+%$1*)0#1(%1;%0",%31=,.(#(3%,I)'0#1($<%J"'>0,.%X%+,$-.#/,$%0",%-1&&'(+$01%+,;#(,%0",%;#(#0,%,*,&,(0%&1+,*@%*1'+#(3%"#$01.4@%(1(*#(,'.e+4('&#-%$1*)0#1(%>'.'&,0,.$@-1&>)0,%'(+%1)0>)0%-1&&'(+$<%J"'>0,.%9%>.1=#+,$%'%+,0'#*,+%+,$-.#>0#1(%1;%0",%-)..,(0*4'='#*'/*,%;#(#0,%,*,&,(0$%'(+%&'0,.#'*%&1+,*$<%J"'>0,.%\%+,$-.#/,$%0",%>.1-,+).,$%'(+-1&&'(+$%'='#*'/*,%01%-1&>)0,%!?#(0,3.'*$%)$#(3%+1&'#(%#(0,3.'*%0,-"(#I),$<%J"'>0,.%_

Page 22: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

1.1–3Chapter 1 Introduction

+#$-)$$,$%0",%>.1-,+).,$%'(+%-1&&'(+$%01%&1+,*%-.'-2%3.1C0"<%J"'>0,.%]%+,$-.#/,$%0",.,-,(0*4%#&>*,&,(0,+%;,'0).,$%01%&1+,*%-1(0'-0%/,0C,,(%0",%+,;1.&'/*,%&1+,*%'(+%'%*#?/.'.4%1;%.#3#+%$).;'-,$<%J"'>0,.%f%+,$-.#/,$%/'-23.1)(+%(,,+,+%01%)$,%56789:%#(%'%"#3"*4>'.'**,*%-1&>)0#(3%,(=#.1(&,(0<%!",%'>>,(+#-,$%>.1=#+,%'++#0#1('*%+,0'#*$%$)-"%'$%0",%;1.?&'0%1;%(1+'*%.,$)*0$%;#*,$%3,(,.'0,+%;1.%)$,%#(%8'0.'(<

!"#$%&"!'$(%")*+,-./0"12-%,

56789:%+1,$%(10%>.1=#+,%;'-#*#0#,$%;1.%)(#0$%-1(=,.$#1($<%P$,.$%'.,%.,I)#.,+%01%$>,-#;4%-1(?$#$0,(0%>"4$#-'*%)(#0$%;1.%'**%I)'(0#0#,$%+,;#(#(3%0",%;#(#0,%,*,&,(0%&1+,*%'(+%*1'+#(3<

Page 23: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--1Chapter 1 Introduction

1.2 Illustrative ProblemThis section describes the nonlinear analysis of a pre-cracked Charpy-V-Notch (CVN) speci-men subjected to impact loading typical of that experienced in a standard, constant velocitytest. Figure 1.1 shows the finite element model, dimensions, boundary conditions and load-ing history. In this example, the 3-Dmodel has one-layer of elements in the thickness direc-tion with plane-strain constraints (w=0) imposed on all nodes. The model has 2008 nodesand 916 elements (8-node bricks with Bmodification). The model was developed and ana-lyzed to support an investigation of crack tip inertia and viscoplastic effects on the near-tipstress fields which drive cleavage fracture in ferritic materials.

The analysis uses the small-strain kinematic formulation with viscoplastic material behav-ior. Rate-dependent properties characteristic of A533B steel at 100oC are specified. Theuniaxial (tensile) inviscid response follows a power-law hardening model (n=10) after yieldat σ0; the viscoplastic response follows a power-law model with an exponent of 35 and a ref-erence strain rate of 1∕s.Displacements imposed at thehammer impact point increase fromzero as indicated in the figure to generate a constant velocity loading of 120 in∕s after anelapsed time of 5 μs. The analysis covers 200 μs duration in 400 steps with a constant timeincrement of 0.5 μs. The remainder of this section describes features of theWARP3D inputto define themodel, loading history, request computations and output, and to compute J-in-tegrals shortly after impact.

Input for the model begins with a structure command and material definitions.

cc example cvn analysis with WARPccstructure cvnccmaterial a533b

properties mises e 30000 nu 0.3 yld_pt 60 n_power 10,ref_eps 1.0 m_power 35.0 rho 7.29275e-07

WARP3D commands are format free and may begin anywhere within the first 20 spaceson the line. One or more blanks separate data items. A ‘c’ in column 1 denotes a commentline and is ignored by the input translator. A comma (,) at the end of a line indicates thatthe input for that command continues on the next line. Completely blank lines are ignoredby the input translators. In the above sequence, we assign a convenient name for the prob-lem (cvn) which appears on all printed output and forms the initial part of some output filenames. We define amaterial named a533b (any convenient id) and the ‘type’ of constitutivemodel asmises. Up to 10 materials may be defined as above for subsequent assignment toelements. User assignable properties for the model are specified as shown, with a keywordlabel followed by a data value. Keywords have easily interpreted names and may be givenin any order. Decimal points are optional and may be omitted if not needed to specify thefractional part of a number. Some keywords specify ‘‘logical” data values; appearance of thekeyword in the input sets the corresponding property value .true. Property rho denotes themass density of the material.

Following the structure id and material definitions, the structure sizes and nodal coor-dinates are specified as illustrated below:

cnumber of nodes 2002number of elements 916

Page 24: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--2Chapter 1 Introduction

∆(t)

0.787 0.2960.197

0.197

22.5o

All dimensions in inches

2002 nodes, 916 elements (8--node w/ B--bar)

Y

X

E= 30,000 ksiν= 0.3σ0= 60 ksi (inviscid)

n= 10 (inviscid power− law hardening)m= 35 (viscoplastic power)Á.ref= 1 in∕in∕s (reference strain rate)

Ã= 7.29275× 10−7 kip− s2∕in

Material Properties

Load

PointDisplacem

ent(in.)

Time (μs)

∆.= 120 in∕s

FIG. 1.1—Pre-cracked Charpy specimen used in illustrative problem.

Page 25: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--3Chapter 1 Introduction

c*echo offcoordinates

1 .100900006E+01 -.196999982E+00 .000000000E+002 .108300006E+01 -.196999982E+00 .000000000E+00

.

.

The model sizes are required to properly allocate space for internal data arrays. The orderof commands to define the sizes is immaterial (a command of the form number of nodes 2002elements 916 applies as well). Nodes and elements must be numbered sequentially andmust not have ‘‘holes” in the numbering. The *echo off suppresses data echo of commandsas read from the current input file. Various * commands may be specified at any point inthe input stream to control the echo, switch to another file for input, etc. Coordinates fornodes are defined in the global X-Y-Z system with the origin located at a convenient loca-tion. Coordinates for nodes may be specified any number of times; the last specified set ofcoordinates are retained for analysis. The coordinates here were translated from a Patranneutral file for the model by the patwarp program and thus have the E format shown.

The ‘incidences’ define the connectivity of each element node to the corresponding struc-ture node.

cincidences

1 5 1 4 8 6 2 3 72 8 4 10 12 7 3 9 113 12 10 14 16 11 9 13 154 16 14 18 20 15 13 17 195 20 18 22 24 19 17 21 236 24 22 26 28 23 21 25 27

.

.

Chapter 3 describes the ordering of nodes on the element and the relationship of elementnodes to the ordering of Gauss points. Elementsmay be entered in any order; the last speci-fied set of incidences for the element applies in the analysis. The input translators performextensive checks on the specified incidences to insure there are no gross errors (e.g., nodeswith no elements attached).

The type of each element and the properties for each element are specified next.

celements

1-916 type l3disop linear bbar material a533b order 2x2x2

In this example, all elements are the 8-node isoparametric (l3disop) with a small-strain ki-nematic formulation (linear). TheBmodifications toprevent locking under plastic deforma-tion are requested (bbar, a logical property). The previously defined material a533b isassociated with these elements and the standard 2×2×2 Gauss integration is requested.Other element properties available invoke various output options. All elements have thesame material and properties in this example. When this is not the case, any number ofsimilar input lines may be defined to specify the properties. The integerlist construction(1-916 above) is convenient and may be used anywhere a list of integers is needed in theinput stream. A more general example of an integerlist is: 1-400 by 2, 800-600 by -2,3000-6000 492 496 ...

Each element in the model must be assigned to a ‘‘block” for computation. Blocking isrequired to support optimum cache memory utilization on modern RISC processors and

Page 26: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--4Chapter 1 Introduction

vector register operations on older CRAY computers. All elements in a block must be thesame type (e.g. l3disop), have the same material, the same type of kinematic formulation,the same values of some element properties (e.g., integration order,B) and must not be con-nected to a common node in themodel. This last restriction does not apply for analyses con-ducted on scalar computers (Unix workstations, W95/W98/NT and current parallel super-computers). The maximum number of elements per block varies with the computerhardware. On Crays, the block size is normally 128 to accommodate vector registers of 128words in length. On workstations, the cache memory size dictates an optimum block size(usually 64--256).

For parallel execution, the blocking concept is extended to include conventional domaindecomposition. There are asmany domains as processors available to perform the analysis.Elements are first assigned to a domain and then all elements in a domain are assignedto blocks as for serial execution. For example, if 8 processors are available to perform theanalysis, there are 8 domains numbered 0-7. The domain number for each block is listedin the blocking input data.

In this example, the block size is 32 ; the block number is specified followed by the num-ber of elements in the block and the first element in the block. For serial execution, allblocks reside in domain 0 and there is no need to specify the domain number. Elements ap-pearing in a block must be sequentially numbered with no holes. The patwarp programwhich converts a Patran neutral file to a WARP3D input file performs automatic blockingof the elements. A red-black algorithm generates blocks with non-conflicting node numberswhen required. patwarp also performs the decomposition of elements in a model into theuser specified number of domains. The input processors in WARP3D perform exhaustivechecks to verify that the rules for blocking assignments are satisfied.

cblocking

1 32 12 32 333 32 657 32 193

.

.28 32 86529 20 897

Nodal constraints in this analysis enforce the plane-strain conditions, the symmetryconditions (u=0) on the crack plane, the v=0 condition at the top, right roller support andthe imposed loading to simulate a constant velocity response. A portion of the constraintinput is shown below. The specified constraints are the incremental displacements imposedover the model during each load (time) step. Constraints may be re-defined as necessarybetween load steps. Whenmodified, all constraints must again be specified. Nodes 499 and503 in this model are the two nodes at the hammer impact point in the thickness direction.The constraints shown here are applied during load steps 1 and 2. Then a new set ofconstraints is defined for application in steps 3, 4with the imposed increments at nodes 499and 503 doubled in value. Similarly, during steps 5, 6 the v increment at nodes 499, 500is 3.0E--05; during steps 7, 8 the v increment at nodes 499, 500 is 4.0E--05; and finally dur-ing steps 9--400 the v increment at nodes 499, 500 is 6.0E--05. The load point velocity (120in∕s) remains constant over steps 9--400 and is simply the imposed displacement increment∕∆t (in this case 6.0E--0∕5.5E--06). The slow increase in load point velocity minimizes spuri-ous oscillations in the response.

Page 27: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--5Chapter 1 Introduction

constraints1 w 0.02 w 0.03 w 0.04 w 0.05 w 0.06 w 0.0

.

.cc

499 v 1.0e-5503 v 1.0e-5

Loads may be applied to the nodes and elements of a model. Element loads, which aredependent on the type of finite element, are converted to equivalent nodal loads by elementprocessing routines. Nodal loads and element loads are grouped together to define loadingpatterns. The loading patterns define the spatial variation and reference amplitudes ofloads on a model. Examples of loading patterns include dead load, an internal pressure,simple bending of a component or specified nodal-element temperatures.

A nonlinear loading condition is declared using previously defined patterns. The termdynamic may be used as a synonym for nonlinear if desired. A nonlinear/dynamic loadingconsists of a sequential number of load steps. An incremental-iterative solution is obtainedfor each load step. For dynamic analyses, a load step is the same as a time step. Each loadstep may consist of loading patterns combined with scalar multipliers. The scaled valuesof nodal forces (nodal loads and resulting equivalent nodal loads) for the patterns are ap-plied as the new incremental load to the model during the step. Loading commands for thisexample are shown below.

cloading null

nodal loads401 force_y 0

cloading disp_ctrldynamic

step 1-2 null 1.0step 3-4 null 2.0step 5-6 null 3.0step 7-8 null 4.0step 9-400 null 6.0

c

In this analysis of the CVN specimen, no real ‘‘loadings” are needed since the model isloaded by enforced displacements. Nevertheless, a ‘‘dummy” loading pattern must be de-fined to satisfy the syntax requirements for the dynamic loading. Here, the dummy loadingis assigned the id ‘‘null.” The dynamic loading is assigned the id ‘‘disp_ctrl.” All 400 stepsare defined above although this is not required; additional steps may be defined later dur-ing the analysis. The scalar multipliers assigned to the pattern (1.0, 2.0, 3.0, 4.0, 6.0) aboverefer to the relative change in themagnitude of displacement increments. For displacementcontrol loading, thesemultipliers come into use during extrapolation of displacements fromstep n to n+1 for accelerating convergence of the Newton iterations.

Theusermay specify values for a number of nonlinear/dynamic parameters that controlthe solution procedures In this example, we specify

Page 28: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide —WARP3D Illustrative Problem

1.2--6Chapter 1 Introduction

cdynamic analysis parameterssolution technique direct sparsemaximum iterations 5convergence test norm residual tol 0.0005nonconvergent solution stoptime step 0.5e-6extrapolate onadaptive solution onmaterial messages offbatch messages on

c

A few keywords describing the option are given followed by a required value(s). Some pa-rameters have numerical values while others have on, off values and others just end witha keyword. Most parameters have suitable default values. A brief explanation of each pa-rameter specified above follows:

D The linear equation solver is specifiedasdirect sparse—an in-memorydirect solver thatem-ploys sparse matrix technology to reorder the equations for very efficient decomposition.This solver is efficient for 2-D typemodels, such as this example, and formoderate size 3-Dmodels. The primary equation solver for large 3-D models uses the linear, preconditionedconjugate gradient algorithm and is requested by the option lpcg rather than direct.

D The maximum number of Newton iterations to eliminate residual forces in each step is setto 5.

D The Newton convergence test specifies a tolerance of 0.05% on the Euclidean norm of theresidual forces relative to the Euclidean norm of the current (total) load vector. Solutionsthat fail to converge cause termination of the analysis unless the default stop value for thenonconvergent solutions is changed to continue.

D The time step is 5 ms for use in Newmark’s Cmethod to integrate the dynamic equilibriumequations.

D extrapolate on invokes a nonlinear solution option which imposes the scaled displacementincrement computed for step n on the model to start the solution for step n+1. This optiongreatly accelerates the convergence of Newton iterations for displacement controlled load-ing.

D Thenonlinearadaptivestrategy isrequested; loadstepsareautomaticallysub-incrementedand re-solved when the specified limit on the number of Newton iterations is reachedwith-out convergence. Two levels of adaptivity are availablewhich subdivide, atmost, a user spe-cified step into 16 sub-steps. Adaptive solutions that do not converge are terminated anda restart file written.

D Materialmodels (bydefault) issuemessageswhichnotifyof firstyielding, reversedyielding,and other state changes. These messages are suppressed with material messages off.

D This analysis is executed in ‘‘batch” mode (&) on a workstation. The batch messages on pa-rameter requests thatWARP3Dwrite asolution status toa file followingeachNewton itera-tion. This file is named <structure id>.batch_messages. These files provide informa-tionabout convergenceof the solution.TheUnix tail command is convenient to examine thisfile during computations.

The model, loading history and solution parameters are now defined. Commands to re-quest an analysis and output of results are given. For the first 10 load steps the commandsare:

ccompute displacements for loading disp_ctrl for step 1 2

*echo off*input from ’forty’

Page 29: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--7Chapter 1 Introduction

*echo onc

compute displacements for loading disp_ctrl for step 3 4cecho off

*input from ’sixty’*echo onc

compute displacements for loading disp_ctrl for step 5 6c*echo off*input from ’eighty’*echo onc

compute displacements for loading disp_ctrl for step 7 8c*echo off*input from ’one-twenty’*echo onccompute displacements for loading disp_ctrl for step 9 10

csave to file ’cvn_step_10’

coutput displacements node 798output velocity node 798output wide eformat strains elements 20-40output wide eformat stresses elements 20-40output accelerations for elements 100-200 by 2output reactions 109,110output reactions 499,503output patran binary displ stress strains velocity accelerations

*input from ’domain_define’stop

Here, we request computation of results for load steps 1--2 and then switch the input streamto a file named forty. This file contains an entire new set of constraints for the model (theincremental displacements imposed on nodes 499, 503 are increased to 2.0e--5 from1.0e--5). The first few and last few lines of the file forty are

constraints1 w 0.02 w 0.03 w 0.0

..

2002 w 0.0c

499 v 2.0e-5503 v 2.0e-5

The * commands turn off the data echo while the new constraints are being read and thenresume the data echo (this is just for convenience and may be omitted). The *input com-mand specifies the file name for input. We could just as easily have placed the contents offile forty in the current input file. TheWARP3D input processors sense when the end-of-filecondition on forty occurs and automatically resume reading from the previous inputstream. This sequence of commands is repeated to continue the analysis through load step10, and in the process ramp the imposed load point velocity to 120 in∕s.

Page 30: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--8Chapter 1 Introduction

Following completion of the analysis for load step 10, we issue a save to file ... commandwhich forces creation of an analysis restart file (sequential, binary) named cvn_step_10.The choice of file name resides with the user. This file enables resumption of the analysisat load step 11 in a future program execution (as illustrated subsequently).

Several output commands are defined to request printing (to the current output device)of nodal and element values (displacements, velocities, accelerations, strains, stresses).These results are displayed in tabular form with appropriate page and column headers.The reactions are reactions at constrained nodal dof. The output patran ... command re-quests creation of binary (ascii is optional) files of nodal values written in the required for-mat for direct post-processing by Patran. These files have the names pbd#####, for exam-ple, where pbd denotes ‘patran binary displacements’ and ##### indicates the load stepnumber. Appendix A defines the format of Patran results files created by WARP3D.

Finally, an *input command is specified to read more input from the file domain_define.This file contains the input commands

cdomain onesymmetricfront nodes 1975 1977 linearnormal plane nx 1 ny 0 nz 0q-values automatic rings 31-35print totalsfunction type d

compute domain integralc

We define one ‘‘domain” for J-integral computation using the results for load step 10.Adomain is defined by specifying an ‘‘id” (one in this example for output headers), the nodesin the domain along the crack front, the q-function interpolation order along the front, theorientation of the crack plane relative to the global coordinate system, the number andtypes of ‘‘rings” for J-evaluation and output options. The rings 31-35 option requests thatthe first J-value be computed using elements in the31st ring of elements enclosing the crackfront. J-values are then computed over rings 32-35. Values for each ring are printed andstatistics shown to assess the path (domain) independence of the values. The symmetric pa-rameter causes the code to double J-values prior to printing.

In this (effectively) 2-D model, we request computation of a ‘‘through-thickness” aver-age J-value by specifying function type d. In general 3-D models, we specify the sequencedomain ... compute domain integral at each point on the crack front where J-values are re-quired. WARP3D automatically determines that the analysis is dynamic and includes theinertia terms in J and crack face loadings if they are present as well.

The input file ends with a stop command which terminates program execution. Restartfiles must be explicitly requested with the ‘‘save” command.

To restart the analysis at load step 11 in a new execution of the program, the input filefor this example begins with the commands

crestart from file ’cvn_step_10’

coutput displacements 100-200

cdynamic analysis parameters

Y

Z

Node1975 Node

1977

Page 31: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Illustrative Problem

1.2--9Chapter 1 Introduction

maximum iterations 4convergence test norm residual tol 0.001material messages onbatch messages off

ccompute displacements for loading disp_ctrl for step 11-20save to file ’cvn_step_20’

coutput displacements node 798output velocity node 798output wide eformat strains elements ...

.

.

.

The restart commandmust be the first non-comment line in the restart file. WARP3D readsthis file to restore all internal variables to their values at completion of load step 10. Anoth-er output command requests more results for step 10 and then several analysis parametersare modified. The analysis for steps 11-20 is requested and the computations are finished,another restart file is created, output commands to print results at step 20 issued, etc.

Page 32: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Manual Conventions

1.3 Manual Conventions

The input translators for WARP3D provide a convenient, free-form command structure tosimplify specification of model and solution parameters. This section describes the conventionsand notation employed throughout the manual to explain commands. The appearance withina 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 theclass 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 thatthe statement entered as input data should be of the form

number of nodes 68970

The following are definitions of the most common descriptors used within the language. Thosenot described below are explained when they first 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 decimalpoint followed by an exponential indicating a power of 10. Real numbers maybe 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 analternate name for this descriptor.

<label> is a series of letters and digits. The sequence must begin with a letter. Inputtranslators also accept the character underbar, , as a valid letter. Labels mayhave the form big cylinder, for example, to give the appearance of multiplewords for readability.

<string> is any textual information enclosed in apostrophes (’) or quotes (”). An exampleis ’this is a string’.

<list> sometimes termed <integer list> is the notation used to indicate a sequenceof positive integer values – usually nodes or element numbers. Lists generallycontain two forms of data that may be intermixed with the same list. The firstform of data is a series of integers optionally separated by commas. An exampleis 1, 3, 6, 10, 12. The second common form of a list implies a consecutivesequence of integers and consists of two integers separated by a hyphen. Anexample is 1-10, which implies all integers in the sequence 1 through 10. Anextension 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

Page 33: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 wordsor phrases in these commands are optional and are permitted for readability or to specify optionswith a command. In the definition of each command, underlined words are required for properoperation of the input translators. If a portion of a word is underlined, only the underlinedportion is required input. Items such as <integer> shown in the command definitions are notunderlined but must always be replaced by an item of the specified class. For example, thecommand phrase defined 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 definition and enclosed in . Thecommand definition

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 maybe repeated and/or multiple phrases may be combined on one data line. This is indicated inthe command definition by enclosing the repeatable entries within brackets, [ ]. The command

< integer >

2

4

8<

:

x

y

z

9=

;< number > (, )

3

5

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 definitions, actual data items (those denotedwith < > in the definition) are sometimes described in terms of their physical meaning and

Chapter 1 (Updated: 1-3-2012) 1.3-2 Introduction

Page 34: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Manual Conventions

followed by the type or class of data item which can be used in the command. For example thecommand,

structure < name of structure : label >

implies that the data item following the word structure is the name of the structure and musta 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 definition provide anoften convenient approach to manage otherwise repetitive input of long lists of integers. Thelist 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 alogical 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 withthe three forms: (a) a # in column 1, (b) an ! in column 1, or (c) the letter “c” or “C” appearingin column 1 of the data line followed by one or more blanks marks it as a comment line. Theline is read and (possibly) echoed by the input translator. The content is ignored and the nextdata line read.

Blank lines may appear at any point in the input for readability. The input translatorsignore blank lines.

Chapter 1 (Updated: 1-3-2012) 1.3-3 Introduction

Page 35: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Manual Conventions

Line Termination

Line termination is accomplished in one of three ways. First, the last column examinedby the input translators is column 72. Secondly, after encountering the first data item on acard, the translators count blanks between data items. If 40 successive blanks are found, theremainder of the line is assumed blank. Finally, a $ indicates an end of line. Space followingthe $ is ignored by the input translators and is often used to include short comments.

Chapter 1 (Updated: 1-3-2012) 1.3-4 Introduction

Page 36: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Equations of Motion

1.4–1Chapter 1 Introduction

!"# $%&'(&)*+ ,-.*/(%&0 %1 2%/(%&

!"# $%&'(%'&# )(('*+#$ %"# (),-+.'&/%+), !0 /% %+1# ! 2 0 /,3 #4)54#$ %"&)'." %+1# %) %"#3#-)&1#3 (),-+.'&/%+), ! /% %+1# !6 7, %"# !0 (),-+.'&/%+),8 %"# $%&'(%'&# +$ ',3#-)&1#3/,3/% &#$%6 7, &#/("+,. %"# 3#-)&1#3 (),-+.'&/%+),8 %"# $%&'(%'&#1/93+$*5/(# +, /,91/,:,#&8 +,(5'3+,. $+1*5# &+.+3 ;)39 %&/,$5/%+), )& &)%/%+), +, %"# /;$#,(# )- %&'# 3#-)&1/%+),6!"+$ $+%'/%+), +$ +55'$%&/%#3 +, <+.6 =6>6 !"# *)$+%+), 4#(%)& " +3#,%+-+#$ / *)+,% +, %"# ',3#:-)&1#3 (),-+.'&/%+), /,3 # 3#,)%#$ %"# *)$+%+), 4#(%)& )- %"# $/1# *)+,% +, %"# 3#-)&1#3?('&&#,%@ (),-+.'&/%+),6 !"# 4#(%)& $ +$ %"# 3+$*5/(#1#,% 4#(%)& %"/% %/A#$ %"# *)+,% -&)1%"# +,+%+/5 %) %"# 3#-)&1#3 (),-+.'&/%+),6 !"# ())&3+,/%#$ )- %"# $%&'(%'&# +, %"# &#-#&#,(#(),-+.'&/%+), &#*&#$#,% %"# .#)1#%&9 +,%#&*)5/%#3 -&)1 %"# */&/1#%&+( ())&3+,/%#$ +, %"#+$)*/&/1#%&+( -)&1'5/%+),6 !"# ,),5+,#/& +1*5#1#,%/%+), )- %"# -+,+%# #5#1#,% 1#%")3 +,BCDEF #1*5)9$ / (),%+,')'$59 '*3/%#3 -)&1'5/%+), ,/%'&/559 $'+%#3 -)& $)5+3$G+%" ),59%&/,$5/%+),/5 3)- /% %"# ,)3#$6 !"# #H*&#$$+), )- 4+&%'/5 G)&A 3#-+,+,. #I'+5+;&+'1 /,3 %"##I'/%+),$ )- 1)%+), /&# 3#-+,#3 /,3 $)54#3 ), %"# ('&&#,%8 !8 (),-+.'&/%+),6 !"&)'.")'%%"# 3#-)&1/%+), "+$%)&9 )- %"# $%&'(%'&#8 %"+$ (")+(# )- &#-#&#,(# (),-+.'&/%+), &#1/+,$ +,#--#(%6

!$

"

#

initial (undeformed) configuration

deformed configuration

<7J6 =6>K"#$%&%!%'& '$ %&%!%() (&* +,--#&! .*#$'-/#*0 +'&$%1,-(!%'&23 45,(!%'&2

'$ /'!%'& (-# 6-%!!#& '& !7# *#$'-/#* +'&$%1,-(!%'&3

!0

8L8889

:L8:8;

<L8<8=

7, %"# &#1/+,3#& )- %"+$ $#(%+),8 %"# #I'/%+),$ )- 1)%+), /&# 3#&+4#36 #%")3$ -)&$)5'%+), )- %"# &#$'5%+,.,),5+,#/& /5.#;&/+( #I'/%+),$ /&# 3#$(&+;#3 +, $';$#I'#,% $#(%+),$/,3 -)55)G#3 ;9 3#$(&+*%+),$ )- %"# $*#(+-+( -+,+%# #5#1#,% -)&1'5/%+),$ /,3 %"# /3)*%#3 -)&:1'5/%+), %) 1)3#5 -+,+%# $%&/+,$ /,3 &)%/%+),$6

!"# G#/A -)&1'5/%+), )- 1)1#,%'1 ;/5/,(# #I'/%+),$ ?4+&%'/5 G)&A@ #H*&#$$#3 +,%"# ('&&#,% (),-+.'&/%+), +$ .+4#, ;9

!>

!!?"M*> "!

>

!$?%M*>"#/

%$=

!$?%&

%$ 0 ?=6=@

Page 37: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DEquations of Motion

1.4–2 Chapter 1Introduction

!"#$#! %#&'(#) ("# *+$$#&( ,'-+.# !!/&% "/$# ("# ,0$(+/- $/(# '1 %#1'$./(0'& ,#*('$ /&%("# 2/+*"3 )($#)) ,#*('$ ! 0) ("# 4'%3 1'$*# ,#*('$ 5#$ +&0( ,'-+.# 0& ("# %#1'$.#% *'&106+7$/(0'& /&% #/*" "

"0) / 8!9 ,#*('$ '1 #:(#$&/- 1'$*#) /*(0&6 /( # %0)*$#(# 5'0&() )## ;/-7

,#$& <=>? ;/$)%#& /&% @+6"#) <AB? C D# +)# A!9 ,#*('$ 1'$.) '1 ("# )3..#($0* (#&)'$)1'$ !! /&% "C E"# '5#$/('$ ! %#&'(#) / )./-- /$40($/$3 ,0$(+/- ,/$0/(0'&C E"# ,0$(+/- $/(#'1 %#1'$./(0'& (#&)'$ /&% ("# 2/+*"3 )($#)) (#&)'$ 1'$. / !'$F *'&G+6/(# 5/0$ !"#& %#710&#% '& ("# *+$$#&( *'&106+$/(0'&C

H:(#$&/- 1'$*# ,#*('$) $#./0& *'&)(/&( 0&./6&0(+%# /&%%0$#*(0'& ',#$ / -'/% )(#5C E"#&'%/- 1'$*#) "

"./3 *'.5$0)# %0$#*(-3 /55-0#% &'%/- 1'$*#) /&% ("# !'$F #I+0,/-#&( &'%/-

1'$*#) %+# (' )5#*010#% )+$1/*# ($/*(0'&) /55-0#% '& #-#.#&( 1/*#) /&% '("#$ 4'%3 1'$*#) #C6C)#-1J!#06"(C K&#$(0/- L M-#.4#$( 1'$*#) /$0)0&6 1$'. /**#-#$/(0'&) /$# 60,#& 43

! " # "#!!

9CN

!"#$# # 0) ("#./)) %#&)0(3 0& ("# %#1'$.#% *'&106+$/(0'&C O3 0&*-+%0&6 /**#-#$/(0'& 1'$*#)0& ! /&% 4'%3 1'$*#) %+# (' )#-1J!#06"( 0& "

" HIC 9C9 4#*'.#)

$!

!!$"%!%$

!

!#$"#!!

%! #&#

""9

!#$""

"" BPC 9C8

Q'--'!0&6 )(/&%/$%5$'*#%+$#) 2''F #(C /- <9A? @+6"#) <RR? HIC 9C8 ($/&)1'$.) 1$'./ 5+$#-3 *'&(0&++. 1'$. (' /& #I+0,/-#&( 10&0(# #-#.#&( 1'$. /) 60,#& 4#-'! 4#60&&0&6!0(" 0&(#6$/(0'&) ',#$ #/*" #-#.#&( (' %#10&# ("# ,'-+.# 0&(#6$/- ',#$ ("# )($+*(+$#

&&'('#

)"9

$!)

'

!!$"%!' % &

&'('#

)"9

$!)

'

!#$"#!!

%!' #&#

""9

!#$""

"" B 9CR

&&'('#

)"9

S!$$' %'S )

% &&'('#

)"9

S!$$' &'$

!!

'S )#&

#

""9

!#$""

"" B 9C=

!$$'& %' %'&&'($!! # '( " B 9CA

!"#$#$ 0) ("# 6-'4/- &'%/- %0)5-/*#.#&( ,#*('$ $' 0) /& #-#.#&(&'%/- %0)5-/*#.#&( ,#*('$%' 0) /& #-#.#&( 0&(#$&/- 1'$*# ,#*('$ &' 0) /& #-#.#&( ./)) ./($0: /&% ' 0) ("# 6-'4/-#:(#$&/- 1'$*# ,#*('$C T+4)#I+#&( )#*(0'&) '+(-0&# 5$'*#%+$#) (' *'.5+(# ("# #-#.#&( 0&(#$7&/- 1'$*# ,#*('$ /&% ("# #-#.#&( ./)) ./($0: /) !#-- /) ("# #-#.#&( (/&6#&( )(011&#)) ./7($0:C E"# )+../(0'&) 0&HIC 9CA %#&'(# ("# 6-'4/- /))#.4-3 5$'*#))C T0&*# ("# !$ /$# /$407($/$3 0& &/(+$#

& %' %'&&'($!! # ' " BPC 9CU

M1(#$ 5#$1'$.0&6 ("# /))#.4-3 5$'*#))#) 0.5-0#% 43 ("# ! 0& HIC 9CU ("# 6-'4/- #I+/(0'&'1 .'(0'&) 4#*'.#

%% &$!!" 'PC 9CV

E"# ,#*('$) "/,# )0W# 8!# !"#$# # %#&'(#) ("# &+.4#$ '1 )($+*(+$# &'%#)C X'&-0&#/$0(30& % /$0)#) 1$'. ("# #-#.#&( 0&(#$&/- 1'$*# ,#*('$) 6#'.#($0* /&%Y'$ ./(#$0/- #11#*() !"0-#'4#*'.#&'&-0&#/$!"#& ($/*(0'&) /55-0#% (' #-#.#&( 1/*#) "/,# *'&)(/&( '$0#&(/(0'& $#-/7(0,# (' ("# %#1'$.#% 1/*# #C6C 5$#))+$# -'/%) C

Page 38: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Dynamic Analysis

1.5–1Chapter 1 Introduction

!"# $%&'()* +&',%-)-. /01('23 ! 405678

!"#$%&'() &*+$,%(+&-* -. +/$ $0"(+&-*1 -. #-+&-* &*234567 &1 8$%.-%#$9 "1&*, (#$+/-9(++%&:"+$9 +- !$;#(%< =>?@ A/&1 (88%-('/ $#8)-B1 ( +;- 8(%(#$+$% .(#&)B -. $0"(+&-*1+/(+ 9$.&*$ +/$ 9&18)('$#$*+ C$)-'&+B (*9 (''$)$%(+&-* (+ +&#$ !"D? &* +$%#1 -. +/$ 9&18)('$E#$*+ &*'%$#$*+ .%-# !" +- !"D? (*9 +/$ <&*$#(+&' 1+(+$ (+ +&#$ !" A/$1$ $0"(+&-*1 9$%&C$.%-# 1"''$11&C$ (88)&'(+&-* -. +/$ $F+$*9$9 #$(* C()"$ +/$-%$# -. 9&..$%$*+&() '()'")"1 G-*1&9$% .&%1+ +/$ C$)-'&+&$1 (+ +&#$ !" (*9 !"D? H1$ -. +/$ $F+$*9$9 #$(* C()"$ +/$-%$#.-% +/$ .&%1+ 9$%&C(+&C$ )$(91 +- +/$ $0"(+&-*

!"

"!? " !"

" !!!I!""

!IJ !""

!I#I =I!""

"I I!""

"!?I@K L? MN

H1&*, +/$ %$)(+&-*1/&8

!""

! " L?$ !N!""

" ! !!""

"!?IJ OI%I !I%I ? L? ?ON

P0 L? MN '(* :$ %$;%&++$* (1

!"

"!? " !"

" ! L?$ !N!!!""

" ! !!!!""

"!?K L? ??N

P0"(+&-* L? ??N 8%-C&9$1 (* $F('+ %$1")+ .-% ( ,&C$* +&#$ &*+$%C() &. +/$ 8(%(#$+$% " '(* :$'/-1$* '-%%$'+)B PC$* 1- +/$ '-*1+(*+ (''$)$%(+&-* !

""

! "8-* &*+$,%(+&-* -. P0 L? MN 9-$1*-+ *$'$11(%&)B 8%-9"'$ +/$ '-%%$'+ 9&18)('$#$*+ (+ +&#$ !"D? &* +$%#1 -. +/$ 9&18)('$#$*+(*9 C$)-'&+B (+ +&#$ !" 3''-%9&*,)B +/$ $F+$*9$9#$(* C()"$ +/$-%$# .-% +/$ 1$'-*9 9$%&CE(+&C$ &1 &*C-<$9 +- B&$)9

!"!? " !" !!!!"

" !!!Q

Q!""

"IJ !""

"I#I =I!""

"I I!""

"!?I@K L? ?QN

3,(&* ( %$)(+&-*1/&8 /(C&*, +/$ .-%#

!""

" " L?$ Q"N!""

" ! Q"!""

"!?IJ OI%I Q"I%I ? L? ?6N

&1 $#8)-B$9 +- %$'(1+ P0 L? ?QN (1

!"!? " !" !!!!"

" !L?$ Q"N

Q!!Q!

""

" ! "!!Q!""

"!?K L? ?RN

P0"(+&-* L? ?RN ()1- 8%-C&9$1 (* $F('+ .-% ( ,&C$* +&#$ &*+$%C() (1 )-*, (1 +/$ '/-&'$ -.+/$ 8(%(#$+$% " 8%-C$1 +- :$ '-%%$'+ S. '-"%1$ &* ,$*$%() &+ &1 &#8-11&:)$ +- '/--1$ $&+/$%! -% " '-%%$'+)B ;&+/-"+ <*-;&*, +/$ 1-)"+&-* &* (9C(*'$ 1- +/(+ +/$ (88%-F&#(+&-* &* +/$!$;#(%< #$+/-9 )&$1 &* +/$ '/-&'$ -. ! (*9 " !$;#(%< 1/-;$9 +/(+ +- (C-&9 18"%&-"19(#8&*, &* )&*$(% 1B1+$#1 +/$ 8(%(#$+$% ! 1/-")9 $0"() ?&Q A/$ 8$%+&*$*+ $0"(+&-*1 -.+/$ !$;#(%< #$+/-9 +/$* :$'-#$

!"

"!? " !"

" !!!

QL!

""

" ! !""

"!?N L? ?TN

!"!? " !" !!!!"

" !L?$ Q"N

Q!!Q!

""

" ! "!!Q!""

"!? L? ?UN

3 ;&9$ C(%&$+B -. C()"$1 .-% +/$ 8(%(#$+$% " (%$ 8-11&:)$ V-% &*1+(*'$ 1$++&*, " $0"()+- W$%- )$(91 +- +/$ 1$'-*9 '$*+%() 9&..$%$*'$#$+/-9 3 '/-&'$ -. " " ?&U 9$.&*$1 +/$ )&*$(%(''$)$%(+&-* #$+/-9 ;/$%$&* +/$ (''$)$%(+&-* &1 (11"#$9 +- C(%B )&*$(%)B -C$% +/$ +&#$&*'%$#$*+ A/$ '/-&'$ -. " " ?&R 8%-9"'$1 +/$ '-*1+(*+ (C$%(,$ (''$)$%(+&-* #$+/-9!$;#(%<9$#-*1+%(+$9 +/(+ " " ?&R%$*9$%1 +/$#$+/-9"*'-*9&+&-*())B 1+(:)$ .-% )&*$(%8%-:)$#1J -+/$% '/-&'$1 #"1+ 1(+&1.B ( +&#$ 1+$8 '-*1+%(&*+ +- #(&*+(&* 1+(:&)&+B +/%-",/E

Page 39: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DDynamic Analysis

1.5–2 Chapter 1Introduction

!"# #$% &!'"#(!)* +!,-.#%,(.''/ )!)'()%., 0,!1'%-& 23$!%1%,'% .)4 5%'/#&3$6! 789: %&#.1;'(&$%4 #$.# #$% "&% !< !! 9"= '%.4& #! ")3!)4(#(!).' &#.1('(#/ >$%) )!)'()%., %?"('(1,("-(#%,.#(!)& @A%>#!)B .,% 0%,<!,-%4 #! &.#(&</ .) %)%,C/ 3!)D%,C%)3% 3,(#%,(!) .)4 <!, )!);'()%., %'.&#(3 0,!1'%-& E"C$%& 7FG: <!")4-"3$ #$% &.-% &(#".#(!)* H)IJKLFM !! 9"=(& #$% 4%<."'# D.'"% .'#$!"C$ "&%,& 3.) -!4(</ #$(& D.'"%*

N&% !< #$% A%>-.,6 -%#$!4 '%.4& #! .) (-0'(3(# 4/).-(3 <!,-"'.#(!) () #$.# #$% &!'";#(!) !< . )!)#,(D(.' &/&#%- !< %?".#(!)& (& ,%?"(,%4 #! 3!-0"#% . 4(&0'.3%-%)# ()3,%-%)#*J&&"-()C #$.# ! 4!%& )!# %?".' O%,! P?&* @9*9Q 9*9RB .,% -.)(0"'.#%4 #! #$% <!,-

!!"#9 ! !"#9$ !" @9*9SB

!!

"#9 !9

T!!!!!"#9$

@9$ T!B

T!!!

" $@9$ =!B

=!!!!

!!

" @9*98B

!!!

"#9 !9

!!!T!!"#9$

9!!!

!!

" $@9$ T!B

T!!!!

" @9*9GB

P?".#(!)& @9*9SU9*9GB .,% &"1&#(#"#%4 ()#! #$% %?".#(!)& !< -!#(!) .)4 ()#! #$% 3$!&%) (#;%,.#(D% )!)'()%., &!'"#(!) .'C!,(#$-* V$% #!#.' 4(&0'.3%-%)# ()3,%-%)# <!, #$% 3",,%)##(-% &#%0 (& 3!-0"#%4 !!"#9 .)4 #$.# ()3,%-%)# (& 1.36 &"1&#(#"#%4 ()#! P?&* @9*9SU9*9GB#! 4%<()% #$% D%'!3(#/ .)4 .33%'%,.#(!) <!, #$% 3",,%)# %&#(-.#% !< #$% &!'"#(!) .# #(-% !"W9*

Page 40: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Netwon’s Method

1.6–1Chapter 1 Introduction

1.6 Solution of Nonlinear Equations: Newton’s 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, andu is the nodal displacement vector. The residual defines the out!of!balance force vectorthat arises from nonlinear effects in I and (possibly) P computed for t he current estimateof the nodal displacements, u. An iterative solution designed to drive the residual to zerois desired. Newton’s 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 stepis constant), is given by

dR ! dP " dI " Mdu..#. (1.22)

The external loads remain constant in direction and magnitude over a load (time) step andthus dP=0 (see discussion below for deformation dependent loads). By using Eq. (1.19) todefine the differential acceleration in terms of Newmark’s method and by introducing thestructure tangent stiffness, we have

Mdu..! 1

!!t2Mdu#, (1.23)

dI ! KT $du#. (1.24)

where KT denotes the tangent stiffness matrix for the structure. Equation (1.22) can thenbe written in the form

dR ! " KdT $du (1.25)

where

KdT ! KT # 1

!!t2M (1.26)

defines the dynamic tangent stiffness. The use of dR from Eq. (1.25) in Eq. (1.21) yields

R(u) ! R(u~) " KdT $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:

KdT ! "$R

$u# . (1.28)

Setting Eq. (1.27) to zero and rearranging defines

KdT $du ! R(u~) (1.29)

Page 41: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNetwon’s Method

1.6–2 Chapter 1Introduction

% Pn#1 %

% Pn %

% Rn %

% Rn#1 %

% In %%!

% In#1 %% I2n#1 %

% I1n#1 %

% un % % u3n#1 %% u1

n#1 % % u2n#1 %

% u %

% P %

% R1n#1 %

% R2n#1 %

% R0n#1 %

% I0n#1 %

FIG. 1.3&Illustration of Newton’s method for a static analysis

For finite sized increments, the approximate form of Eq. (1.29) becomes

KdT $"ui

n#1 ! Ri"1n#1 (1.30)

where "uin#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 Ri"1n#1 denotes the residual

load after the previous iteration. This residual is defined as

Ri"1n#1 ! Pn#1 " Ii"1

n#1 " Mu.. i"1

n#1 (1.31)

or, after substitution of Eqs. (1.17!1.19), alternatively as

Ri"1n#1 ! Pd

n#1 " Ii"1n#1 "

1!!t2

M!ui"1n#1 (1.32)

where Pdn#1 is the applied load vector at time tn+1 modified by terms associated with Eqs.

(1.17!1.19):

Pdn#1 ! Pn#1 #

1!!t

Mu.

n #(1 " 2!)

2!Mu

..

n#. (1.33)

Page 42: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Netwon’s Method

1.6–3Chapter 1 Introduction

The total change in displacement over the load step, through the current Newton iterationi for the step, is obtained from the summed corrective displacement vectors for the currentstep, i.e.,

!uin#1 ! &

i

k!1

"ukn#1 (1.34)

with the updated estimate for the total displacements at step n+1 through iteration i is giv"en by

uin#1 ! un #!ui

n#1#. (1.35)

The combination of Eqs. (1.30) and (1.32) defines the key equation driving the iterativesolution associated with the Newton method:

KdT $"ui

n#1 ! Pdn#1 " Ii"1

n#1 "1

!!t2M!ui"1

n#1 (1.36)

WARP3D employs a full Newton scheme in which the tangent stiffness, KdT, 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 computedusing 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) % "uin#1 %%' "1 % "u1

n#1 % (1.37)

2) % Rin#1 %%' "2 % Pn#1 % (1.38)

3) max(%|("uin#1)k|,% k ! 1, Neq%)% ' "3 % "u1

n#1 % (1.39)

4) max((Rin#1)k|, k ! 1, Neq)% ' "4 *% q (1.40)

Tests (2) and (4) include the current reactions for constrained degrees of freedom in the totalapplied load P. q denotes an average force (internal, inertial, reactions, etc.) applied tonodes of the model (defined in section on input for convergence parameters). This makespossible 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 limitpoints or to otherwise improve performance in such situations, e.g., Riks method and linesearches.

Imposed Displacements and Temperatures

Non"zero imposed displacement increments and imposed temperature increments enterthe equation solving process in the following manner. First, Eq. (1.33) is rewritten in thefollowing form

Pdn#1 ! Pn #!P # 1

!!tMu

.

n #(1 " 2!)

2!Mu

..

n (1.41)

Page 43: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNetwon’s Method

1.6–4 Chapter 1Introduction

where !P denotes the specified increments of nodal forces over n+n#1 and the incrementof 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 R0, is then defined by

R0 ! Pdn#1 " I0 #

1!!t

M!u (1.42)

where !u contains the specified, non"zero displacement increments and (optionally) the ex"trapolated displacements from the previous load step.

The internal force vector, I0, for this computation derives from the nodal displacements !uand the imposed temperature increments as follows:

I0 ! &#elem

j!1

,Vj

e

"!T"0$dVe (1.43)

where the stress field "0 is obtained through the operations

!!0 ! B!u "!!th (1.44)

"0 ! "n # !("n,!!0,---)#. (1.45)

In the above, B denotes the incremental strain"displacement operator with !!th the speci"fied thermal strain increment for the step. Here, ! defines the constitutive operator whichupdates the stresses for a specified strain increment. The operators B and ! reflect the spe"cific element formulation, finite strains"rotations if required and the appropriate materialconsitutive model.

The incremental load vector defined in this manner (R0) is then used in Eq. (1.30) to com"pute the first estimate for the displacement increment which advances the solution fromn+n#1,

KdT $"u1

n#1 ! R0#. (1.46)

Deformation Dependent Applied Element Loads

In large"displacement analyses, the equivalent nodal forces computed from the tractionsand 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 leadsto a non"symmetric tangent stiffness matrix for the model, i.e., the so"called loading stiff"ness has a non"symmetric 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 fixedglobal direction that acts on an element face (pressure loads are decomposed into three suchcases). The equivalent nodal forces derive from a simple virtual work argument as follows.

tn#1

! the applied traction vector at a point (x,!y,!z) on an element face at n+1 with components (tx,$ ty,$tz) expressed in fixed, global coordinates

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

Page 44: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Netwon’s Method

1.6–5Chapter 1 Introduction

The virtual work done by the applied traction acting on the deformed configuration of asingle element face (S) at n+1 is given by

"W ! ,Sn#1

tn#1(x, y, z) $"u(x, y, z) $dS (1.47)

where "u denotes the work"conjugate virtual displacement corresponding to one of thethree 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 facenodes using the same functions. We can write Eq. (1.47) in finite element form as

tn#1(x, y, z) ! [N]1*nfn

.tn#1/nfn*1

(where nfn !the number of face nodes) (1.48)

"u(x, y, z) ! [N]1*nfn

"unfn*1 (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

"W ! ,Sn#1

."un#1/T[N]T0N 1.tn#1/dS , (1.50)

"W ! ."un#1/T ,

Sn#1

[N]T0N1$ds%.tn#1/ , (1.51)

"W ! ."un#1/T0Qn#11 $.tn#1/ , (1.52)

"W ! ."un#1/T.Pn#1/ , (1.53)

We see that the equivalent nodal forces on the face, .P/, at n+1 are given by

.Pn#1/nfn*1

! 0Qn#11.tn#1/ . (1.54)

In a large"displacement analysis, the matrix [Q] becomes a function of the nodal displace"ments since the face area varies with loading. For small"displacement analyses, [Q] re"mains invariant with respect to loading. The above description applies for a traction withconstant 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 currentpressure intensity). Repeated application of Eq. (1.54) for each component (X, Y, Z) yieldsthe equivalent nodal loads

The numerical evaluation of [Q] employs standard isoparametric procedures to inte"grate over the element face

0Qn#11 ! ,1

"1

,1

"1

$[N]T0N1$|J|n#1%d#$d$ . (1.55)

Page 45: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNetwon’s Method

1.6–6 Chapter 1Introduction

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 pressuremagnitudes 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 evaluatesthe approximate equivalent nodal forces at n+1 using

.Pn#1/nfn*1

! 0Qn1.tn#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

.!Pel/ ! .Pn#1

el /" .Pnel/ . (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 elementfaces due to deformation appear more strongly influenced by load step size than rotationeffects caused by the loading. The user is advised to investigate the effects of this approxi"mation in the analysis of their specific models.

Page 46: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 Newtoniteration is accomplished using one of several available techniques as described here. All ofthese solvers execute in parallel using a variety of techniques based on the available computerhardware. Chapter 7 provides more details on starting WARP3D for execution using parallelmethods.

1.7.2 Pardiso Sparse Direct Solver: Threads only

The Pardiso sparse direct solver for symmetric systems of equations [1, 2] is implemented inthe Intel Math Kernel Library (MKL) [3]. This solver runs parallel using threads and sharedmemory. An out-of-memory option is available for machines with a reduced amount of realmemory.

1.7.3 Pardiso Sparse Iterative Solver: Threads only

The iterative form of the Pardiso sparse iterative solver for symmetric systems of equationsis also implemented in the Intel Math Kernel Library (MKL). This solver runs parallel usingthreads and shared memory. The solver employs a Krylov subspace method with conjugategradient iterations. The fully factored equations serve as the preconditioner. The sparse directsolver described above performs the factorization. At present, this solver runs with a fixedpreconditioner for load steps and Newton iterations until the convergence rate of the CGiterations degrades to an unacceptable level. Then the full set of equations is re-factored toupdate the preconditioner. This solver is often twice (or more) as fast for larger models as thedirect solver since CG iterations are much less expensive that factorization. The solver alwaysreturns 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 hypreiterative solver is developed and made available from Lawrence Livermore National Laboratory[4]. This solver is suitable for models with millions of nodal displacements. The finite elementmodel must be partitioned into domains where the number of domains equals the number ofMPI ranks (processes) specified for execution. Hypre runs on the same ranks as WARP3D. Oneach MPI rank, threads may be employed for an additional level of parallel execution both inWARP3D 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 decompositionof the model is employed and the assignment of elements into blocks can be performed directlyby WARP3D. The Pardiso direct solver then becomes the first 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

Page 47: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Linear Equation Solvers

The iterative solver is worth exploring for possible gains in efficiency (especially for linear andnonlinear dynamic analyses).

For the very largest models having perhaps millions of equations, the hypre solver is stronglyrecommended. Models of this size require computers with significantly more capability (dis-tributed clusters) that current desktop/deskside or even local workgroup computers. Hypre isavailable only in the hybrid version of WARP3D (MPI+threads). Although designed for thesolution of very large models on clusters, hypre will run on all levels of hardware, includingmulticore 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):475–487, 2004.

[2] O. Schenk and K. Gartner. On fast factorization pivoting methods for symmetric indefinite systems,Elec. Trans. Numer. Anal., 23:158–179, 2006.

[3] Intel. http://software.intel.com/en-us/articles/intel-mkl/

[4] Lawrence Livermore national Laboratory.https://computation.llnl.gov/casc/sc2001 fliers/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 Differential Equation. Sparse Matrix Computations,ed. J.R. Bunchand 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

Page 48: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Formulations

1.8–1Chapter 1 Introduction

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 pointsare 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 time"like parameter t with a speci!fied level of loading imposed on the model. Stress and deformation rates are thus definedwith 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.##&'

3(1

! N^

###$

%#

(u. x

e)n(1

(u. y

e)n(1

(u. z

e)n(1

###&

'3n(1

! N^

u.

e (1.82)

where n here denotes the number of element nodes. Note the non"conventional orderingof nodal displacements in u

.

e which facilitates vectorization of numerical computations. Thecoordinates of a material point in the configuration at time t are interpolated from the nodalcoordinates at t using the same shape functions, resulting in the similar equation

x !#$%

#

#xyz##&'

3(1

! N^

##$

%#

(cxe)n(1

(cye)n(1

(cze)n(1

##&

'3n(1

! N^

ce (1.83)

where ce ! ce,t!0 ) ue . The element shape functions, one for each element node, are func!tions of the parametric variables !" #! and $" For convenience, they are grouped in the rowvector

N ! *#N1#N2#+++#Nn#,1(n

(1.84)

The shape function derivatives with respect to the parametric variables are represented bythe row vectors

N,! ! *#N1,!#N2,!#+++#Nn,!#,1(n(1.85)

N,# ! *#N1,##N2,##+++#Nn,##,1(n

(1.86)

N,$ ! *#N1,$#N2,$#+++#Nn,$#,1(n(1.87)

The element shape functions are collected in the element shape function matrix defined by

N^

!#-.

#N0

0#

0

N0

#0

0

N##/0

3(3n

(1.88)

Page 49: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Formulations

1.8–2 Chapter 1Introduction

1.8.2 Cartesian Derivatives

The Jacobian matrix relating differentials in parametric and Cartesian (x) coordinates isgiven by

J !#####

-

.

1x1!

1x1#

1x1$

1y1!1y1#1y1$

1z1!

1z1#

1z1$

#####

/

03(3

(1.89)

with the inverse of the Jacobian matrix denoted by

! ! 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

#

#######

&

'9(1

2#$

%#"

.

x

"

.

y

"

.

z

##&

'"

.

!#$

%#d.

,xd.

,yd.

,z

##&

'(1.91)

The velocity gradients in parametric space constitute the vector

!

#########

$

%

#

u.,!

v.,!

w.,!

u.,#

v.,#

w.,#

u.,$

v.,$

w.,$

#

#########

&

'9(1

#

.

!##$

%#

d.

,!d.

,#d.

,$

###&

'(1.92)

The two velocity gradient vectors are related by the equation

"

.

! !^#

.

(1.93)

where

!^!#-

.#

%11I3%21I3%31I3

#

%12I3%22I3%32I3

#

%13I3%23I3%33I3

##/

09(9

(1.94)

where I3 denotes a 3 ( 3 identity matrix. The velocity gradients in parametric space areexpressed in terms of the nodal velocities by

#

.

! Gu.

e (1.95)

Page 50: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Formulations

1.8–3Chapter 1 Introduction

where

!

#######

-

.

#

N,!00

N,#00

N,$00

#

0N,!00

N,#00

N,$0

#

00

N,!00

N,#00

N,$

#

#######

/

09(3n

G !##

-

.#

N^

,!N^

,#

N^

,$

###

/

0(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 6(1 vector formof the symmetric deformation tensor

&$ !####

$

%

#

&'x&'y

&'z&(xy

&(yz

&(xz

#####

&

'

!####

$

%

#

&u,x&v,y&w,z

&u,y) &v,x&v,z) &w,y&w,x) &u,z

#####

&

'6(1

(1.97)

where it is understood that, for example, that &u,x ! 1(&u)31x. In terms of the virtual nodaldisplacements, we write in conventional form

&$(6(1) ! B(6(3n)$&ue(3n(1) (1.98)

where the strain"displacement B matrix is constructed as follows. Define the Boolean ma!trix B

~

by

B~

!##

-

.#

100000

#

000100

#

000001

#

000100

#

010000

#

000010

#

000001

#

000010

#

001000

###

/

06(9

(1.99)

which permits expression of the strain"displacement matrix B by

B(6(3n) ! B~

(6(9)$!^

(9(9)$G(9(3n) (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

4#elem

j!1

5Vj

e

&$T%dVe ) 4

#elem

j!1

5Vj

e

&dT)d..

dVe "4m

i!1

&dTi pi ! 0 (1.101)

Using the virtual deformation expressed in terms of the element B matrix, we have (for asingle element)

Page 51: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Formulations

1.8–4 Chapter 1Introduction

5Ve

&$T%dVe ! &ue

T 5Ve

BT%dVe (1.102)

where again Ve denotes the element configuration at t, % denotes the symmetric Cauchystresses expressed in 6 ( 1 vector format at t, and the B matrix is evaluated using coordi!nates of element nodes at t, ce ! ce,t!0 ) ue . Using Eq. (1.6) we see that the element inter!nal force vector is given by

Ie(3n(1) ! 5Ve

BT%dVe ! 5

1

"1

51

"1

51

"1

BT%|J|d!d#d$ (1.103)

The global internal force vector is obtained through global assembly of the element internalforce vectors.

1.8.5 Strain Increment for Stress Updating

Newton’s method advances the global solution from time step n to n+1 through a series ofiterative improvements to the solution at n+1. Let i denote the current Newton iterationfor the solution at n+1, u(i)

n)1 the ith estimate for the element nodal displacements at n+1

and un the converged solution for element nodal displacements at n. Using the mid"incre!ment configuration, the ith estimate for the (mechanical) strain increment over the step isgiven by

#$(i) ! Bn)1

2

#6u $ (i)n)1

" un7"#$th (1.104)

where the B matrix is evaluated using nodal coordinates ce ! xn)132. The specified ther!mal strain increments over n8n)1 are indicated by #$th. The strain increment #$(i) ispassed to the stress updating (constitutive) models, after rotation effects are neutralizedas described in Section 1.9.4, to obtain the new estimate for the Cauchy stresses at n+1,%

(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 one"dimensional set!ting, integration of the strain rate to define a total strain measure using the mid"point ruleabove remains surprisingly accurate for very large increments. In multi"dimensional 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 incrementsof converged #$ 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 internalforce vector by

I.

e ! 9KT:eu.

e (1.105)

From Eq. (1.103) the rate of the element internal force vector is

I.

e ! 5Ve

B.

$ T%#dVe ) 5Ve

BT $%.#dVe (1.106)

Page 52: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Formulations

1.8–5Chapter 1 Introduction

The first term in Eq. (1.106) can be manipulated into the form (see Zienkiewicz and Taylor[99])

5Ve

B.

$ T%#dVe !#-

.5Ve

GT%^$ TM*$ $%

^G#dVe#

/

0#u

.

e (1.107)

where

M* !#-

.#

*1I3*4I3*6I3

#

*4I3*2I3*5I3

#

*6I3*5I3*3I3

##/

09(9

(1.108)

Eq. (1.107) defines the so"called ‘‘initial"stress" or geometric stiffness matrix

9KgT:

e! 5

Ve

GT%^$ TM*$ $%

^G#dVe (1.109)

The second term in Eq. (1.106) resolves to

5Ve

BT%.#dVe !#

-

.5Ve

BTEB#dVe#/

0#u

.(1.110)

where E (6( 6) denotes the constitutive matrix relating the (spatial) rate of the deforma!tion to the spatial rate of Cauchy stress, as in

%.! E $$

.! EBu

.

e (1.111)

Since %. 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 beemployed in development of the constitutive matrix, E. In WARP3D, the Green"Naghdi[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 bewritten as

9KT:e! 5

Ve

9#GT%^$ TM*$ $%

^G ) BTEB#:#dVe (1.112)

! 51

"1

51

"1

51

"1

9#GT%^$ TM* $ $%

^G ) BTEB#:#|J|d!d#d$ (1.113)

When required for the direct solver, the tangent stiffness matrix for the structure (in globalcoordinates) is obtained through the usual assembly of element matrices.

All deformation dependent quantities appearing in Eq. (1.113) refer to values for the ith

iteration of step n+1, i.e, B is evaluated using the nodal coordinates x(i)n)1

, the Cauchystresses appearing in M* are %(i)

n)1 and E is the tangent modulus which advances the spatial

rate of Cauchy stress from n to n+1 (ith iteration) consistent with the stress updating proce!dure for the strain increment #$(i).

Page 53: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Formulations

1.8–6 Chapter 1Introduction

The stiffness formulations employed in WARP3D do not correspond to either of thetraditional 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 solutionat n provides the reference configuration for all quantities needed in 9KT

:. 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 NIKEcodes (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

5Ve

&dT)d..

dVe (1.114)

where integration is over the (current) deformed volume and ) denotes the mass densityper 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

5Ve

&dT)d..

$dVe ! &ueT#-

.#5Ve

)N^

$ TN^

$dVe##/

0#u

..

e (1.115)

A comparison with Eq. (1.6) reveals that the element consistent mass matrix has the form

Me ! 5Ve

)N^

$ TN^

$dVe ! 51

"1

51

"1

51

"1

)N^

$ TN^

|J|d!d#d$ (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 onlynecessary 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 + 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 inthe undeformed (t!0) configuration by

)0 ! )|F| (1.117)

where |F| denotes the determinant of the deformation gradient, F ! 1x31X. Using therelation dVe ! |F|dV0$, and Eq. (1.117), the element consistent mass matrix may be ex!pressed using quantities referenced to the t!0 configuration

Me ! 51

"1

51

"1

51

"1

)0N^

T

N^

|J0|d!d#d$ (1.118)

where |J0| is the determinant of the coordinate Jacobian at t!0. The element consistentmass matrix defined by Eq. (1.118) is independent of time; consequently, the element tan!gent and secant consistent mass matrices are equal.

Page 54: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Formulations

1.8–7Chapter 1 Introduction

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 toone of the continuum degrees of freedom.

2) Accumulate the mass of these diagonal terms. Scale the diagonal terms by the ratio of thetotal element mass related to the continuum degree of freedom to the accumulated mass sothat the total mass of the diagonal terms is correct. Assign the diagonal terms to the othertwo continuum degrees of freedom. This is the element lumped mass matrix.

Once again, either the global consistent or lumped mass matrix is found through assemblyof the element matrices.

Page 55: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Finite Strain Formulations

1.9–1Chapter 1 Introduction

1.9 Finite Strain Plasticity

The theoretical basis and numerical implementation of a constitutive architecture suitablefor finite strains and rotations are described in this section. The constitutive equations gov!erning finite deformation are formulated using strains!stresses and their rates defined onan 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 implicitsolution of the global equilibrium equations employed in WARP3D. The resulting computa!tional framework divorces the finite rotation effects on strain!stress rates from integrationof the rates to update the material response over a load (time) step. Consequently, all of thenumerical refinements developed previously for small!strain plasticity (radial return, ki!nematic hardening, consistent tangent operators, dilatant plasticity models for continuumdescriptions 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 representedby an isotropic, hypoelastic model. These assumptions require that plastic strains (andrates) greatly exceed elastic strains (and rates). Such conditions are easily realized in thestudy of ductile fracture in metals which possess large E!!0 ratios. For other materials,such as polymers, the ad hoc treatment of elasticity adopted here becomes unsuitable" atbest. A multiplicative decomposition of the deformation gradient into elastic and plasticcomponents, when coupled with a proper hyperelastic treatment of material elasticity, isclearly more appropriate (Moran, Ortiz and Shih [67], Simo and Ortiz [91]). Nevertheless,the essential features of the present finite!strain plasticity formulation provide the coretechnology adopted in large!scale finite element codes, including NIKE ([33] [34]), DYNA([30]), PRONTO ([93] [94]), ABAQUS!Standard [38] and ABAQUS!Explicit ([39]).

The following sections describe the basis for the constitutive framework and the de!tailed, step!by!step implementation in WARP3D. Once the kinematic transformationshave eliminated rotation effects on rates of tensorial quantities, the stress updating proce!dures for each constitutive model are those for the conventional small!strain formulation.Details of the usual small!strain computations are described in Chapter 5 for each of thematerial models currently available.

The reader interested in an extensive description, the numerical implementation de!tails and the criticism of this finite!strain plasticity framework is referred to the mono!graph of Simo and Hughes [92], specifically Chapters 6 and 7.

1.9.1 Kinematics, Strain!Stress Measures

Development of the finite strain plasticity model begins with consideration of the deforma!tion gradient

F " #x!#X,### det(F) " J $ 0 (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 Bin Fig. 1.4, after Flanagan and Taylor [27]). The displacements of material points are thusgiven by u " x % X. The polar decomposition of F yields

F " VR " RU (1.120)

Page 56: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DFinite Strain Formulations

1.9–2 Chapter 1Introduction

where V and U are the left! and right!symmetric, positive definite stretch tensors, respec!tively; R is a orthogonal rotation tensor. The principal values of V and U are the stretchratios, "i$, of the deformation. These two methods for decomposing the motion of a materialpoint are illustrated in Fig. 1.4. In the initial configuration, B0 $, we define an orthogonalreference frame at each material point such that the motion relative to these axes is onlydeformation throughout the loading history. With the RU decomposition, for example,these axes are ‘‘spatial" during the motion from B0 to Bu; they are not altered by deforma!tion of the material. However, during the motion from Bu to B these axes are ‘‘material";they rotate with the body in a local average sense at each material point. Strain!stress 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 AMaterial Point

Axes Are Spatial: Do NotFollow Deformation

Axes Are Material: Followthe Rotation

Axes Are Material: Followthe Rotation

Axes Are Spatial: Do NotFollow Deformation

Fixed, GlobalAxes

B0

Bu

Bv

FIG. 1.4"Motion of Model Using Polar Decomposition ( [27])

The material derivative of displacement with respect to an applied loading parameteris 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)

Page 57: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Finite Strain Formulations

1.9–3Chapter 1 Introduction

The symmetric part of L is the spatial rate of the deformation tensor, denoted D; theskewsymmetric part, denoted W, is the spin rate or the vorticity tensor. Thus,

L " D & W (1.122)

where

D " 12(L & LT);## W " 1

2(L % LT )#. (1.123)

W represents the rate of rotation of the principal axes of the spatial rate of deformationD. When integrated over the loading history, the principal values of D are recognized as thelogarithmic (true) strains of infinitesimal fibers oriented in the principal directions if theprincipal directions do not rotate. It is important to note that D and W have no sense of thedeformation history; they are instantaneous rates.

Using the RU decomposition of F, the spatial gradient L may be also written in the form

L " R.

RT & RU.

U%1RT (1.124)

in which the following relations are used

F.

" RU.

& R.

U (1.125)

and

F%1 " (RU)%1 " U%1R%1 " U%1RT#. (1.126)

The first term in Eq. (1.124) is the rate of rigid!body rotation at a material point andis denoted ! (see Dienes [22]). The spin rate W and ! are identical when the principal axesof 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 andpure 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 " 12(U

.

U%1 & U%1U.

)#. (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(RTR)!dt=0

RTR.

& R. T

R ' 0 (1.128)

the unrotated deformation rate may be expressed in the simpler form as

d " RTDR#. (1.129)

The principle of virtual displacements (Section 1.4) demonstrates that the spatial rateof deformation, D, and the symmetric Cauchy (true) stress, ", are work conjugate in thesense that work per unit volume in the current configuration is given by !ij$Dij. Since compo!nents of both D and " are defined relative to the fixed, global axes, the work conjugate stressmeasure for d on the unrotated configuration is given simply by

t " RT"R (1.130)

where t is termed the unrotated Cauchy stress, i.e., " is the tensor t expressed on the fixedglobal axes.

Page 58: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DFinite Strain Formulations

1.9–4 Chapter 1Introduction

1.9.2 Selection of Strain and Stress Rates

The simplest form of a hypo!elastic constitutive relation is adopted to couple a materiallyobjective stress rate with a work conjugate deformation rate. The Jaumann and Green!Naghdi objective rates of Cauchy stress are

"~ " "

.% W"& "W " E : D (Jaumann) (1.131)

"^ " "

.%!"& "!" E : D (Green!Naghdi) (1.132)

where the modulus tensor E may depend linearly on the current stress tensor and on histo!ry dependent state variables (E : D denotesEijklDkl ). Once the objective stress rate is eva!luated using E : D, the spatial rate of Cauchy stress, "

., is found by computing W or ! and

transposing the above equations. In a finite!element setting, these rate expressions are nu!merically integrated to provide incremental values of the Cauchy stress corresponding toload (time) steps.

When D vanishes both the Jaumann and Green!Naghdi rates predicted by the constitu!tive models also vanish; however, the two stress rates lead to different spatial rates ofCauchy stress since W and ! are generally not identical. Use of the spin tensor W in Eq.(1.131) causes the physically unreasonable (oscillatory) response predicted for the finiteshear problem; the Green!Naghdi rate leads to a realistic response. However, the debateofver physically meaningful stress rates continues.

The Jaumann rate is adopted extensively in finite element codes"the quantity W isreadily available as a by!product of computing D whereas computation of ! requires polardecompositions of F. Hughes and Winget [44] recognized that a constant spin rate W (androtation rate !) 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 30o. Such refinements, however, do not remove the fundamental cause (W) of theoscillatory response in simple shear. Roy, Fossum and Dexter [85] recently implemented a2!D, implicit finite!element code based on the Green!Naghdi rate as expressed in Eq.(1.132). They employed the Hughes!Winget procedure to integrate "^ using ! computedfrom polar decompositions of F at the start and end of each load increment.

The Green!Naghdi rate may be written alternatively as the rate of unrotated Cauchystress, t

., expressed on the fixed, Cartesian axes

"^ " Rt

.RT " E : D#. (1.133)

Transformation of the spatial deformation rate D in this expression to the unrotateddeformation rate d yields

t." E : (RTDR) " E : d#. (1.134)

Constitutive computations, equivalent to the Green!Naghdi rate in Eq. (1.132), there!fore can be performed using stress!strain 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 loadincrement. 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 back!stress for kinematic hardening, are also defined and maintained on the unrotatedconfiguration and thus never require correction for finite rotation effects. Hallquist [33],[34] was apparently the first to recognize the simplicity derived from this constitutiveframework and used it in the NIKE and DYNA codes. Later, this framework was adoptedby Flanagan and Taylor for the PRONTO!2D [93] and PRONTO!3D [94] codes, by Biffle and

Page 59: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Finite Strain Formulations

1.9–5Chapter 1 Introduction

Blandford for the JAC!2D [7] and JAC!3D [8] codes, and most recently in the commericalABAQUS!EXPLICIT [39] code. The potential disadvantage of this constitutive frameworkis the numerical effort to compute R from the polar decomposition F=RU at thousands ofmaterial 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 developedby Flanagan and Taylor [27] may be used to update R without the polar decomposition. Thepolar decomposition issue is discussed in the section on numerical procedures.

1.9.3 Elastic!Plastic 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 " FeFp (1.135)

appears most compatible with the physical basis of elastic!plastic deformation in crystal!line metals (see, for example, Lee [57] and Asaro [3]). Fp represents plastic flow (disloca!tions) while Fe represents lattice distortion; rigid rotation of the material structure may beconsidered in either term. Substitution of this decomposition into the spatial rate of the dis!placement gradient Eq. (1.121) yields

L " F.

$ eF%e & FeF.

$ pF%pF%e " Le & FeLpF%e#. (1.136)

We now impose the restriction that elastic strains remain vanishingly small comparedto the unrecoverable plastic strains; a behavior closely followed by ductile metals havingan elastic modulus orders of magnitude greater than the flow stress. Consequently, Fp andFe are uniquely determined by unloading from a plastic state. This considerably simplifiesthe 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 " FeFp " VeVpR (1.137)

Identifying the elastic deformation as

Fe " Ve (1.138)

and using the small elastic strain assumption, we have

Fe " I & ee * I#. (1.139)

Consequently, the expression for L is approximated by

L * Le & Lp#. (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 * De & Dp#. (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 decompositionof the spatial deformation rate D into elastic and plastic components. The transformationof D to the unrotated configuration using Eq. (1.129) provides the decomposition schemeneeded for d as

d " RT(De & Dp)R " de & dp#. (1.142)

Page 60: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DFinite Strain Formulations

1.9–6 Chapter 1Introduction

Once the above transformation of elastic and plastic strain rates onto the unrotated con!figuration is accomplished, the remaining steps in development of the finite!strain plastic!ity theory are identical to those for classical small!strain theory.

If the elastic strains are not vanishingly small, the incrementally linear form of thishypo!elastic material model predicts hysteretic dissipation and residual stresses for someclosed loading paths, for example, the path defined by finite extension+finite shear+ten!sion unloading+shear unloading (Kojic and Bathe [56]). Uncoupled loading!unloading forextension and shear produces no residual stresses. For finite!strain plasticity of ductilemetals having large modulus!to!yield stress ratios this situation is not a serious concernsince plastic strains are commonly 50!100 times greater than the elastic strains.

1.9.4 Numerical Procedures

The global solution is advanced from time (load) tn to tn&1 using an incremental!iterativeNewton method. Iterations at tn&1 to remove unbalanced nodal forces are conducted underfixed 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 tn&1, denoted u(i)

n&1. Fully converged displacements at tn are denotedun. Fol!

lowing Pinsky, Ortiz and Pister [81] a mid!increment scheme is adopted in which deforma!tion rates are evaluated on the intermediate configuration at (1 % #)un & #u(i)

n&1. The choice

of # " 1!2 represents a specific form of the generalized trapezoidal rule that is uncondition!ally stable and second!order accurate. Key and Krieg [54] have demonstrated the optimalityof the mid!point 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 polardecomposition of the deformation gradient is also provided.

Stress Updating Procedure

The computational steps are:

Step 1. Compute the deformation gradients at n & 1!2 and n & 1

F(i)n&1

"#(X & u(i)

n&1)

#X; (1.143)

F(i)n&1!2

"

#(X & u(i)n&1!2

)#X

(1.144)

Step 2. Compute polar decompositions at n & 1!2 and n & 1

F(i)n&1

" R(i)n&1

, U(i)n&1

(1.145)

F(i)n&1!2

" R(i)n&1!2

, U(i)n&1!2

(1.146)

Step 3. Compute the i th estimate for the spatial deformation increment over the stepfrom the B matrix for the element, see Eq. (1.104) and Section 1.8.5.

!#(i) " B(i)n&1!2

%(u $ (i)n&1

% un) (1.147)

Page 61: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Finite Strain Formulations

1.9–7Chapter 1 Introduction

!D(i) - !#(i) (convert 6.1 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) forfinite strains thereby reducing volumetric locking in the element.

Step 4. Rotate the increment of spatial deformation to the unrotated configuration

!d(i) " R(i)Tn&1!2

,!D(i) , R(i)n&1!2

(1.149)

Step 5. The terms of the symmetric tensor !d(i) define the strain increments for use ina conventional small!strain model. Invoke the small!strain model to provide the i th estimatefor the unrotated Cauchy stress at n & 1

t(i)n&1

- !(tn, Hjn, qn,!d(i)) (1.150)

where ! denotes the small!strain integration process (typically, an elastic!predictor, returnmapping algorithm). The integration process requires the material state at n: the unro!tated Cauchy stress (tn), a set of scalar state variables denoted by Hj

n, and a set of tensorialstate variables denoted by qn which are maintained on the unrotated configuration in themodel history data.

Step 6. The unrotated Cauchy stress at n & 1 is transformed to the Cauchy stress atn & 1 required for subsequent computation of element internal forces

"n&1 " Rn&1tn&1RTn&1 (1.151)

Key advantages of the above steps are the absence of half!angle rotations applied to stresses(and tensorial state variables) found in co!rotational rate formulations, Eqs. (1.131) and(1.132), and most importantly, the ability to use an existing small!strain constitutive modelfor 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 updateat each material (Gauss) point.

Consistent Tangent Operators

Tangent operators, denoted here by E, are needed to form new element stiffness matricesfor 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 thecurrent configuration with increments of the spatial Cauchy stress required by the fullyupdated formulation adopted in WARP3D. Because the incremental!iterative Newton solu!tion at the global level uses finite increments of quantities to advance the solution from nto n+1, rather than simple rates . dt, the tangent operators should provide incremental,secant relationships.

For plasticity models implemented in a small!strain setting, Simo and Taylor [90] pres!ented the first formalized procedures to develop the (secant) relationships and coined thephrase consistent tangent operator. For small!strains, consistency implies that the finitestress increment predicted by the tangent operator, Ec, acting on a finite strain incrementmatches (to first order), the stress increment determined by the procedures used to inte!grate the plasticity rate equations over the step, i.e.,

$(i)n&1

" $n & Ec : (#(i)n&1

% #n) " $n & /tn&1

tn

$.$dt (1.152)

Page 62: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DFinite Strain Formulations

1.9–8 Chapter 1Introduction

where $ denotes the stress measure in the small!strain setting.

In the finite!strain framework adopted for WARP3D, the notion of a consistent tangentoperator for the stress!update procedure on the unrotated configuration follows directly as(in matrix!vector form)

t(i)n&1 " tn & !t(i)

" tn & [E *](i)n&10!d(i)1 (1.153)

where the * denotes the 6.6 consistent tangent operator defined on the unrotated configu!ration and the vector form of the symmetric, unrotated deformation tensor,!d(i), is used.

The needed form of the above relation for the fully updated solution strategy, expressedby Eq. (1.110), is

"(i)n&1

" "n & Ec : (#(i)n&1

% #n) " "n & /tn&1

tn

".$dt#. (1.154)

where the spatial rate of Cauchy stress is integrated over n+n+1. Using the Green!Naghdirate of Cauchy stress from Eq. (1.132), the above expression becomes

"(i)n&1

" "n & Ec : (#(i)n&1

% #n) " "n & /tn&1

tn

("^ &!"% "!) $dt#. (1.155)

Simo and Hughes [92] and Cuitino and Ortiz [19] discuss the difficulty of constructing theconsistent tangent operator implied above by Ec which includes potentially large!rotationeffects 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 2E *3 + 2E 3 employed in the NIKE codes and in ABAQUS. Computational experi!ence indicates the procedure is quite robust and maintains good rates of convergence in theNewton iterations. We drop the iteration indicator (i) for simplicity and we use the vectorform, !#, of the symmetric, spatial deformation tensor, !D. A mix of tensor and matrix!vec!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 re!written in matrix!vector form as (using standardconversion of the rotation operation from tensor to matrix format)

#. " 2T 30d1 (1.156)

where the 6.6 matrix 2T3 is defined using Rn&1. The terms of 2T3 are given by

[T] "

444444

5

6

R211

R221

R231

R11R21

R21R31

R11R31

R212

R222

R232

R12R22

R32R22

R12R32

R213

R223

R233

R13R23

R23R33

R13R33

2R11R12

2R21R22

2R31R32

(R11R22 & R21R12)

(R21R32 & R22R31)

(R11R32 & R12R31)

2R13R12

2R23R22

2R33R32

(R12R23 & R13R22)

(R22R33 & R32R23)

(R12R33 & R13R32)

2R11R13

2R21R23

2R31R33

(R11R23 & R13R21)

(R21R33 & R23R31)

(R11R33 & R31R13)

444444

7

8

(1.157)

The rate of unrotated Cauchy stress, Eq. (1.134), may then be written in matrix form as

Page 63: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Finite Strain Formulations

1.9–9Chapter 1 Introduction

0t.1 " 2E *30d1 " 2E *32T 3$ T#

.#. (1.158)

where orthogonality of the rotation matrix 2T3 is used. Note that 2E *3 actually used in com!putations is the consistent tangent operator defined by Eq. (1.153). Now the Green!Naghdistress rate in Eq. (1.133) becomes

0"^1 " 2T 30t.1 " 2T32E *32T3$ T#

. (1.159)

and existing symmetries of 2E *3 are preserved through the 2T3 transformation.

We invoke the relationship between the Green!Naghdi stress rate and the spatial rateof Cauchy stress rate given by Eq. (1.132). The left side of Eq. (1.132) is simply the symmet!ric tensor form of 0"^1 given above. To arrive at a tractable form for the %!"& "! terms,the approximation W 9 !" R

.

RT is adopted. Nagtegaal and Veldpaus [71] demonstratedthe validity of this approximation when the rate of logarithmic strain remains constantover the step, which is consistent with the present stress updating procedure. Moreover,they showed that the % W"& "W terms could be re!cast in matrix form (using theW " L % D decomposition with L given by #v!#x in Eq. (1.121)) as

% W"& "W + 2Q 3#. (1.160)

where the assumption of incompressibility becomes necessary to arrive at a symmetricform of 2Q 3. The terms of 2Q 3 are

2Q 3 "

4444444444

5

6

2!11

0

0

!12

0

!13

0

2!22

0

!12

!23

0

0

0

2!33

0

!23

!13

!12

!12

0

12(!11 & !22

)

12!13

12!23

0

!23

!23

12!13

12(!22 & !33

)

12!12

!13

0

!13

12!23

12!12

12(!11 & !33

)

4444444444

7

8

(1.161)

By expressing each term of Eq. (1.132) in matrix!vector form, the spatial rate of Cauchystress is given by

0". 1 " 22T 32E *32T3$ T % 2Q33#. " 2E 3#

.#. (1.162)

This expression defines the finite strain!rotation form of the tangent operator for use inconstruction 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 thanthe secant relationship from n to n+1. Use of the constitutive consistent 2E *3 seems to befar more important for convergence.

The tangent operator defined in Eq. (1.162) appears in the NIKE!2D and NIKE!3D (im!plicit) codes which also adopt a Green!Naghdi stress rate and stress updating procedurefollowed here. However, the 2Q 3 term is omitted in forming the element tangent stiffnesssuch that 2E 3 9 2E *3 . Our numerical experiments indicate that inclusion of 2Q 3 is essentialto maintain quadratic rates of convergence in the global Newton iterations when large por!tions of the model undergo nearly homogeneous deformation. In other instances, 2Q 3 maybe omitted as in the NIKE codes without a detrimental effect on convergence rates. Thenonlinear solution parameters defineable in WARP3D enable the user to include!excludethe [Q] matrix.

Page 64: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DFinite Strain Formulations

1.9–10 Chapter 1Introduction

Polar Decomposition

The polar decomposition F=RU is a key step in the stress!updating algorithm and must beperformed twice for each Gauss point for each stress update, i.e., at n & 1!2 and n & 1. Thecomputational effort required for the polar decomposition should be insignificant relativeto 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

.

" %R 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 suchapproximations by providing an exact construction of R and U for arbitrary size load stepsand yet remains computationally very efficient with the framework of an implicit solution.

Step 1. Compute the right Cauchy!Green tensor

C " FTF (1.163)

and its square

C2 " CTC (1.164)

where only the upper!triangular form of the symmetric products (6 terms) are actually com!puted and stored.

Step 2. Compute the eigenvalues "21, "

22 and "2

3 of C. A Jacobi transformation procedurespecifically designed for 3.3 matrices is used to extract the eigenvalues. For scalar comput!ers, the do!loops are eliminated by explicitly coding each off!diagonal rotation form. Two or,at most, three sweeps are needed to obtained eigenvalues converged to a 10!6 tolerance. Theprocedure 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)

IU " "1 & "2 & "3 (1.165)

IIU " "1"2 & "2"3 & "1"3 (1.166)

IIIU " "1"2"3 " J " det(F) (1.167)

Step 4. Form the upper triangle of the symmetric, right stretch, U, and it’s symmetric in!verse, U%1 (see Hoger and Carlson [41])

U " &1(&2I & &3C % C2) (1.168)

where I denotes a unit tensor with the & coefficients defined by

&1" 1!(IUIIU% IIIU),!!&

2" IUIIIU,!!&

3" I2

U% IIU (1.169)

Similarly, the inverse of U may be formed directly as

U%1 " #

1(#

2I& #

3C& #

4C

2) (1.170)

where the # coefficients defined by

#1" 1!IIIu(IUIIU% IIIU),!! #

2" IUII

2U% IIIU(I2

U& IIU), (1.171)

#3" % IIIU% IU(I2

U% 2IIU),!! #

4" IU (1.172)

Page 65: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Finite Strain Formulations

1.9–11Chapter 1 Introduction

Step 5. Form R as the product

R " FU%1 (1.173)

Page 66: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Model Name and Sizes

Chapter 2

Model Definition

This chapter describes the input commands to define a finite element model, to define anonlinear/dynamic solution algorithms, to request an analysis for a number of load steps, torequest computation of fracture mechanics parameters, to control crack-growth and to requestvarious types of output. Commands in this chapter are described in the recommended order ofinput:

• structure name and sizes (number of nodes and elements)

• definition 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 finite 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., theorder 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 tosupport parallel execution on multi-core processors and on supercomputers. All elements ina block must be the same type, have the same material model, the same type of kinematicformulation. 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 zeroor non-zero.

• mesh tieing to connect geometrically compatible but topologically mismatched regions inmeshes

• loading “patterns” for the model. Loading patterns consist of nodal forces; element bodyforces, face tractions, face pressures which are converted to equivalent nodal forces; nodaland element temperature changes relative to a zero reference state.

• initial velocities and displacements at nodes for dynamic analyses (otherwise assumed to allequal zero).

• a nonlinear/dynamic loading which defines the increment of load to be applied during eachload/time step. Loading increments for a step are defined using the loading patterns.

• parameters to control the nonlinear/dynamic solution process, e.g., the time increment fordynamic analysis, the type of equation solver (direct, iterative), number of threads, max-imum number of Newton iterations, convergence tolerances, adaptive loading parametersetc.

• 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 Definition

Page 67: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 aredirected to the current output device with appropriate pagination, headers, labels, etc.

• a request to output computed nodal and element results in the format defined by the Patranmodeling software. These results files are readable by Patran without further conversion.

• requests to generate “packet” files of results on a binary sequential file – very convenientfor user-written specialized post-processing of very large output sets

• a request to compute and output values for the J-integral and various interaction integralsin fracture mechanics models

• a “save” command to write all current, essential data structures to a sequential binary filefor 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 theinput. Parameters to control the nonlinear/dynamic solution algorithm, e.g., the time step,may be modified between analyses for sets of load steps. Constraints can be modified betweenanalyses for load steps to e↵ect incremental changes in the boundary conditions.

2.1 Model Name and Sizes

The definition of a finite element model begins with specification of an alphanumeric identifierfor the model. The identifier appears on all pages of output. The command has the form

structure < name : label >

The first eight characters of model names are recognized as unique.

The number of nodes and number of elements in the model must be specified prior to any

other command related to nodal or elemental quantities. WARP3D uses the specified sizes topre-allocate very large arrays, to support checking of the input data as it is entered and tosupport exhaustive consistency checking of the structural model for errors prior to the firstcompute request. An example of such an error is a node with no elements attached. The modelsizes are defined 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 Definition

Page 68: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Model Name and Sizes

All node and element identifiers are positive integers beginning with the value 1. Nodes andelements must each be numbered sequentially. Once specified, the number of nodes and elementscannot be modified 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 ofWARP3D being executed and the computer system executing the program. Typical limits are2M nodes and 2M elements on Linux and (Mac) OS X, and 500K nodes and 500K elements onWindows (64-bit) systems. These limits are easily changed through one line in the source codefollowed by a re-compilation on the hardware platform.

Chapter 2 (Updated: 12-13-2011) 2.1-3 Model Definition

Page 69: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

2.2 Material Definitions

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 specifies a convenient name for the material, the typeof constitutive model (e.g., rate-independent mises) and the values of properties required bythe material model. Material definitions must precede the specification of element propertiesduring input.

Some constitutive models provide an option to specify nonlinear response in the form ofpiecewise-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. Thesecurves 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 gradedmaterials, values of some key material properties (e.g., Young’s modulus, Poisson’s ratio, etc.)may be specified at nodes of the model rather than as numerical constants associated with aspecific material. Computational routines then interpolate values of these material propertiesat points within elements from the nodal values as needed during solutions. This new capabilityat 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 approachto 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-elasticand elastic-plastic constitutive models with temperature invariant material properties. Theseexpansion coecients remain spatially constant over an element and are thus specified for eachelement 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 commandreferences a stress-strain curve(s), the referenced curve(s) must be defined previously in theinput data. This requirement enables additional consistency checks on the specified data.

2.2.1 Material Command

A material command on a separate line initiates the material definition sequence. Any numberlines may follow to define the properties required for the material model. The definition of anew 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 acomma. A material definition terminates with a line not ending in a comma. Subsequent sectionsin Chapter 3 define the “type” of material constitutive models currently available and theproperties 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 Definition

Page 70: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

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 specifies the name al2024t3 for the material. Material namesare unique for up to 24 characters. Note that material names must satisfy the definition of a<label>. The constitutive model for the material is mises. This is one of the models describedin Chapter 3. Keywords e, nu, n power, etc. are properties of the mises model assignable bythe user.

Later during input, users assign one such previously defined material to each finite elementin 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 al2024t3as specified previously. Remaining information on the input lines sets the element properties:integration order, output location, etc.

In the example above illustrating the definition of material al2024t3 and its associationwith 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 defined using additional options as described below. Oncedefined, the specification for a material cannot be modified at any further point in the analysis.

Stress-Strain Curves

Stress-strain curves provide a mechanism to introduce a more complex variation of materialproperties. In the simplest case described in Section 2.2.2, specified points define a curve torepresent the piecewise-linear equivalent stress vs. equivalent strain for use in a strain-rate andtemperature independent plasticity constitutive model. Section 2.2.3 describes more complexstress-strain curves which include a temperature dependence of the scalar material propertiesand (possibly) the stress-plastic flow curve. Section 2.2.4 describes stress-strain curves thatintroduce a strain-rate dependence of the stress-plastic flow curve. Combined temperature andstrain-rate dependence is not yet supported.

The following example refers to stress-strain curve 3 for the piecewise-linear description ofthe 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 Definition

Page 71: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

The following example illustrates the use of several stress-strain curves to define the tem-perature dependent material properties including Young’s modulus, Poisson’s ratio, thermalexpansion coecient and nonlinear flow properties (note the absence of e, nu, and alpha – thetemperature dependent values are defined 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 themodel according to a user-specified form. The present modeling capability focuses on isotropicFGMs with properties invariant of temperature and strain rate. The analyst specifies values ofthe 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 thespecified 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 materialproperty values are required. Suppose for example that Young’s modulus, Poisson’s ratio, massdensity and (isotropic) thermal expansion coecient all vary spatially for the material and arespecified at the model nodes. Then the material definition 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, supposethat only Young’s modulus and Poisson’s ratio vary spatially but the thermal expansion coef-ficient 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 Chapter3 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 descriptionfor a realistic representation. Materials that exhibit a sharp yield point, a Luder’s band andthen strain hardening are common examples not amenable to modeling with power-law andexponential type curves. For this form of the stress-strain curve definition, the material re-sponse remains invariant of temperature. Figure 2.1 provides an example of a stress-straincurve described with a piecewise-linear model.

Chapter 2 (Updated: 8-20-2011) 2.2-3 Model Definition

Page 72: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

StressesStrains

Total Strain

Str

ess

Fig. 2.1: Example of piecewise-linear stress-strain curve for temperature independent response.

Points on such curves are specified with the command sequence stress-strain curve whereeach such curve required in the analysis is assigned an integer number for identification. Thecurve may then be referenced in a material command as described above. The command syntaxis

stress(-strain) curve < curve number : integer >

[ < strain value : numr > < stress value : numr > (, ) ]

The following guidelines apply in defining such curves:

• Curve points are input as strain-stress pairs;

• Use as many lines as needed to specify the points;

• Multiple pairs may be specified 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 first point defines the yield strain and yield stress;

• Young’s modulus specified in the material command must match the value implied by the yieldstrain-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 strain–Cauchystress; for small strain-analyses the values should be engineering strain–engineering (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 Definition

Page 73: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

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 define materials with properties that varywith temperature. The material flow properties, Young’s modulus, Poisson’s ratio, etc. mayall vary with temperature through the definition of stress-strain curves. During analyses withtemperatures that vary over time (or load), these curves provide the needed data to establishthe current property values for the material.

The user specifies material properties over a range of temperatures with separate stress-strain curves, where each curve defines values for a constant temperature. Up to 20 such curvesmay be defined. The material definition then refers to a set of such temperature dependentstress-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 temperaturebetween the specified curves. During analyses, the various processors employ linear interpola-tion between specified temperatures and between specified values on curves to compute neededproperty data. When material point temperatures lie outside the minimum-maximum temper-atures specified for the stress-strain curves, the corresponding minimum-maximum curves areused in computations – no extrapolation is performed outside user specified range of tempera-tures. Figure 2.2 shows an example set of three isothermal stress-strain curves to describe thetemperature dependence.

Str

ess

Plastic Strain

Temperature:*100,*300,*500*

Note:*Plas%c'strain'values'must'be'iden%cal'for'all'curves'in'a'set'of'curves'

Fig. 2.2: Example of piecewise-linear stress-strain curve for temperature dependent response.

Chapter 2 (Updated: 8-20-2011) 2.2-5 Model Definition

Page 74: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

Temperature dependent properties and points on temperature dependent stress-plasticstrain curves are specified with the command sequence stress-strain curve where each suchcurve is assigned an integer number for identification. The curves may then be referenced in amaterial 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., Young’s modulus, Pois-son’s ratio, etc. at that temperature. Material models (bilinear, mises, cyclic, ...) for solidelements all support temperature dependent properties for e, nu, alpha. Additional temper-ature dependent properties may be specified for some material models – refer to the manualsection in Chapter 3 for each available model.

Initial temperatures in the model and subsequent changes in temperature with imposedtemperature increments via load steps all refer to a T = 0 condition. The temperature specifiedhere in the curve definition refers to a value above or below the T = 0 zero condition. Usersmay define a non-zero and (optional) spatially varying initial temperature field for the modelthrough the initial conditions command described in Section 2.9. Such temperatures are relativeto the T = 0 condition. For example, consider again Fig. 2.2 which shows curves for threetemperatures of +100, +300 and +500 above the T = 0 condition. Units for temperature mustbe consistent with units specified for the thermal expansion coecients. The user specifies aninitial temperature for the model of +150. Starting values for e, nu, ... then will be the averageof user specified values in the curves for the +100 and +300 temperature.

The ordering of stress-strain curves has no significance – curve number 1 is not required todefine the highest or lowest temperature. The input translators re-arrange the internal orderingof curves as needed to support the computational processors.

The following guidelines and requirements apply to define temperature dependent propertyvalues 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 specified 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 specified stress values must be positive;

• The first point defines the temperature dependent yield stress. The plastic strain for the first pointon 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 specified plastic strain values must be identical for all the curves thatmake up a set of curves to define the temperature dependence;

• The material response at plastic strain values larger than the last point specified on the curve followsa perfectly plastic response.

For large-deformation analyses, the values should correspond to the logarithmic strain-Cauchystress; for small strain-analyses the values should be engineering strain-engineering stress.

Chapter 2 (Updated: 8-20-2011) 2.2-6 Model Definition

Page 75: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

Any values of material properties, e.g., e, nu, ..., specified during the material definitionare overwritten during analysis with the above values interpolated at the current temperatureof the material point.

The following is a complete example which uses three curves to define the temperaturedependent 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 define nonlinear (flow) propertiesthat vary with plastic strain-rate. For these materials, the user specifies a series of stress vs.plastic strain curves at various (constant) plastic strain rates. Young’s modulus, Poisson’sratio and thermal expansion coecient do not vary with loading rate and are specified in thematerial definition. During analyses with plastic strain rates that vary over time (or load), thesecurves provide the needed data to establish the instantaneous flow properties for the material.By numerical di↵erentiation of the curves at a fixed plastic strain value, the computationalroutines also determine the rate of change of the uniaxial stress with plastic strain rate.

The user specifies material flow properties over a range of plastic strain rates with separatestress-strain curves. Up to 20 such curves may be defined. The material definition then refersto 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 ofplastic strain rate between the specified curves. During an analysis, the plastic strain rates atpoints within elements may not correspond to one of the values specified through stress-straincurves. In such cases, the material processors construct the stress vs. plastic-strain curve using(linear) interpolation between values on the specified curves. When the plastic strain rate at a

Chapter 2 (Updated: 8-20-2011) 2.2-7 Model Definition

Page 76: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

Str

ess

Plastic Strain

p : 500, 200, 0

Note:&Plas%c'strain'values'must'be'iden%cal'for'all'curves'in'a'set'of'curves'

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 specified for the stress-strain curves,the corresponding minimum-maximum curves are used in computations – no extrapolation isperformed outside user specified range. Figure 2.3 shows an example set of three stress-straincurves to describe the dependence on plastic strain rate.

Points on such curves are specified with the command sequence stress-strain curve whereeach such curve required in the analysis is assigned an integer number for identification. Thecurves may then be referenced in a material command as described above. The commandsyntax 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 significance – curve number 1 is not required todefine the highest or lowest plastic strain rate. The input translators re-arrange the internalordering of curves as needed to support the computational processors.

Note the following guidelines and requirements to define 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 specified on a line (maximum of 20 pairs total for the curve);

• The first point defines yield stress at the corresponding plastic strain rate.

• The plastic strain for the first 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 Definition

Page 77: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

• 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 upa set of curves to define the dependence on plastic strain rate;

• The material response at plastic strain values larger than the last point specified on the curve followsa 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-engineeringstress.

Any value of yield stress specified during the material definition 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 define the plastic strainrate 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 specified with the following commandsequence

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 specified FGM properties varies withthe computational models (see Chapter 3). Repeat the node data line as required to specifyvalues. 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 Definition

Page 78: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

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 beenentered and before the element specifications. A complete example of material, FGM andelement specification 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 specified all on one line or on separate lines. For example,all the e values could be specified first, then all the alpha values, etc.

• newly specified 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 strainsthat vary spatially over the model. Incompatibilities in the specified initial strains generatemechanical (residual) stresses to re-establish strain compatibility. To support this modelingstrategy, WARP3D provides the capability to define anisotropic thermal expansion coecientsfor 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 defined for each set of thermal expansion coecients but thisleads to the input of much repeated information when many elements (possibly thousands)with di↵erent 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 Definition

Page 79: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material Definition

definitions have been specified. Materials are defined in the usual manner except for valuesof the anisotropic thermal expansion coecients. Those values are input using a commandsequence having the syntax is

thermal expansion coe↵icients

< 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 specifiedin any order; values not specified are set to zero. Expansion coecients are changed from thevalues specified in the material definitions only for elements specified 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 specification.

Chapter 2 (Updated: 8-20-2011) 2.2-11 Model Definition

Page 80: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Element Properties

2.3 Element Types and Properties

The types of finite elements and their properties are specified prior to any compute requests.An elements command on a separate line initiates the element definition sequence. Any numberlines may follow to define the types and properties of all elements in the model. The definitionof 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 defined “material” that defines linear-elastic properties, mass den-sity and the nonlinear properties (if required)

• a list of element property identifiers and associated values, e.g., the order of numericalintegration

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 anypoint. Subsequent sections in Chapter 3 define the “type” of elements currently available andthe properties available for each element type. Element properties typically have a propertykeyword 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 specification is given. The key-word nonlinear requests a geometric nonlinear formulation that models large rotations andfinite strains.

Every element must have an associated material. Materials must be specified prior to theiruse in element specification.

An example of elements specification 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 defined, the specification for an element cannot be modified at any further point in theanalysis.

Chapter 2 (Updated: 12-15-2011) 2.3-1 Model Definition

Page 81: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Coordinates

2.4 Nodal Coordinates

The coordinates of nodes are specified relative to the global Cartesian reference axes. During

model definition, 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 specified values. The input syntax

is

coordinates (clear)

< node number : integer >

2

4

8<

:

x

y

z

9=

;< value : number >(, )

3

5

< 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 specified take on the last previously defined values. For example, the

sequence

coordinates

4 3.2 5.2 6.4

10 4.1

defines 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 modified by the default

command

coordinates

default

2

4

8<

:

x

y

z

9=

;

3

5

< node number : integer > [< value : number > (, )]

where any number of default commands may be given.

Some examples illustrating various options to define 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 Definition

Page 82: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 Definition

Page 83: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 definition, 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 specified 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 specified as an <integer list>.

An example of the incidences command is

incidences1 13-202 5 40 65 83 92 120 44 983 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 Definition

Page 84: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 facilitatethread-based (shared-memory) parallel execution. Elements in the model must be assigned toa block, and elements within a block must be numbered sequentially. The explicit blocking ofelements for computation represents a key feature of the WARP3D software architecture. Whenexecuting in parallel, a processor core (thread) is assigned to perform all required computationsfor elements within a block, for example, computing new tangent stiffness matrices. If WARP3Dis assigned 16 threads at the start of execution, computations are performed simultaneouslyon 16 blocks of elements. The processing of elements by blocks in this approach for parallelexecution greatly reduces the run-time overhead to create and delete the threads for the programgiven the comparatively large amount of real work performed within a thread. Further, allelement blocks have independent data structures and may be processed in any order — whichincreases parallel efficiency by allowing threads to process blocks without waiting for otherthreads to finish their blocks. Testing reveals essentially ideal, linear speedups for processingof element blocks.

The maximum number of elements permitted in a block is set by a compile-time variablein the WARP3D source code and is now generally 1281. The block sizes affect the efficiencyof execution. Small block sizes increase the number of blocks to be processed and shorten thelength of innermost do loops, i.e., more overhead work to setup threads-loops for blocks andless work per block. With larger sizes, the temporary data structures for a block may overflowthe 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 canbe found by running a large model with varying block sizes. However, such knowledge is notcrucial for successful, efficient executions. As an example, a model with 64,000 20-node brickelements having the large displacement formulation was executed for a range of block sizes.The cpu times required for generation of the element tangent stiffness matrices were recordedfor execution using a single thread. The computer was a top-end Intel processor. The solutionwith a block size of 128 yielded the lowest cpu time. Let that time be a relative 1.0. Relativetimes 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 modelsand have fixed the current limit on block size in the code at 128.

2.6.2 Simplified, 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 oriterative implementations [see also Section 2.10]. This form of parallel execution is available onWindows, Linux and Mac OS X computers. MPI execution is available as an option only onLinux computers.

1Larger block sizes may cause a runtime violation of the system limit on the stack size per thread – often8 MB. In a bash shell, we recommend using the command “ulimit -s unlimited” before starting WARP3D toremove the per thread limit on stack size

Chapter 2 (Updated 5-11-2013) 2.6-1 Model Definition

Page 85: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 firstcompute command. The default value of size is 128. The optional display requests a tabularlisting of the blocking assignments.

WARP3D assigns elements sequentially to blocks starting with element 1 and opening newblocks as needed. Elements in a block must: (1) be the same type, (2) be associated withthe same user-defined material in the input, (3) have same linear or nonlinear displacementformulation, (4) have the same integration order and (5) have or not have the B formulationfor 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 executionon Linux. In these situations, users must provide all the blocking information which is mostoften 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 softwareemployed to create the finite element model. The patwarp program, for example, converts aPatran neutral file (a text file) into a WARP3D input file and performs the element-to-blockassignments (see Appendix C).

The block assignment commands have the form

blocking

< blk : integer > < blk size : integer > < first elem in blk : integer >

Blocking data must be input after input of the element incidences to enable internal checks onthe correctness of blocking assignments.

The following example input describes the blocking assignments for a model having 25,970elements and a maximum block size of 128. This is a typical blocking command when allelements 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 Definition

Page 86: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Element Blocking

.

.

.

201 128 25601

202 128 25729

203 114 25857

The following rules define the proper assignment of elements to blocks. All elements in ablock:

• 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 segmentalcurves)

• 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 WARP3Dmaterial 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, elementswithin a block can be associated with different materials but all of the materials must usethe same computational material model, e.g., mises, gurson, . . . . This enables elements ina block to all follow a mises plasticity model, for example, with power-law hardening whereYoung’s modulus, Poisson’s ratio, yield stress, hardening exponent could vary between elementsin the same block through the use of different materials.

For these material models: cyclic, mises hydrogen and umat, all elements in a block mustrefer to the same material defined previously in the input. This is a more restrictive limitationon element assignment to blocks fort these material models and will be removed in a futurerelease.

When the properties of a material are defined by a segmental stress-strain curve or a setof stress-strain curves, the materials associated with elements in a block must all reference thesame stress-strain curve or set of curves.

In the blocking example above, it is quite straightforward to assign elements to blocks ofthe same size, except for the last block. In more complex cases where the elements are differenttypes, where there are multiple types of material models, etc., the blocks can have widelyvarying sizes as needed to comply the assignment “rules” bulleted above.

The above discussion applies to executions of WARP3D on a single processor/core or onany 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 Definition

Page 87: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Element Blocking

2.6.4 Blocking with Domain Decomposition

For extremely large models, WARP3D provides another level of parallel execution throughthe “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 furtherpartitioned into blocks of elements as described in the previous section. The assignment ofelements to blocks now becomes more complex. Chapter 7 describes the details and commandsfor parallel execution using the hybrid version of WARP3D. The brief discussion here describesthe necessary concepts.

Elements are first assigned to the domains of the model. Storage and computations for adomain often are mapped onto a specified computer hardware cluster or onto a specified groupof processors through operating system commands external to WARP3D. The user determinesthe best number of domains for the analysis based on the available hardware configuration andthe size/characteristics of the finite element model.

The domain number for each element block is simply appended as a new integer value inthe 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 element324,840. The input line in the blocking data would be

blocking

.

.

.

1300 128 324840 84

.

.

.

The element-to-domain assignment proves key for execution efficiency during the stiffnessassembly and equation solving processes. Good domains provide the smallest number of con-necting (shared) model nodes over the boundary surfaces with adjacent domains – achievingthis goal this is a topological optimization problem. The overhead during execution to com-municate solution data across domains grows significantly with the number of nodes on theboundary 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 foreach 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 stronglysuggest using the interactive patwarp program (Appendix C) to perform the element-to-domainassignment and the blocking assignments. This standalone program asks the user a series ofquestions about partitioning (number of domains, etc.). The patwarp program runs a topologicaloptimization first to assign elements to domain, then assigns elements to blocks while insuringelements in a block conform to all the above rules, sets the ordering of internal vs. externalblocks in a domain, etc. – and finally writes the WARP3D input file.

The domain and blocking construction invariably requires that patwarp re-number elementsin 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 Definition

Page 88: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Element Blocking

blocking rules. At the user’s request, patwarp will write a new Patran neutral file for the entiremodel that reflects the revised element numbering. It also provides a special Patran compatible,element results file that has the domain and block number for each element in the model. Userscan invoke the Patran results processing capabilities together with this file to produce colorimages of the model displaying the domains and blocks.

Chapter 2 (Updated 5-11-2013) 2.6-5 Model Definition

Page 89: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

2.7 Nodal Constraints

WARP3D currently supports three types of displacement constraints applied to the modelnodes:

• Absolute: zero or non-zero value imposed in a specified direction at a node. The directionmay be in the global, Cartesian system or in a user-specified (local) coordinate system at anode

• Multi-point: a specified linear relationship between two or more displacement componentsat the same or multiple nodes expressed in the global Cartesian system. These are oftentermed relative constraints or multi-point constraints (MPCs).

• Tie-mesh: used to “tie” together multiple pairs of surfaces throughout the analysis. Thetwo surfaces must be geometrically identical (to within a tolerance) but may be (and mostoften are) topologically dissimilar. This capability enables very convenient mesh transitionsand the connection of a mesh region made of hex elements, for example, to a mesh regionmade of tet elements.

The input sequence to initiate the definition absolute and multi-point nodal constraint datais the constraints command. The input translator destroys all previously defined absoluteand multi-point constraint data upon encountering this command. Thus to modify constraintsbetween load (time) steps, all the constraints must be specified – not just the constraints thathave changed.

Two di↵erent types of commands are used to define the tie-mesh constraints as describedin a subsection below. Commands for tie-mesh constraints are processed independently of theconstraints 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 una↵ected by model inputentered under the constraints command.

To simplify input, we recommend that all absolute constraints be specified first, followed bythe multi-point constraint equations. The keyword multipoint separates the two types of con-straints. The input translators delete previously defined MPCs upon encountering the keywordmultipoint.

constraints

< absolute constraint >

< absolute constraint >

< absolute constraint >

··

multipoint

< multipoint constraint equation >

< multipoint constraint equation >

··

Chapter 2 2.7-1 Model Definition

Page 90: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

2.7.1 Absolute Constraints in Global Coordinates

The simplest command to define absolute constraints in the global Cartesian system has thesyntax

constraints

< node list : list >

2

4

8<

:

u

v

w

9=

; (=) < constraint value : numr >(, )

3

5

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 specification of constraints for all nodes that lie on a certain coordinate planeof the model, the list of nodes followed by a list of directions and constraint values in the abovecommand may be replaced by the following:

plane

8<

:

u

v

w

9=

;= < coord value : numr > (verify)

where the < constraint value > can have one of several forms

fixed

symmetry

or

8<

:

u

v

w

9=

; (=) < displacement value : numr >

The fixed option sets u = v = w = 0 for all nodes located on the specified plane. The symmetry

option imposes u = 0 for all nodes located on the specified x plane, v = 0 for all nodes locatedon the specified y plane, or w = 0 for all nodes located on the specified z plane. Lastly, adisplacement 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. Thenumber of nodes a↵ected by the plane command is always printed for reference. The constraintprocessor uses a relative tolerance to locate nodes on the specified plane based on the modeldimensions 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 skewsupports, for example, that arise naturally in structural systems or in 3-D models of axisym-metric structures. To define constraints in a non-global Cartesian system, consider the simpleproblem 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 Definition

Page 91: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

Xg

YgXL

YL

30o

Xg

Yg

Zg

XL =YL =ZL =

0.866025 0.5 0.0--0.5 0.866025 0.00.0 0.0 1.0

rotation matrix

constraints

transformation matrix 32,row_1 0.866025 0.5 0.0,row_2 -0.5 0.866025 0.0,row_3 0.0 0.0 1.0

32 u = 0

32

Fig. 2.7.1 Example of local coordinate system for constraint specification.

global x, y axes are not aligned. The user defines a 3 3 rotation matrix of direction cosineswhich transforms global vector quantities into the local coordinate system. The boundary con-dition shown becomes simply u = 0 in the local coordinate system. Transformation matricesare specified with the command sequence:

constraints

transformation matrix < node list : list >2

4

8<

:

row 1

row 2

row 3

9=

; [< direction cosines : numr >]

3

5

where any number of nodes may be associated with the specified transformation matrix; thetransformation matrix command may be repeated as necessary within the constraints def-inition. In this example, the constraint is specified immediately following definition of thetransformation matrix although this is not required.

The input system verifies that the rotation matrix specified is orthogonal and that thematrix 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 definedfor the nodes. The plane option for specification of constraints may be combined with thetransformation matrix option. The specified x, y, or z plane remains a global plane but thespecified constraints for nodes on the plane take on the meaning of any local coordinate systemdefined at the node through the transformation matrix.

These local coordinate systems apply only during the specification of constraints. Nodalloads and element loads must always be specified in global coordinates. All nodal output quan-tities produced by WARP3D are in global coordinates.

Chapter 2 2.7-3 Model Definition

Page 92: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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-pointconstraint “equation” is specified with input having the form

constraints

< absolute constraint >

··

multipoint

2

4< node id : integer > < coecient : real >

8<

:

u

v

w

9=

; (, )

+

3

5 = 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 mustbe type < real >. There is no default value of 1.0 for the < coecient >; the < coecient >must be specified as in the first example equation above. A space is required on each side ofthe +, sign as indicated in these examples – prevents a node number from being interpretedas a negative integer. To continue long equations over multiple input lines, insert the commaand line break after a direction specifier as in the above example.

In dynamic analyses, the computed displacements satisfy the MPCs exactly as in staticanalyses. The Newmark time-history integration procedure generates the nodal velocities andaccelerations. The computed velocities also satisfy the linear relationships specified in the MPCsfor geometrically linear solutions but the accelerations approximately satisfy the relationships.

In the coming releases, new commands will be added here to generate automatically themost 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 define the incremental changes to be imposedover the next load step (and time step). Non-zero absolute constraints are enforced during thefirst iterative cycle for the load step. In subsequent iterations, no further displacement changeoccurs on the constrained displacements to maintain the value of the specified increment or thelinear, MPC relationship.

By default, the current set of absolute constraints with a multiplier of 1.0 are imposedduring each nonlinear load step. Alternatively, the multiplier for constraint increments overload step may be included in the definition of the loading step (see Section 2.8.5).

Chapter 2 2.7-4 Model Definition

Page 93: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 specified to request adisplay (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 meshedwith tet elements

In these cases, the faces of elements on each side of the transition define a geometrically identicalsurface (within a tolerance) even though no topological congruency exists between element faceson each side of the transition surface. Moreover, the element types may be di↵erent on eachside of the transition surface.

Consider the simple 2-D version in Fig. 2.7.2 for purposes of discussion. Here the topmostrow of elements (labeled I, II ) are 8-node (quadratic) isoparametrics with linear triangle ele-ments below. The dotted line defines the interface “edge” for the 2-D case which becomes a“surface” in the 3-D case. Nodes A, B, C, D, E are defined with the top region mesh whilenodes a-e are defined in the bottom region. The two mesh regions could have been defined byseparate working groups, using di↵erent meshing programs, etc. Edges A-B-C and C-D-E areshown here as straight but they can be curved in general for the quadratic elements. The keyrequirement is that the mesh developers create nodes a-e to lie (geometrically) on the interfaceedge represented by the top elements. The tie-mesh processors determine, for example, thatnode b lies at a specific location between nodes A-B-C on a certain edge of element I. A setof multi-point constraints is constructed to “tie” node b to have the same displacements asthat location on edge A-B-C of element I. The processors solve for the parametric coordinateon edge A-B-C corresponding to the geometric location of node b. The generated multi-point

Chapter 2 2.7-5 Model Definition

Page 94: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

A

BC

D

E

a

bc

d Slave Surface

Master Surface

F

GH

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:

ub = AuA + BuB + CuC

vb = AvA + BvB + CvC

were A, B, C are numerical constants derived from the edge shape functions for element Iusing 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 nodesA-B-C are the independent nodes. The (u, v) displacements for node b are eliminated prior tosolution of the equilibrium equations. It is common terminology to define the edge containingnodes 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 theslave 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-meshprocess. The processing routines for tie-mesh readily find that nodes C and c have identicalcoordinates and thus the simpler multi-point constraints are generated as uc = uC and vc = vC(in 3-D, the w displacements are included as well). Now suppose the coordinates specified fornode b are defined by the user such that it does not lie exactly along the edge A-B-C. The tie-mesh processors support a user-defined tolerance with an adjust option for such situations whichallow the processors to re-position node b to lie exactly on edge A-B-C prior to construction ofthe multi-point constraints. Finally, this example shows a tie-mesh transition from quadratic

Chapter 2 2.7-6 Model Definition

Page 95: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

elements to linear elements. Such a mesh allows the formation of gaps and overlaps betweenelements in the deformed configuration since only slave nodes are constrained. Moreover, inthis example, there exists a clear gap in the undeformed mesh at node A since the triangleedge a-b must be straight. This represents poor practice and should be avoided. When theelement types on both adjacent surfaces have the same displacement interpolation order, thedeformed configuration maintains inter-element displacement compatibility. If a transition fromquadratic to linear elements must be used in the mesh, it is recommended that the interfacesurface be a flat 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 of20-node hex elements to a mesh of 10-node tet elements. The more refined mesh of tet elementsserves as the slave surface. In this example, the tie-mesh processors generate MPCs of variouscomplexity. 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 refined mesh surface should be chosen as the dependent (slave) surface. If themore coarse mesh surface is chosen as the dependent surface, there could be small elements onthe more refined surface not connected to the coarse dependent surface, thereby allowing a gapin the tied mesh connection.

In geometrically nonlinear analyses, the MPCs generated by tie-mesh processors use theundeformed geometry and thus remain unchanged during the solution. In the example above,node d remains fixed to the same parametric point (i.e., material point) on face A ! Hthroughout the solution and thus the MPC coecients do not change.

The tie-mesh specification involves two sets of commands not connected to the constraints

command described in the previous sections. First, commands are given to construct surfacescomposed of faces of elements, where the face numbers correspond to those used to define ele-ment loads. Multiple surfaces are usually defined and are given names as part of the definition.Second, the ( tie) command is specified 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 tomatch 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 di↵erent valuesof the tolerance for di↵erent 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 definitions are required for each pair of master and slave sides of the interfaces. Theface numbers for hex and tet elements are shown in Fig. 2.7.4. These numbers correspond tothe face numbers used to apply loadings on the elements. The abaqus option proves convenient

Chapter 2 2.7-7 Model Definition

Page 96: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

to import models available as Abaqus input files. The faces of tet elements are numberedidentically 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 specified Abaqus face numbers to WARP3D face numbers. Anexample 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 specified < surface id > matches a previously defined surface, the existing surface isdestroyed and re-defined by the new input commands. As many surfaces as are required maybe defined.

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 adjustoption corrects small geometric mismatches in node locations on the specified slave surfaces tomatch the geometry of the master surfaces (more details below). The keywords master or slaveare required. Use as many lines as needed to define all the master-slave pairs.

Multiple tie mesh commands may be used for clarity in model definition or to change thetolerance value for di↵erent pairs of surfaces. Reference to an existing tie mesh set causes theexisting set to be destroyed and re-defined 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 Definition

Page 97: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

!

"

#

$

%

&

'

()*+, -./ -.0,1

! !22'22"22#' &22(22$22%" !22&22%22'# #22(22$22"& '22%22$22"% !22&22(22#

!"

#

!

#

:*

'

"

:!

:&

:)! )" :&" :!" :*

)*+, -./ -.0,1

! !22'22"' !22#22'" '22#22"# "22#22!

WARP3D,(Abaqus(faces(123(and(6(are(iden8cal.(WARP3D(faces((4,5)(=(Abaqus(faces((5,4).(

Fig. 2.7.4 Face numbers for hex and tet elements to define surfaces for tie-mesh constraints.

The tolerance value supports checking of nodes on the slave mesh surface to determineif they are suciently near the master mesh surface to be considered “in contact” with themaster surface in the initial, undeformed configuration. Slave nodes that satisfy the specifiedtolerance are included in the automatically generated MPC equations produced by the tie-meshprocessors. If the absolute (“gap”) distance from a slave node to the master surface exceedsthe specified tolerance, the slave node is not included in the MPCs – a warning message isissued that lists the current node and surface data for the omitted slave node. When the userknows the gap distance between the slave node(s) and master surface(s), the tolerance shouldbe set to a slightly larger value to insure that all slave nodes are included in the tied meshMPC 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 refined mesh surface) as a starting point. The typical element size should be areasonable starting point to set a suitable tolerance value. The user should check the outputfile for any tied mesh warning messages about unconstrained slave nodes to obtain informationabout the computed gap distances. This information supports changes to increase or decreasethe tolerance value to either include all slave nodes or to exclude some slave nodes from thetied mesh.

Chapter 2 2.7-9 Model Definition

Page 98: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Nodal Constraints

The adjust feature updates the initial coordinates of slave nodes to lie exactly on themaster mesh surface. The tie-mesh processors perform this location adjustment of the slavenodes 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 define the surfaces for mesh tie modelingcan require considerable e↵ort. While Patran does not support this feature directly, the elementlists-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 elementsthat define a surface for mesh tie modeling. Repeat for each additional mesh tie surface. Whentranslated into WARP3D input file by the patwarp program, each separate load case will havethe list of elements and corresponding faces included in the WARP3D input file produced bypatwarp. Simply remove the keyword pressure and the loading intensity using a text editor andadd the surface command to replace the load case command.

Chapter 2 2.7-10 Model Definition

Page 99: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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. Elementloads, which are dependent on the type of finite element, and changes of nodal temperaturesare converted to equivalent nodal forces by element processing routines.

Nodal loads and element loads are grouped together to define loading patterns. The loadingpatterns define the spatial variation and reference amplitudes of loads on a model. The dis-placement constraints defined on the model also represent a loading pattern but with a built-inname, i.e., constraints. Examples of loading patterns include self-weight, an internal/externalpressure and a localized temperature increase/decrease.

Once loading patterns are specified, a nonlinear loading condition is defined [the termdynamic 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 manythousands of steps as needed). An incremental-iterative solution procedure is performed toobtain the displacements, velocities accelerations, strains, stresses, . . . at step n + 1 startingwith the the solution available at step n and the user-specified, incremental (step) loadingimposed on the model over n ! n + 1. For dynamic analyses, a load step (n ! n + 1) is thesame as a time step tn ! tn+1.

The incremental load applied to the model over a load step is formed by combining theequivalent nodal forces/displacements from the loading patterns with pattern scaled by anappropriate factor. For example, suppose the pattern loading for the internal pressure has amagnitude of the final, 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 ofload steps – say 100. The user then specifies 100 load steps with the reference (pattern) loadingfor the pressure specified to have a 0.01 scale factor in each step. Alternatively, the patternloadings are often defined to represent a unit value of some loading on the model, e.g., a 1 MPainternal pressure over certain surfaces. This can simplify the specification of scale factors in thedefinition of loading steps.

WARP3D computes the incremental solution for each load step assuming the model responseis dynamic and nonlinear. A linear dynamic analysis has no material nonlinearities, geometricnonlinearities or contact present in the model definition (computed residual forces at nodesfollowing the first Newton iteration of the step are all zero). A static linear or nonlinear analysisis accomplished as a dynamic analysis by specifying: (1) a very large time increment or (2) zeromass for the model. The user selects one of the two procedures by setting the time incrementor the model mass. A static, linear analysis would most often be performed using just 1 loadstep.

The first sections below describe the commands to define nodal forces and element loadsthat construct a loading pattern. Commands are then defined 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 defined through a command of the form loading

Chapter 2 (Updated: 9-10-2012) 2.8-1 Model Definition

Page 100: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Loads

loading < loading identifier : label >

where the loading identifier is used in subsequent commands to identify the loading, for example,in compute and output requests. Only the first eight characters of the identifier are processed;all loading patterns must have unique identifiers. When an existing loading pattern is referencedin this command, the input translators delete all previously defined node and element loadingsfor the pattern. Specified temperature values for nodes and elements in the pattern loadingrepresent incremental changes relative to the initial temperature distribution specified for timezero (start of load step 1) using the initial conditions command (see Section 2.9).

2.8.2 Nodal Loads

A sequence of nodal load definitions has the form

nodal (loads)

< node list : list >

2

664

8>><

>>:

force x

force y

force z

temperature

9>>=

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

3

775

Nodal loads are additive; if the same node and direction appear in two di↵erent loading com-mands within the pattern, the sum of the two loads is applied to the model. An examplesequence to define 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 first line2 from the last line), in addition to a net temperarture change of 102.7. Nodal forces are alwaysapplied in the global coordinate system and are thus una↵ected by the deformed geometry.

User-Defined Nodal Loads Routine

The nodal forces and temperatures for a pattern loading may be defined through a user-writtenfunction included in the WARP3D program. Appendix J provides details of developing such aroutine and how to include it in WARP3D.

To request that a user-routine be invoked to define nodal loads rather than the type ofinput 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 patternmultiplier 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 Definition

Page 101: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Loads

2.8.3 Element Loads

A sequence of element load definitions 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 constantdirection, a face pressure, or a uniform temperature change for the entire element. The typesof element loads and commands to define them are dependent on the type of element. Refer toChapter 3 for this information.

When the analysis includes geometric nonlinear e↵ects (large displacements), equivalentloads for the incrementally applied surface tractions are re?computed at the beginning of eachload 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 defines the combinations ofpattern loads for each time step in a dynamic analysis or each load step in a static non? linearanalysis. These commands have the form

loading < loading identifier : label >

nonlinear

steps < steps : list > [ < pattern id : label > < multiplier : numr > (, ) ]

where the keyword dynamic may be substituted as a synonym for nonlinear. Nodal and elementloads cannot be specified within a nonlinear/dynamic loading definition above. The multipliervalue must follow each pattern id – a multiplier value is required input. As indicated, multiplepattern loads may be combined with di↵erent multipliers to define a load increment for a timestep in a dynamic analysis or a load step in a static nonlinear analysis.

Only one loading condition of type nonlinear or dynamic should be defined for an analysis.

By default the existing constraint definitions are included in each load step with a multiplierof 1.0. The constraints used in solution for a load step are the constraints defined at theactual solution time for the step (users can redefine the constraints data at any time – the1.0 multiplier applies to the currently defined constraints at step solution time). The user mayinclude 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 Definition

Page 102: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Loads

where the loading patterns unit pressure, unit tens and pull have been defined previously.Although the steps are defined in ascending sequence in the above example, the steps may bedefined in any order; the final set of steps must comprise a sequential list.

Modifying Step Definitions

During the course of a nonlinear or dynamic analysis, it is often necessary to define additionalsteps or to modify the definition of steps yet to be analyzed. For example, previously defined,but unsolved, load steps may need to have a reduced multiplier based on current convergenceproperties.

Unsolved steps within a nonlinear/dynamic loading condition may be redefined and addi-tional (new) steps defined at anytime by simply entering the above command sequence withappropriate load step definitions. Only the steps requiring a change need to be entered.

2.8.5 Displacement Control Loading

A nonlinear/dynamic loading condition with appropriate step definitions must be always bespecified for a model. If the model is loaded only by non-zero imposed displacements, there areno loading patterns defined. The keyword constraints is listed in the definition of load steps asin this example which gradually reduces the magnitude of displacements imposed in each stepas 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.0multiplier. Note also that the constraints information may be re-defined between load steps(see Section 2.7).

Chapter 2 (Updated: 9-10-2012) 2.8-4 Model Definition

Page 103: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Initial Conditions

2.9 Initial Conditions for Model

Users may specifiy 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 specified, 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 specification of

initial temperatures proves convenient to set up the use of temperature dependent material

properties. All temperature changes specified in the loading thus are relative to the specified

initial nodal temperatures.

The command initiate the specification 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 >

2

4

8<

:

u

v

w

9=

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

3

5

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 >

2

4

8<

:

u

v

w

9=

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

3

5

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 Definition

Page 104: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

2.10 Solution Parameters

The nonlinear (and dynamic) solution in WARP3D follows an incremental-iterative strategywith 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 ofparameters. Each of the parameters has a built-in default value that may be redefined by theuser. The user declares the values of these parameters before computation begins for the firstload step; those values remain in effect unless modified by the user as the solution progressesthrough the load steps. New values for these parameters may be defined whenever the inputtranslators accept new input lines. The most current values of the parameters then controlsubsequent computations over load steps.

The specification of solution parameters begins with a command of the formsolution

nonlineardynamic

(analysis) parameters

and terminates whenever a command is given that does not define a parameter controlling theanalysis. The following sections describe each of the parameters assignable by the user and thecommand syntax. An example defining values for selected solution parameters is shown belowfor 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 ofelements as described in Section 2.6, and in the equation solvers. The user sets the number ofthreads for parallel execution through a system environment variable before initiating WARP3Dexecution. To set the number of threads in a Bash shell, for example, use a command of theform

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 Definition

Page 105: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 modelcharacteristics and computer hardware for the application of each solver. All solvers execute inparallel to utilize the hardware resources efficiently.

Pardiso Sparse Direct Solver (Threads-Only Execution)

The Pardiso sparse direct solver for symmetric systems of equations as implemented in theIntel Math Kernel Library (MKL) is the most widely applicable solver.

Pardiso is available on all three platforms (Windows, Linux, Mac OSX) in the threads-onlyexecution 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) isavailable 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 efficiency begins to de-grade for more than 8 or so threads, although the parallel efficiency continues to improvewith each new release of Pardiso. Nonlinear solutions with models having 500K or more nodesare handled readily with the Pardiso direct solver – provided the computer has sufficient realmemory to prevent virtual memory paging to disk. Use the OOC options when this situationdevelops.

The user sets the number of threads for parallel execution of Pardiso through a systemenvironment variable before initiating WARP3D execution. To set the number of threads forPardiso 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 files in a user specified directoryto segment the factored equations such that the maximum (physical) memory use does notexceed a user-specified limit. The following additional commands request OOC execution ofthe Pardiso solver and provide the additional user data.

solver out-of-core

onoff

solver memory < allowed memory in MB : integer >

solver scratch directory < string >

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

Page 106: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

The default value is “off”. 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 thatPardiso may allocate for use in solving the equations. The value is specified in MB (mega-bytes). Thus, 1.5GB would be specified as 1500 in the command. The allowed memory shouldalways be as large as possible. The default value for memory is 500MB. If not specified, thedefault scratch directory is ./warp3d ooc solver. Pardiso then creates scratch files with names./warp3d ooc solver.jnl, etc. (the solver creates scratch files in the working directory with thesenames). A directory specified with the name d:/crack job/small model for example in Windowsimplies that the directory d:/crack job already exists and that scratch files will be created withnames d:/crack job/small model.jnl, ... Note the use of forward slashes (/) in file names for theWindows systems. Scratch files 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 theIntel Math Kernel Library (MKL) is the next most widely applicable solver. Select the solverwith 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. Thesparse direct solver described above performs the factorization. The solver runs with a fixedpreconditioner for load steps and Newton iterations until the convergence rate of the CGiterations degrades to an unacceptable level. The current set of equations is then re-factored toupdate the preconditioner. The iterative solution process does not reduce the memory demandssince the preconditioner uses the Choleski factorization of the assembled equations via thePardiso direct solver.

This solver is often twice as fast (or more) for larger models as the direct solver since CGiterations are much less expensive that factorization. The solver always returns a solution viafactorization if required. No out-of-core option is available. The solver is invoked with a tightconvergence 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 Definition

Page 107: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 hypreiterative solver (PCG) from Lawrence Livermore National Laboratory is incorporated intoWARP3D. This solver provides a family of highly scalable preconditioners and is suitable formodels with millions of nodal displacements.

Key points:

• The finite 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 stiffness assembly process is performed with a distributed approach over the MPI ranks whichdramatically reduces memory requirements on MPI rank 0. At present, the use of tied-contact and/oruser-defined multi-point constraint features in WARP3D disables the distributed assembly. For thissituation, element stiffness matrices are collected on MPI rank 0 for assembly and enforcement ofthe linear constraints. The assembled equations reflecting the tied/multi-point constraints are thendistributed 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 theadaptive step size control option in WARP3D solution parameters, the load step size will be reducedand the solution process continued (see subsection below on adaptive step size control). Initial testingwith 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 makeuse of thread parallel processing as well. Chapter 7 describes the process to begin WARP3Dexecution using MPI with threads on the Linux platform. The user must specify the numberof MPI ranks and the number of threads per rank to not oversubscribe computing resourcesavailable on the hardware.

Recommendation: Experience at this time suggests that the number of threads per MPIrank should be 2-4 (at most). WARP3D processing of element blocks using threads showsextraordinary efficiency, but hypre shows little improvement in efficiency with more than a fewthreads per MPI rank. At present then, models should be set up for predominantly domain-based, MPI execution.

The hypre system offers many user selectable options. WARP3D exposes some of the keyoptions to enable changing of values by the user if necessary. Appropriate default values aredefined by the WARP3D input translators such that the minimum input shown in the aboveexample often suffices.

Chapter 2 (Updated: 5-10-2013) 2.10-4 Model Definition

Page 108: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 oflarge, sparse systems of linear equations. It uses least-squares (Frobenius norm) minimizationto compute a sparse approximate inverse. The sparsity pattern used is the pattern of a power ofa sparsified matrix. ParaSails also uses a post-filtering technique to reduce the cost of applyingthe preconditioner.

BoomerAMG is a parallel algebraic multigrid solver. BoomerAMG generally produces amuch better preconditioner than Parasails which improves convergence of the PCG method. Inaddition, for large models BoomerAMG exhibits more parallel scalability than Parasails. Usersare encouraged to experiment with the two preconditioners for their models.

Input commands for the hypre solver fall into three categories: (1) commands common toall preconditioners, (2) commands specific to Parasails, and (3) commands specific 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. Onlypcg 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 duringsolve (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-definable options for the hypre (PCG) solver

When running hypre with a large number of MPI ranks (greater than 128), we recommendsetting the balance parameter to 0.9, which turns on load balancing within hypre.

Users will likely find that the default tolerance for convergence of the PCG iterations is toostrict. Numerical testing reveals it may often be reduced to 1.0E-6 without loss of accuracy inthe solution. Experimenting with the tolerance for specific models may lead to computationalsavings.

With the Parasails preconditioner, slightly increasing the “threshold” and “filter” parame-ters (to something in the range of 0.1 to 0.15) can significantly improve performance on someproblems. 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 effort required to form the preconditioner. In most cases, users willbe better off switching to BoomerAMG if convergence with Parasails is difficult.

In BoomerAMG, parameters relating to the smoother, the cycle type, and the number oflevels will, in general, only effect the quality of the preconditioner, not its parallel efficiency. Theremainder of the parameters effect both convergence and parallel performance. For additional

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

Page 109: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

Option Default Description

levels 1 highest power of the matrix A to be used in constructing the pre-conditioner

filter 0.1 sparsification factor applied to the approximate-inverse precondi-tioner

threshold 0.1 sparsification factor applied to the system of equations

Table: User-definable parameters for the Parasails preconditioner

details on these parameters, BoomerAMG, and algebraic multigrid methods in general, consultthe 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 schemeare defined by the commands

time step < number >

newmark beta < number >

The default time step size is 106 and the default value of the Newmark β factor is 1/4. Notes:

• The time step must be positive

• Strain-rate dependent solutions without inertia effects (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 specified values of β ≥ 1.0, the input processors set γ = 1.5 in Newmark’s method. Thisaction increases algorithmic damping to maximum levels.

• All solutions are actually computed with the fully implicit dynamic formulation. Staticanalyses 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 defined 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 insufficiently strict tolerances on the convergence tests. Forlinear analyses or a solution strategy with the displacement extrapolation option turned off,the minimum number of iterations may be set to 1.

minimum iterations < integer >

Chapter 2 (Updated: 5-10-2013) 2.10-6 Model Definition

Page 110: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 finegrids: classical, direct, standard, multipass or extended classical(ext classical)

relaxation gs relaxation technique used to smooth grid operators: jacobi orGauss-Seidel (gs)

max levels 10 maximum number of grids to construct (including original linearoperator)

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 – defaultcycle 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-definable 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 tabledefines the solution quantities appearing in the convergence tests.

Using these quantities, the four convergence tests are defined in the table. Here || · || de-notes the Euclidean norm. Multiple convergence tests may be defined; convergence requiressatisfaction of all tests. Tolerance values are specified 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 invarious models. The user specified tolerance exerts a dramatic impact on the required numberof Newton iterations and the total CPU time. Excessively tight tolerances do not provide realimprovements in solutions.

Also note that these are relative tolerance tests and the choice of physical units affectsthe 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 Definition

Page 111: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

||Rk|| Euclidean norm of the residual force vector for the model following solution ofiteration 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 reactionsat constrained dof and inertia effects)

||∆u1|| Euclidean norm of the incremental displacement vector for the model computedduring iteration 1 of the load step

||∆uk|| Euclidean norm of the incremental displacement vector for the model computedduring 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 forcesand externally applied nodal/element forces

Table: Quantities for Definition of Convergence Tests on Global Newton Iterations

Test 1: ||∆uk|| ≤ (user tol/100 )×||∆u1||Test 2: ||Rk|| ≤ (user tol/100 )×||P ||Test 3: max

[abs u

(i)k

]≤ (user tol/100 )×||∆u1||

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 thesame problem are given in pounds-force instead. This has importance, for example, in fractureproblems where the actual residual force values on nodes in the crack front region must becontrolled carefully.

Commands to define 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 defined above. An example of convergence testcommands 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 Definition

Page 112: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

Stiffness for Iteration One of Load Step

The nonlinear solution in each load/time step is accomplished with a (full) Newton iterativeprocedure by default. The dynamic tangent stiffness is updated prior to each equilibrium itera-tion and at the beginning of the load step. Newton iterations are numbered 1, 2, 3, ... where theincrement of applied forces and imposed displacements comprise the load vector for iteration1. 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 causedby an imposed load reversal is typical of such situations. Use of the linear-elastic stiffness ma-trix for the first Newton iteration of the new load step often dramatically improves convergenceproperties of the solution. Newton iterations 2, 3, ... then employ the usual tangent stiffnessmatrix.

Users may request application of the linear-elastic stiffness for iteration 1 with the command

linear stiffness (for) iteration one

onoff

The default value is “off”. When set “on” the linear stiffness option remains in effect until theabove command is re-entered with “off”.

To request use of the linear stiffness for only the next load step, the simpler command is

linear stiffness (for) iteration one next step

2.10.5 Adaptive Step Size Control

In a nonlinear analysis (static or dynamic), it is often difficult to estimate a priori the appropri-ate load step sizes that provide rapid convergence of the Newton iterations. WARP3D providesa simple facility to reduce automatically load step (and time step) sizes when the solutionappears to be diverging or converging slowly. By default, the adaptive step size feature is notused.

The adaptive algorithm is very simple. When the user specified limit on Newton iterationsis reached and the solution has not converged, the load step (and time step) is subdividedinto four (4) equal increments and the solution for the load step is restarted. Steps are notrenumbered during this process so that output messages indicate four solutions of the sameload step. The output messages indicate which fraction of the user specified load step is beinganalyzed, e.g., 0.25 to 0.5.

Material models may also request an immediate load step reduction when the adaptivesolution strategy is enabled. State variable updating may experience convergence difficultiesrequiring a reduction in load step size.

In geometrically nonlinear analyses, unusually large displacement increments may lead toa zero or negative deformation Jacobian at Gauss points in elements. When this conditionis detected during strain computation, and adaptive solution control is “on”, the solutionprocessor terminates further computations and immediately reduces the load step size. Whenthe adaptive option is “off”, the solution processor terminates execution of WARP3D.

Chapter 2 (Updated: 5-10-2013) 2.10-9 Model Definition

Page 113: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

If the solution does not converge in any one of the 4 subincrements, that subincrement isfurther subdivided into four more increments and the solution restarted. Only two such levelsof step reduction are permitted; nonconverged solutions at the second level cause programtermination. In many cases, the first level of step reduction is sufficient. In other cases, one ormore of the 0.25 fractions must be subdivided to obtain convergence. The adaptive algorithmperforms level two reduction only for the level one fractions that do not converge.

The command to control adaptive load step sizes is

adaptive (solution)

onoff

When the adaptive procedure restarts the analysis for a load step or subincrement, it forces thefirst iteration to be re-solved using the linear stiffness for the model. This is required since thecurrent 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 handlethese processes automatically.

Adaptive load step control is strongly recommended for users attempting the nonlinearsolution of new classes of problems until experience with the convergence characteristics areknown. 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 userspecifies load step sizes known to exhibit good convergence characteristics.

Non-zero constraints: When a load step is subdivided, the non-zero constraints (e.g., ∆u10 =0.1) imposed by the user are reduced by the same adaptive factors as the step load. The actualconstraint values specified by the user and stored in program data structure are not modified.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, convergencerate, etc.) WARP3D provides an option to produce status messages independent of the normal(standard) output file for the job. A status file is updated after each equilibrium if each step.This file is named <structure id>.batch messages. Linux/OS X users can invoke the tail com-mand on this file during execution to examine the last few lines. The typical last few lines ofthis file 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 Definition

Page 114: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

If the batch message file exists from a previous analysis, the new information overwrites the oldfile. By default, no batch message files are written. The command to control batch messages is

batch (messages)

onoff

2.10.7 Wall Clock Time Limit

On some systems, batch jobs are executed with a user specified limit set on the wall time for thejob. If execution exceeds the wall time limit, the program is aborted by the operating systemand all results after the last written restart file are lost. Estimating the required wall time forhighly nonlinear problems may be very difficult, especially when similar problems have notbeen executed previously.

To help users with this problem, WARP3D provides its own wall time limit feature. Theuser sets the allowable wall time (in secs) for the job. At the beginning of the solution forload step n+ 1, WARP3D assumes that the solution time for the step is the same as the timerequired the solution of load step n. The total wall time estimated to advance the solutionthrough load step n + 1 is computed using this procedure and compared to the user specifiedlimit. If the estimated time exceeds 90% of the user limit, WARP3D writes a restart file namedxxxxx 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 >

off

By default the wall time limit feature is “off”.

2.10.8 Displacement Extrapolation

In nonlinear analyses, the use of an extrapolated displacement vector frequently reduces thenumber of global Newton iterations – especially for the relatively smooth responses in bothsmall and finite-strain plasticity. All terms of the incremental displacements computed fromthe solution over step n − 1 to n are scaled by the same factor and applied to the model tostart the iterative Newton solution from n to n+ 1.

The extrapolated displacement vector is employed at the beginning of load step n + 1 tocompute a set of incremental nodal forces for application to the model during the first Newtoniteration together with any applied incremental loads. Strain increments (∆ε) are computedfrom the extrapolated displacements and adjusted for temperature effects, stress incrementsfollow from [DT ]∆ε with corresponding internal nodal forces from

∫[B]Tσ dV . Here, [DT ]

follows from the last (converged) iteration of step n. History dependent material data remainsunmodified in the extrapolation procedure.

The extrapolation procedure requires (and verifies) the existence of proportional, incremen-tal loading from steps n → n + 1. Consider the following example. The definition of loadingpatterns (say A and B) for step 10 has user-specified multipliers of 1.5 for A and 2.0 for B,and a 3.0 multiplier specified for the constraints (assuming there are non-zero values specifiedin the constraints). For step 9, the multipliers are specified to be 0.75 for A, 1.0 for B and 1.5for the constraints. The input would be

Chapter 2 (Updated: 5-10-2013) 2.10-11 Model Definition

Page 115: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 tothose 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 startthe 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 forthe 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 displacementextrapolation on steps with load reversals often leads to non-convergent Newton iterations. Tofurther improve convergence for non-proportional loading, the solution procedures invoke thelinear stiffness for iteration 1 of the next step.

Simple cases with proportionality that arise most often include: (1) the same, single loadingpattern across load steps and user-specified constraint values are all zero; (2) loading of themodel only through non-zero constraints. Further, if all specified constraints have zero values,the multiplier on constraints is immaterial and is neglected in the verification of proportionality.

The command to control displacement extrapolation is

extrapolate on(

multiply (by) < scale factor : number >)

extrapolate off

When the multiply by option is given, the user specified scale factor supersedes the computedscale factor.

Numerical experiments reveal significant improvements in the Newton convergence for dis-placement controlled loading with minor or no effect 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 first adaptive sub-increment of a step with an assigned scalefactor of 1.0 for each, equal-sized (proportional) adaptive sub-increment.

For simple linear, dynamic analyses, we recommend using extrapolate off 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. Anoption 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 Definition

Page 116: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Solution Parameters

load control is enabled. In such cases, the material model prints a message to this effect withthe reason it requests a load step reduction. The command to control printing of informativematerial messages is:

material (messages)

onoff

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 stiff-ness update, strain update, stress update, convergence tests etc. WARP3D outputs messagesindicating when these processes start-finish and the detailed results for convergence tests. Forusers familiar with the code, most all of these messages can be suppressed with the show detailscommand that has the form:

show (details)

onoff

Detailed messages are “on” by default. This option has no effect on the batch message feature.

2.10.11 Residual Loads Printing

Residual forces at nodes may be printed during Newton iterations to facilitate debugging ofproblems 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 “off” by default.

2.10.12 B-Bar Element Stabilization

The B modification of the 8-node, trilinear element has the potential to introduce hourglassmodes. Section 3.1.7 describes a simple procedure that can often suppress such modes. Theuser 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 valuefor 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 finite strain formulation (see Section 1.9.4). This matrixmost often enhances the convergence rate of global Newton iterations but there are occasionallyinstances when it slows convergence. An option exists to omit the [Q] contribution under controlof the user. The user controls this option with the command ¡

consistent q(-matrix)

onoff

The default value is “on”.

Chapter 2 (Updated: 5-10-2013) 2.10-13 Model Definition

Page 117: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 whencertain user-specified criteria are met. For example, when the increase in porosity in the Gursonmodel over a load step exceeds a user-specified limit, a permanent 50% reduction is imposed onsubsequent 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-defined) load step sizes even when the reductions are no longerneeded, for example, if the user changes the load step sizes. To alleviate this issue, the user canreset the load reduction factor to any desired value between load steps as part of the solutionparameters. The command has the form

reset load reduction (factor) < factor : number >

where the value of 1.0 causes the user-defined load step sizes to be used, a value of 0.5 reducesthe user-defined step sizes by 50%, etc. This load reduction factor is saved in the restart fileand 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 tooutput the assembled structure stiffness matrix using a sparse format. This command actuallyoutputs the equilibrium equations in sparse format, ready for solution. The equations includethe effects of contact forces and have multi-point constraints from tied contact already enforced.The command to invoke this option is:

sparse (stiffness) (output)

onoff

binary

formatted

file < filename : string >

Once the file is written, the command is cancelled to prevent re-writing during each equationsolve. 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 (illustratedusing 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 Definition

Page 118: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 file can be written to a binary or formatted sequential file. The Fortran statementsused to write the file 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 acrosstopologically dissimilar element faces. An output table of the generated constraints may berequested with the following command:

display (tied) (mesh) mpcs

onoff

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

Page 119: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 withthe 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 stepnumber solved against the list of steps provided. A list of steps for computation is generatedfrom this process and computations initiated. For example, let steps 1-10 be analyzed in thefirst compute command. The second compute command then requests computation for steps20-25. WARP3D automatically inserts steps 11-19 into the list of steps for computation.

WARP3D verifies the data provided in this command for correctness, e.g., the nonlinearload must exist and the steps requested must be defined in that load step. When errors areencountered, the command is ignored and a new input line read.

Once this command is accepted and computations begin, the user cannot intervene in thesolution 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 theJ-integral may be requested. For linear-elastic analyses, a family of interaction integrals areavailable to compute mixed-mode stress intensity factors and the non-singular T -stresses. Thedomain(s) for computation must be defined immediately prior to the compute request. Chapter4 describes commands to define domains for J computation. The compute command has theform

compute

domain

interaction

(integral)

Chapter 2 (Updated: 12-12-2012) 2.11-1 Model Definition

Page 120: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 floating point values is available as an option. Output isdirected to the window executing WARP3D or to a text file (ASCII).

• a sequential binary (unformatted) file of computed results in the form of packets. Written usingFortran I/O. A very convenient output form to support development of customized post-processingprograms that search through results, compute secondary quantities, build input files for plottingsoftware, etc.

• nodal result files of displacements, velocities, accelerations, temperatures, strains, stresses in eitherbinary (unformatted) or ASCII formats. These sequential files are readable without modification byPatran1 for post-processing. The unformatted files are written using Fortran I/O.

• element result files of strains, stresses in either binary (unformatted) or ASCII formats. These se-quential files are readable without modification by Patran for post-processing. The unformatted filesare written using Fortran I/O.

• Patran neutral file (ASCII) for the model – includes only model sizes, nodal coordinates, incidences,constraints.

• an ASCII file 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 duringsolution 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 specified by the user. Theoutput device is either a sequential, formatted (ASCII) file or the terminal/command windowin which WARP3D began execution. An output file is declared using: (1) standard output via

1MSC Software Corporation.www.mscsoftware.com

Chapter 2 (Updated: 5-23-2013) 2.12-1 Model Definition

Page 121: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

I/O redirection (i.e., the < file name) convention of Windows, Linux, OS X on the programinvocation line in the shell window, or (2) through the *output to <file>command available inWARP3D (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 fit on an 8.5 in. × 11 in pageoriented in portrait mode. The wide option permits extension of output up to 132 columns forprinting in the landscape orientation

• Numerical results are printed with an f12.6 format. An e12.5 format is requested with the eformatoption. These precision option increases these fields to f26.16 and e26.16.

• The noheader option suppresses the printing of all identifying labels. This simplifies greatly thedevelopment of post-processing type programs that read through the ASCII result files using Python,Perl, ...

• When a list of elements is specified for output of displacements, velocities, accelerations, temperaturesor reactions, results are printed for the nodes of each element in the list (not the merged set of nodesfor 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 nodesof the model.

• Reactions are external forces required for equilibrium at constrained nodal dof. At unconstrainednodal dof they are the remaining force imbalance due to nonlinear response and or linear equationsolving. These forces include the effects of inertia loading on the model. Separate algebraic sums ofthe X,Y, Z components of these forces are printed following the nodal results to assist in the checkingof reactions. The totals only option suppresses printing of reaction values for individual nodes in thenode 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 evenwhen a local coordinate system is specified at nodes.

• The location/number of strain points for output is specified via the element logical properties:gausspts, nodpts or center output (see element descriptions in Chapter 3). Node point values areextrapolated 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 specified in the element properties. Theelement 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, statevariables provided by the material models, etc. The short output option in the element properties isthe default.

The following tables define 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 =√23

√(εx − εy)2 + (εy − εz)2 + (εx − εz)2 + 1.5(γ2xy + γ2yz + γ2xz)

long option includes these additional values

I1 = εx + εy + εz

I2 = −ε2xy − ε2yz − ε2xz + εxεy + εyεz + εxεz

Chapter 2 (Updated: 5-23-2013) 2.12-2 Model Definition

Page 122: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

I3 = εx(εyεz − ε2yz

)− εxy (εxyεz − εyzεxz) + εxz (εxyεyz − εyεxz)

ε1 ≤ ε2 ≤ ε3 (principal values)

`1,m1, n1 (direction cosines for ε1)

`2,m2, n2 (direction cosines for ε2)

`3,m3, n3 (direction cosines for ε3)

Stress output:

short option values

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

σvm = 1√2

√(σx − σy)2 + (σy − σz)2 + (σx − σz)2 + 6(σ2

xy + σ2yz + σ2

xz)

c1, c2, c3 (state/history variables provided by material model output routine)

long option includes these additional values

I1 = σx + σy + σz

I2 = −(σ2xy + σ2

yz + σ2xz) + σxσy + σyσz + σxσz

I3 = σx(σyσz − σ2

yz

)− σxy (σxyσz − σyzσxz) + σxz (σxyσyz − σyσxz)

σ1 ≤ σ2 ≤ σ3 (principal values)

`1,m1, n1 (direction cosines for σ1)

`2,m2, n2 (direction cosines for σ2)

`3,m3, n3 (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 files 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 files are not well suited for use by custom post-processing programs writtenin a programming language (C, C++, Fortran) or a scripting language (Python, Perl). Usersfrequently develop such programs to gather information, for example, to generate input filesfor plotting software.

To provide a much cleaner and directly accessible representation of the results for thesepurposes, WARP3D can generate a sequential, binary file of results in the form of packets.

Chapter 2 (Updated: 5-23-2013) 2.12-3 Model Definition

Page 123: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

The binary file is written via Fortran I/O as an unformatted file type.2 A packet contains aspecific type of result, e.g., nodal reactions, written over several logical records in the file. Thefirst (header) record of each packet has an identical format which contains the packet type (aninteger), the load step number, the Newton iteration number and the number of subsequentlogical records in the file for that packet. This approach enables post-processing programs toskip easily over packets of no interest or not yet supported by the post-processing program(e.g., use the statement read(packets file) with no listed variables to skip all information in thenext logical record). This approach also enables the WARP3D developers to implement newtypes of packets without breaking already available programs for post-processing written byusers.

By default, various WARP3D processors do not write results into a packets file. The usermust first authorize packets processing and provide the name of the file to contain the packets.The crack growth processors, for example, then insert packets into the file at each load stepwithout 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 file, e.g.,displacements at a list of nodes.

The command to enable-disable the generation of packets and the name of the packets fileis part of the nonlinear solution parameters described in Section 2.10. The command has theform

binary packets

onoff

(file < file name : string >)

where file name must be present with the on option. If the specified file exists, the file is openedin append mode. WARP3D retains the packet file name and the on, off option as part of theanalysis 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 insertpackets into the file. Commands to request output of packets may be intermixed with outputcommands to generate printed results. The command to request packets generation has theform

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.

2Fortran unformatted I/O has a logical record structure. Each read/write statement processes at least onelogical record of potentially variable length which may contain one or more physical records of the file. FortranI/O hides the physical structuring of the file. To maintain the logical record structure, Fortran I/O routinesinsert additional information in the file. Unformatted files in C and C++ do not have this concept of logicalrecords. Consequently, post-processing codes in C/C++ must recognize and process the additional structuringinformation present in the Fortran style, unformatted files.

Chapter 2 (Updated: 5-23-2013) 2.12-4 Model Definition

Page 124: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

Notes on use of the output packets command:

• When a list of elements is specified 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 allelements 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 defined with theinitial conditions command in the model input.

• When the <integer list> of elements or nodes is omitted, the output processor inserts packets forall elements or nodes of the model.

• Reactions denote external forces required for equilibrium at constrained nodal dof. At unconstrainednodal dof, they denote the remaining force imbalance due to nonlinear response and/or linear equa-tion solving. These forces include the effects of inertia loading on the model. Separate algebraic sumsof the X,Y, Z components of these forces are inserted in packets following the nodal results to assistin the checking of reactions. The totals only option given in the command before or after the wordpackets suppresses inclusion of individual node reactions in the packets; only the summed valuesappear 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 evenwhen a local coordinate system is specified at nodes.

• The location/number of strain points for the packet is specified 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 averagesof integration point values. The default output location is gausspts.

• The number of strain or stress values for each element is specified in the element properties. Theelement 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, statevariables provided by the material models, etc. The short output option in the element properties isthe default.

• Output to packets for domain integral results is invoked by including a command in the domaindefinition (see Chapter 4). It is still necessary, however, to enable the generation of packets usingthe binary packets on ... command described above.

Tables in the previous section summarize the element strain and stress packet quantities (theyare 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 alsoincludes a complete Fortran program that demonstrates an approach to read and process thebinary packets file. Most users should find this program a very good starting point to developtheir own customized post-processor program.

2.12.3 Patran Compatible Result Files

The Patran software has extensive capabilities to post-process finite element results. Patranreads and displays results computed by various finite element codes and communicated through

Chapter 2 (Updated: 5-23-2013) 2.12-5 Model Definition

Page 125: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

nodal and element result files. The simple structure of Patran results files makes them quitepopular to store/share computed results with other modeling and post-processing software.WARP3D provides the capability to write such Patran compatible results files to support post-processing tasks. The command to request Patran compatible result files 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 files created with Fortran open statementsand written with Fortran write statements (the binary file is type unformatted in Fortran).Binary files often have a substantially smaller size but may not be portable between Windowsand Linux/OS X. Formatted (ASCII) files provide the portability but with larger sizes andfurther can be examined easily with standard text editors, e-mailed, etc.

WARP3D generates the Patran compatible results files with assigned names that beginwith four letters followed by the 5 digit load step number. Nodal result files begin with theletters wn; element result files with the letters we. The n and e letter is followed by the letterb for binary files or the letter f for formatted files. The fourth letter in the file name denotesthe physical quantity: d - displacements, v - velocities, a - accelerations, t - temperatures, r -reaction forces, e - strains and s - stresses. Element results files are available only for strainsand stresses. For example, the file webs00005 contains element stress results for step 5 in abinary file.

The Patran result files have the structure of a two-dimensional array. Each row has thedata for a single node or element. The array columns set the values for each node or element.For nodal files of displacements, velocities, accelerations and reactions, each node has 3 datacolumns for the global X,Y, Z components.

Temperature results are available only in a nodal results file. Two values are provided foreach node. Data column 1 has the total temperature (initial + all increments). Data column2 has the initial (reference) temperature defined with the initial conditions command in themodel input.

Figure 2.10 summarizes the data column assignments for Patran strain-stress results files.The first six strain-stress values that appear at each model node are the numerical average forthe contribution of each element at the node. The strain-stress invariants, principal values anddirections are computed from these averaged nodal values. The effective strain, Mises equivalentstress, energy density and the three material model state variables are first extrapolated fromintegration points to the nodes and then averaged.

Element result files 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 pointvalues within each element. The first six strain-stress values that appear for the element are thenumerical average for the contribution of each integration point. The strain-stress invariants,principal values and direction cosines are computed from these averaged values. The effectivestrain and Mises equivalent stress are computed from the averaged values of the components.

Chapter 2 (Updated: 5-23-2013) 2.12-6 Model Definition

Page 126: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

The energy density and the three material model state variables are the average of integrationpoint values.

Appendix A provides skeleton Fortran programs to read the binary and formatted formsof the nodal results files. WARP3D generated (ASCII) versions of these files are compatiblewith the current version of Patran and all versions of Patran for the past decade. The Patranresults file formats are relatively simple and enjoy widespread adoption as a common formatfor sharing finite element results.

Notes on Patran result files:

• strains and stresses at nodes are obtained using a two step process: (1) extrapolation of integrationpoint values to element nodes and then (2) numerical averaging of values for all elements connectedto a node. Each element connected to the node has the identical weight factor in computing theaverage value for a nodal result.

• invariants, principal values, direction cosines, the effective strain (εeff ), mises effective stress (σvm)and the work density (U0) are computed using the averaged nodal results for the strain and stresscomponents. This leads to a likely inconsistency in nonlinear solutions. During the solution, stressesat element integration points derive from nonlinear constitutive models acting on strains computedat the integration points. Such stresses extrapolated to the nodes and then averaged for all elementsconnected to a node likely will not match the values that would have been computed by first extrap-olating/averaging strains and then updating stresses at model nodes using the nonlinear constitutivemodel. Example: consider the simple mises plasticity material model with perfectly plastic flow. Afterthe extrapolation/averaging process, σvm at some nodes may exceed the yield stress.

• material model state/history variables (c1, c2, c3) are the extrapolated and then averaged nodalvalues. Depending on the material model, the extrapolation/averaging of c1, c2, c3 may have nomeaningful interpretation.

• it is not possible, at present, to specify a list of nodes or elements to appear in the Patran resultsfiles. Results are written for all nodes or elements in the model.

Patran opens and reads the results files which also include the number of nodes or elementsand the number of data columns. However, there is no inherent connection between the numberand ordering of data columns and various physical quantities, i.e., Patran is unaware thatcolumn 12 of the strains file contains the second principal strain value.

To provide this connection, Patran asks the user for the name of a template file when itopens a results file for post-processing. The (ASCII) template file associates each data columnwith 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 columnnumbers in menus for convenience in post-processing tasks.

We provide a set of template files to facilitate use of Patran for post-processing. These areincluded in the WARP3D distribution in the patran templates directory. They should be copiedinto the appropriate Patran directory on your computer, usually the res templates directory ofthe Patran installation.

2.12.4 Patran Compatible Neutral File for Model

The Patran neutral file is a widely adopted format to describe the various parts of a finiteelement model (coordinates, constraints, etc.). This ASCII file contains packets of information,e.g., the coordinates of a node are stored in a packet. There are 20+ types of such packets withmodel information. The simple ASCII format of the file insures portability and ease of use.

Chapter 2 (Updated: 5-23-2013) 2.12-7 Model Definition

Page 127: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

The patwarp program (Appendix C) provided with the WARP3D distribution reads Patranneutral files and generates the corresponding WARP3D input file using the commands describedin this chapter.

Occasionally a WARP3D input file is generated by some other means and a Patran neutralfile for the model is needed. The command described here generates the neutral file containingjust the essential information for the model.

The command to request generation of a Patran neutral file has the form

output patran neutral (< name of file : label or string >)

If a name for the neutral file is omitted, the default name is structure name.neutral wherestructure name is the label supplied in the structure command of the WARP3D input file(e.g., beam.neutral). When the specified filename already exists, the current time (hr:min:sec)is appended to the filename (e.g., beam.neutral 12:00:01).

The following information about the model is included in the neutral file:

• neutral file 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 defined asHEX/8/#, or HEX/20/# where the Patran configuration code (#) for the element is assigned thematerial number given to the element during WARP3D input. For the 9, 12 and 15 node transitionelements, the elements are defined as HEX/20/# but with zeroes in the incidence lists for the missingmid-side nodes. The Patran configuration code (#) for the element is assigned the material numbergiven to the element during WARP3D input. Tetrahedral elements are defined as TET/4/# orTET/10/#, where the Patran configuration code (#) for the element is again assigned the materialnumber given to the element during WARP3D input. WARP3D interface elements are written intothe neutral file: inter 8 is a HEX/8/#; the trint6 is a WED/6/# (wedge element). Patran does nothave a wedge element corresponding to the trint12 interface element – the element is written as aWED/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 file.

2.12.5 Energy File

Once the solution for a load step has converged, WARP3D appends newly updated valuesof various energy quantities for the model. This file is named energy and is located in thedirectory in which WARP3D was initiated. On restart analyses, WARP3D opens the energyfile in append mode and adds additional results as computations continue.

2.12.6 Convert Binary Packets to ASCII

The unformatted (binary) sequential file of packets is portable between Linux and OS X sys-tems. Such portability does not exist between Windows and Linux/OS X systems. To providesome increased portability, the convert binary packets command is available to write an ASCIIversion of the binary packets file. The command has the form

Chapter 2 (Updated: 5-23-2013) 2.12-8 Model Definition

Page 128: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Output Requests

convert (binary) (packets)

[< packet number : integer >]

all

(to) (file) < label or string >

A list of specific packet types may be specified or all packet types – the default if no packetlist is specified. If omitted, the default name for the generated ASCII file is the name of thebinary packets file with the extension .tpf. An existing ASCII file with the specified name isoverwritten. 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 tablelists packet types converted at present with the command. Other packet types if present areignored.

The convert binary packets command is intended to given immediately prior to the stopcommand during the analysis.

Chapter 2 (Updated: 5-23-2013) 2.12-9 Model Definition

Page 129: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 U0

8 I1 8 σvm

9 I2 9 c1

10 I3 10 c2

11 ε1 11 c3

12 ε2 12 I1

13 ε3 13 I2

14 `1 14 I3

15 m1 15 σ1

16 n1 16 σ2

17 `2 17 σ3

18 m2 18 `1

19 n2 19 m1

20 `3 20 n1

21 m3 21 `2

22 n3 22 m2

23 n2

24 `3

25 m3

26 n3

Fig. 2.10 – Column numbers and strain-stress values for Patran compatible result files (ASCII andbinary)

Chapter 2 (Updated: 5-23-2013) 2.12-10 Model Definition

Page 130: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 Definition

Page 131: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Analysis Restart

2.13 Analysis Restart

Create a Restart File

To maintain the highest possible performance, WARP3D allocates all data structures in memoryduring execution and does not use databases on disk to temporarily hold (swap) data arrays. Atcompletion of the solution for a load step, the user may request creation of a binary (sequential)file of all data required to resume execution at that point in the solution. Only the results andstatus of the most recently completed load step are stored in the restart database. The defaultform of the save command is simply:

save

The data file created with this command has the name: @ db where @ denotes the first 8characters of the <structure id> (see Section 2.1).

An explicit name for the restart file may be specified with the command

save (to) file) < file name : label or string >

where a <string> must be used if the file name starts with/or contains special characters, e.g.,the restart file 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 file sizes increase with the model size and solution characteristics. Restart files for largemodels 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 restartfile generation is requested. Execution can be continued which makes the restart file providea solution check-point. WARP3D can be also be terminated after writing the restart file andthen executed later to output results for the load step in a restart file and/or to continue thesolution for additional load/time steps. The explicit naming feature for restart files enablescreation of a series of unique restart files at various points in the analysis.

Access a Restart File

To restart execution of WARP3D, the first (non-comment) command must be

retrieve structure < structure id : label >

restart structure < structure id : label >

or using an explicit name for the restart file

retrieve (from) file < file name : label or string >

restart (from) file < file name : label or string >

Chapter 2 2.13-1 Analysis Restart

Page 132: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Analysis Restart

where a <string> must be used if the file name starts with/or contains special characters. Thekeywords retrieve and restart are synonyms in this command.

Once the restart file is opened and read into memory, WARP3D displays a message indi-cating the load step number n for the restart file and the model solution time completed inthe analysis. Commands to request output, to analyze additional load steps, to define new loadsteps, define new loads, solution parameters, etc. may then be given as usual.

Chapter 2 2.13-2 Analysis Restart

Page 133: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Table Command

2.14 Table Command

The table command provides the capability to store significant amounts of numerical data ina convenient 2-D array format and to define various aspects of the model. This new capabilityis designed to be extended simply and rapidly as new areas for the application of tables evolvein the code. At present, the table command supports the simplified definition of aerodynamicpressure loadings on element surfaces for unsteady, high-speed flight following the concepts ofthird order “piston theory”.

2.14.1 General Form

A table defines a 2-D array of numerical values. All tables have the following components:

• a user-specified name for identification (up to 24 characters)

• a specified 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 usersto order columns of a given type based on their preference (the type of table implicitly setsthe 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 definition has the form:

table < table id : label > rows < integer > type < label >

and is followed by a command to define 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. Thelabel type sets the number of columns for each row and names of each column given in thefollowing sections. There is no pre-defined limit on the number of definable data rows in a table.

Note: an existing table is over-written with a new definition.

All subsequent data lines then have the general form

[< column value : numr > (, )]

An example table definition 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

Page 134: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Table Command

Note: The preceding example does not define an actual table in WARP3D.

When a table contains many rows, it may prove convenient to place the data rows into aseparate file 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 fluidvelocity and the local deformation. Piston theory provides a simple method to calculate approx-imate aerodynamic pressures at relatively large flight Mach numbers on nearly plane surfacesat a low inclination to the free stream. WARP3D incorporates a third order version of pistontheory as described in [1, 2] to define the instantaneous pressure loading on surfaces of solidelements exposed to the flow stream. The pressure is determined by

p

p3= 1 +

M3Vp

+ + 1

4M

23 V

2p

+ + 1

12M

33 V

3p

(2.14.1)

where p sets the local pressure on the aircraft surface, p3 represents the undisturbed flowpressure at the panel’s leading edge, denotes the isentropic exponent (equal to the specificheat ratio of air), and M3 provides the Mach number. The term V

p

indicates the normalized”piston” velocity, defined as having a direction normal to the approach flow at the panel leadingedge:

V

p

=

1

U3

@w

@t

+@w

@s

(2.14.2)

where U3 denotes the velocity (magnitude) at the panel’s leading edge. The term w indicatesthe displacement perpendicular to the aircraft’s surface. Eq (2.14.2) includes partial derivativesof w with respect to time and the direction of fluid flow, s.

Piston loads are re-computed at the beginning of every load (time) step in the solutionto reflect the current displacement derivatives with respect to time and flow direction in V

p

and also possible changes in parameters required in Eq (2.14.1). The surface pressures fromthe piston loading do not change during equilibrium iterations over a load (time) step. Pistonpressure values (p) are based on the geometry and displacements at the parametric center ofthe element surface.

Piston loading histories are defined in a table using the type command piston. The 8 datacolumns to define a piston loading are:

• time model time (secs). Time must start at zero and increase monotonically

• mach mach number (M3)

• flow pressure (p3)

Chapter 2 2.14-2 Table Command

Page 135: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Table Command

• velocity flow velocity (U3)

• isentropic ()

• x direction global X-component of flow direction (sx

)

• y direction global Y -component of flow direction (sy

)

• z direction global Z-component of flow direction (sz

)

Note: (x, y, z) components will be normalized to define a unit direction vector.

Piston properties for model solution times between tabular values will be computed vialinear interpolation. At model solution times beyond the last table row, piston properties remainfixed at the values specified for the last row.

An example table definition 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 definitions of the aerodynamic loading histories applied tothe faces of solid elements in the finite element model (see Chapter 3 for loadings on solidselements). 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 defining an element loading oftype 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. 402–406.

[2] H. Ashley and G. Zartarian.Piston Theory – A New Aerodynamic Tool for the Aeroelastician. Journalof Aeronautical Sciences, Vol. 23, No. 12, December 1956, pp. 1109–1118.

Chapter 2 2.14-3 Table Command

Page 136: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Utility (*) Commands

2.15 Utility (*) Commands

Several utility commands are provided to manipulate input-output files, to control commandecho, etc. Each command begins with an *. These commands may be given at any time duringinput.

*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 readfor processing. By default, the input stream is the users interactive display (window) or theWindows/Linux/Mac stdin device. The input stream can be switched to a disk file or switchedback to the interactive display

input (from)

display

(file) < file name : label or string >

where the <string> form is required with file names not meeting the definition of a <label>.*input from file ... commands may be contained within referenced input files to create aninput “stack” up to 10 levels deep. When an end-of-file condition is reached on the currentfile, the stack is popped to resume reading from the previous file. When reading of the lastfile completes, the input stream returns to the users display. In a batch (background) job, theprogram is terminated by the WARP3D command processor if an end-of-file condition (EOF)occurs at the highest level.

*output Command

The *output command controls the location (stream) from which usual WARP3D output isdirected. 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 file or switchedback to the interactive display

output (to)

display

(file) < file name : label or string >

where the <string> form is required with file names not meeting the definition 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

Page 137: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Utility (*) Commands

*reset Command

When the WARP3D command processors read and interpret the command stream, errors ofvarious types may be detected. When errors are encountered, the command processors set aninternal flag .true. to prevent a compute command from attempting a solution. This internalflag can be set to the “no error” condition with the *reset command, which has the form

reset(error)(flag)

Chapter 2 2.15-2 Utility Commands

Page 138: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D User List Command

2.16 User Named List Command

The list command provides the capability to define 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 definition > (display)

where multiple approaches to specify entries in the list (<list definition>) are described in

sections below. The concept here is a a simple list of integers – there exists no association

within the definition 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 definition 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

redefined 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 specifications using a relative tolerance. The user specifies

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

Page 139: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D User List Command

The list then consists of nodes with coordinates that satisfy the geometry specification within

the (relative) tolerance distance. The number of nodes in the new list is always provided at

completion of the command.

The <list definition> has the form

2

4

8<

:

x

y

z

9=

; (=) < numr >(, )

3

5(tolerance < tolabs : numr >)

where display may also be included at the end of the command. The ordering of x, y, z values

here is immaterial.

The specification of: (a) one of three (x, y, z) coordinate values defines a coordinate plane

for comparison; (b) two of three (x, y, z) coordinate values defines a line parallel to a coordinate

axis for comparison; (c) all three (x, y, z) coordinate values defines 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

6and 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 defined by coordinates of a point (on the plane) and components of a vector normal

to the plane. The <list definition> has the form

plane point x(=) < numr > y(=) < numr > z(=) < numr > (, )

normal nx(=) < numr > ny(=) < numr > nz(=) < numr > (, )

(tolerance < tolabs : numr >)

where display may also be included at the end of the command. The ordering of coordinates

defining the plane point and components of the normal are fixed with no default values – all

coordinates and components must be specified. Components of the normal vector to the plane

Chapter 2 2.16-2 User List Command

Page 140: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D User List Command

are not required to define 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 specified (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 definition as in the previous section, (4) if the magnitude of the dot product

is tol

rel

, the node is considered to lie on the specified 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 defined by coordinates of two points along the axis and a radius. The

<list definition> has the form

cylinder first x(=) < numr > y(=) < numr > z(=) < numr > (, )

second x(=) < numr > y(=) < numr > z(=) < numr > (, )

radius < numr > (tolerance < tolabs : numr >)

where display may also be included at the end of the command. The ordering of coordinates

defining points on the axis and the radius are fixed. 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 specified radius, (3) compare the absolute value of the di↵erence

to the relative tolerance (distance) defined 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 defined by coordinates of an origin and a radius. The <list definition> has the

form

sphere origin x(=) < numr > y(=) < numr > z(=) < numr > (, )

radius < numr > (tolerance < tolabs : numr >)

Chapter 2 2.16-3 User List Command

Page 141: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D User List Command

where display may also be included at the end of the command. The ordering of coordinates

defining the origin and the radius are fixed. 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 specified origin; (2)

subtract the specified radius, (3) compare the absolute value of the di↵erence to the relative

tolerance (distance) defined 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

Page 142: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

Chapter 3

Elements and Material Models

3.1 Isoparametric Hex Elements

These isoparametric, hexahedral “brick” elements with linear and quadratic displacementfields provide the fundamental meshing capability for solids in WARP3D. The 8-node ele-ment (l3disop) employs a conventional tri-linear displacement field. With the B modificationsof Hughes [1], the element exhibits minimal volumetric locking under fully incompressible ma-terial response and exhibits slightly improved bending response. This element performs wellunder finite deformations encountered near severe discontinuities and crack fronts. A simplestabilization scheme may be invoked should hour-glassing modes appear (infrequently experi-enced in this elements). Unfortunately, the element exhibits shear locking when subjected tovery strong bending fields.

The 20-node element provides a quadratic displacement field with the ability to model crackfront singularities in a focused mesh with element shapes collapsed into wedges. With a reducedorder of Gauss quadrature, this element resolves accurately the strong bending fields withoutshear locking; moreover, the reduced integration order also eliminates volumetric locking underfully plastic deformation. Thin shell structures are modeled accurately with just one elementthrough the thickness when combined with the reduced integration – unless the analysis requiresprecise resolution of through thickness yielding. In such cases multiple elements defined throughthe 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-defined 8-node elements into these transition elements based onshared faces/edges between 8 and 20-node elements in the model. In the Patran neutral file(produced by Patran or other mesh generators), simply connect 8-node and 20-node elementswithout concerns for displacement compatibility.

Transitions from coarse to fine meshes of the same element type or di↵erent element typesmay also be accomplished using the tie-mesh approach with multipoint constraints (Section2.7).

The element formulations support geometrically nonlinear analysis (large displacements,rotations, finite strains), materially nonlinear analysis and combined geometric/material non-linear analysis.

For dynamic analyses, the diagonal (lumped) mass matrix derives from scaled terms of theconsistent mass matrix.

All element computations take place in the global coordinate system for the model. Strainsand stresses output by the model reference the global coordinate axes.

For modeling initially sharp crack fronts, these elements are frequently degenerated orcollapsed 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

Page 143: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

Fig. 3.1.1 Local node ordering for the isoparametric hex elements. Isoparametric coordinates for theelement corner nodes are listed.

when the collapsed elements have the geometric nonlinear formulation. The remedy involvesmodeling the crack front as a very small tube (i.e., a keyhole) or to model the crack tip as aninitially blunt notch with a root radius comparatively small compared to the crack length orremaining 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 ofparametric axes (, , ). The 9, 12, 15 and 20-node elements retain the same numbering forthe 8 corner nodes defined for the l3disop element. Note: the node ordering for the 20-nodeelement matches that used in Abaqus.

These elements have mass, sti↵ness and internal forces computed using quadrature. Figure3.1.3 tabulates the locations of integration points in parametric coordinates. The 8-node elementis always evaluated using a conventional (2,2,2) Gauss quadrature. The same (2,2,2) is definedas the default order for the 9, 12, 15 and 20-node elements. For these elements, two additionalintegration rules are provided as options: a 9-point rule and a 14-point rule. The 9 and 14point rules are especially useful for the 20-node brick to suppress hourglass modes. Fracturemechanics 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

Page 144: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

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 appearin those elements with multiple free faces, especially those subjected to applied loading. The9 point and 14 point rules o↵er a remedy for the hour glass modes but at the cost of someincreased computation time and memory storage.

To eliminate potential errors due to strongly varying element shapes, the mass matrix andequivalent forces for applied body forces are evaluated with the 14-point rule for the 9, 12, 15and 20-node elements. Similarly, the equivalent loads for applied face tractions are evaluatedusing a (3, 3) Gauss rule. These procedures are applied independent of the integration orderspecified by the user. The user specified integration order is applied for sti↵ness and internalforce computations and for strain-stress updating.

Element results are frequently output at the center point which corresponds to parametriclocation ( = 0, = 0, = 0).

Isoparametric elements provide a powerful capability to model the geometry of irregularlyshaped 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. Theelement behavior remains adequate unless the mapped shape becomes unreasonable (either theinitial, undeformed shape or the current shape for geometric nonlinear analyses). Corner angleson each face must be > 0o and < 180o. The best element response is obtained for angles withinthe range 90o ± 30o. Very large aspect ratios should be avoided if possible. The best elementbehavior derives from a cubical shape; however, rectangular prism shapes with aspect ratiosof 10-20 are commonly used without undue loss of accuracy, especially if the strain field variesgently in the longer direction.

Element routines check for badly distorted elements by examining the determinant of thecoordinate Jacobian at the integration points (using the current nodal coordinates for geometricnonlinear analysis). Zero or negative values indicate a severely distorted element. Messagesidentifying these problems are printed with information about the element.

Chapter 3 (Updated: 9-4-2012) 3.1-3 Elements and Material Models

Page 145: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

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 withina narrow range from the geometric center of the element edge – unless mid-side nodes areintentionally 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 defined by the name of the property, a <label>, followed by a value. Logical propertiesare set .true. simply by the appearance of the property name. The default behavior for thel3disop 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 andq3disop 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 elementnodes or at the parametric center-point of the element (0,0,0). Figures in Section 2.12 defineeach of the strain-stress values output by the element. When the (2,2,2) Gauss integration ruleis specified, nodal values of (

ij

, "

ij

) are computed by extrapolation of Gauss point values usinglinear, Lagrangian polynomials.

When other integration orders are specified, the nodal values are defined simply as the meanvalues of the integration point values since no clear extrapolation procedure exists (valuesoutput 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

Page 146: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

Element property Keyword Mode Default Value

Geometrically linear formulation linear logical TrueGeometrically nonlinear formulation nonlinear logical FalseMaterial associated with element material label noneOrder 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 TrueOutput (

ij

, "

ij

) at element nodes nodpts logical FalseOutput (

ij

, "

ij

) at element center center output logical FalseOutput minimal set of (

ij

, "

ij

) values short logical TrueOutput 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 e↵ective strain,Mises stress, energy density and state variables dependent on the associated material modelare 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 e↵ective strain, Mises stress, energy density and state variablesdependent on the associated material model are simply averaged. The short option requestsprinting of a reduced set of output values. The invariants, principal values and direction cosinesare omitted. This is the default output option.

Note: in analyses with nonlinear material behavior, the stress values output at elementnodes are not those obtained by processing extrapolated or averaged nodal strains throughthe nonlinear material model routines. This can lead, for example, to extrapolated or averagedstresses 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 firstload step. Entries of the lumped mass are proportional to the diagonal entries of the elementconsistent mass. The proportionality factor preserves the total mass of the element, e.g., thesum of the diagonal terms for the v

i

accelerations equals the element mass. This procedurealways generates positive values for the lumped mass and leads to optimal convergence rateswith mesh refinement (see [2])

The mass matrix diagonal term for each of the three accelerations at node i is then

m

e

ii

= ↵

Z

Ve

N

2

i

dV

e

(3.1.1)

Chapter 3 (Updated: 9-4-2012) 3.1-5 Elements and Material Models

Page 147: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

where denotes the mass density of the undeformed material. N

i

denotes the usual interpolatingfunction for the element node i. The scaling factor ↵ is given by

↵ =Z

Ve

dV

e

"nenX

k

Z

Ve

N

2

k

dV

e

#(3.1.2)

where nen denotes the number of element nodes. A full integration order is employed to evaluatethese 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 define a non-uniformtemperature field 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 loaddefinitions 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 specified by the intensity (units of F/L

3) and the direction along one of thecoordinate axes. The body force intensity is constant over the element. The body force loadsare defined by the command

body (forces)

2

4

8<

:

bx

by

bz

9=

; (=) < force intensity : number > (, )

3

5

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 specified face. Figure 3.1.4 defines the face numbers. Thecommands define the loaded face of the element, the loading intensity (units of F/L

2), and theloading direction. When the traction is aligned with one of the coordinate axes, the commandhas the form

Chapter 3 (Updated: 9-4-2012) 3.1-6 Elements and Material Models

Page 148: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

face (abaqus) < face number : integer > (tractions)

2

4

8<

:

tx

ty

tz

9=

; (=) < intensity : number > (, )

3

5

The abaqus option applies for hex elements and loadings intended for WARP3D faces (4,5).These faces are flipped from the Abaqus numbering (see Fig. 3.1.4). With this option, theinput translators change the specified face number 5 to 4 and 4 to 5 before continuing as aconvenience for users having Abaqus input files 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 positivepressure loads the face in compression.

! "

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 fluidvelocity and the local deformation. Piston theory provides a simple method to calculate approx-imate aerodynamic pressures at relatively large flight Mach numbers on nearly plane surfacesat a low inclination to the free stream. WARP3D incorporates a third order version of pistontheory as described in [4, 5] to define the instantaneous pressure loading on surfaces of solidelements exposed to the flow stream. The pressure is determined by

Chapter 3 (Updated: 9-4-2012) 3.1-7 Elements and Material Models

Page 149: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

p

p

3

= 1 +

M

3

V

p

+ + 1

4M

2

3

V

2

p

+ + 112

M

3

3

V

3

p

(3.1.3)

where p sets the local pressure on the aircraft surface, p

3

represents the undisturbed flowpressure at the panel’s leading edge, denotes the isentropic exponent (equal to the specificheat ratio of air), and M

3

provides the Mach number. The term V

p

indicates the normalizedpiston velocity, defined as having a direction normal to the approach flow at the panel leadingedge:

V

p

=

1U

3

@w

@t

+@w

@s

(3.1.4)

where U

3

denotes the velocity (magnitude) at the panel’s leading edge. The term w indicatesthe displacement perpendicular to the aircraft’s surface. Eq (3.1.4) includes partial derivativesof w with respect to time and the direction of fluid flow, s.

Piston loads are re-computed at the beginning of every load (time) step in the solution toreflect the current displacement derivatives with respect to time and flow direction in the aboveequation and also possible changes in parameters required in Eq (3.1.3). The surface pressuresfrom 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 parametriccenter 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 defined prior to defining the piston loading command. Thepiston table provides a loading history based on flow pressure, Mach number, velocity, isentropicexponent, and the fluid flow direction with time.

Uniform Temperature

A uniform temperature change over the element may be imposed through element loads. Thecommand has the form

temperature (=) < value : number > (, )

Multiple Loads Defined on Same Element

Element loads are additive – if the same element number and loading direction appear in twodi↵erent loading commands the sum of two loads is applied to the model. An example sequenceto define 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

Page 150: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

In the above example, element 20 has a normal pressure on face 6, a temperature increment, anda body force in the x direction. Specifications for di↵erent loading types for a list of elementsmay be combined onto a single line if desired.

Large Displacement E↵ects on Loads

When the analysis includes geometric nonlinear e↵ects (large displacements), equivalent loadsfor the incrementally applied surface tractions and pressures are re-computed at the beginningof 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 valuesoutput by the element are then the Cauchy (true) stresses. The Cauchy stress defines tractionsover internal surfaces in the deformed configuration with stress components,

ij

, aligned withthe global coordinate axes for the model. The symmetric Cauchy stress tensor is defined by theequilibrium conditions

Z

S

n · dS =Z

V

@

@x

· dV (3.1.5)

where n defines a unit outward normal to the deformed surface S, and V denotes the deformedvolume of the body.

The increment of strain that advances the solution from load step n to n + 1 is given by

" = B

x

n+

12

u (3.1.6)

where the B (linear-strain) displacement matrix is evaluated at the mid-step deformed config-uration of the element. Then " corresponds to a finite increment of the rate of deformationtensor, D

n+1/2

·t, over the step. For the 8-node, linear displacement element, B in the aboveis replaced by B. The corresponding increment of unrotated strain, d, is given by (see Chapter1 discussion on finite-strain plastictiy)

d = R

T

n+

12D

n+

12R

n+

12t (3.1.7)

where R is the rotation component of the polar decomposition of the deformation gradientF = RU . Increments d over load steps all refer to the orthogonal coordinate system Bu onthe right side of the polar decomposition figure in finite-strain discussions in Chapter 1. Theseincrements may be summed and then rotated to the final (deformed) configuration for outputpurposes via the current (n = k) R

D = R

n=kX

n=1

d

!R

T (3.1.8)

where the symmetric tensor denoted D then defines an approximate logarithmic strain measurefor the current deformed configuration expressed with components in the global coordinate axes.Shear terms in the output follow the usual engineering definition, i.e.,

xy

= 2"

xy

.

Chapter 3 (Updated: 9-4-2012) 3.1-9 Elements and Material Models

Page 151: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

An example illustrates interpretation of the strain output. Using hex elements, define asimple axial bar with initial length L

0

and a deformed length denoted L at each stage ofdeformation. The bar lies initially along the global X-axis and is loaded to significant elastic-plastic elongation using a number of load steps. The output strain "

xx

for this elongationloading corresponds to the usual logarithmic (true) strain provided a sucient number of loadsteps are used to approximate the defining integral

"

xx

=X

d

11

=X u

L

Z

dL

L

(3.1.9)

Now define additional load steps with displacement constraints that impose a +90-degreerigid rotation of the bar around the Z-axis. The rotation process defined by Eq (3.1.8) providesoutput strain values with "

yy

now having the "

xx

value prior to the rotation. Similarly, theoutput "

xx

has the "

yy

value prior to rotation. The output values of Cauchy stress follow asimilar 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

=13

ij

k=3X

k=1

"

kk

"

dev

ij

= "

ij

"

dil

ij

(3.1.10)

The strain-displacement matrix, B, is divided divided into dilatational and deviatoric parts inthe same manner as

B = [B1

B

2

. . . B

n

] (3.1.11)

where,

B

i

=

2

6666664

B

1

0 00 B

2

00 0 B

3

B

2

B

1

00 B

3

B

2

B

3

0 B

1

3

7777775B

dil

i

=13

2

6666664

B

1

B

2

B

3

B

1

B

2

B

3

B

1

B

2

B

3

0 0 00 0 00 0 0

3

7777775B

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

Page 152: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

The dilatational contribution to the sti↵ness causes locking for near incompressible condi-tions and is replaced the dilatational part of the strain-displacement matrix with a modifieddilatational part, B

dil. The strain-displacement matrix is replaced by B defined as:

B

i

= B

dev

i

+ B

dil

i

where B

dil

i

=13

2

6666664

B

1

B

2

B

3

B

1

B

2

B

3

B

1

B

2

B

3

0 0 00 0 00 0 0

3

7777775(3.1.14)

where again the subscript i on each term in the [ ] has been omitted. The B matrix can thenbe written out explicitly in the following form (with subscript i omitted inside [ ])

B

i

=13

2

6666664

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

00 3B

3

3B

2

3B

3

0 3B

1

3

7777775(3.1.15)

Mean Dilatation

Several options for defining B

dil

i

have been proposed in the literature. Here we use the “meandilatation” approach suggested by Nagtegaal, et al. [3]. A volume averaged (mean) eB

i

matrixis computed over the element as

eB

i

=1V

e

Z

Ve

B

i

dV

e

(3.1.16)

with B

dil

i

at each Gauss point taken as the dilatational component of eBi

as in Eq. (3.10). Tosave computations, only the three terms needed from e

B

i

to compute B

dil

i

are actually evaluated

B

i1

=@N

i

@x

=1V

e

Z

Ve

@N

i

@x

dV

e

(3.1.17)

B

i2

=@N

i

@y

=1V

e

Z

Ve

@N

i

@y

dV

e

(3.1.18)

B

i3

=@N

i

@z

=1V

e

Z

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 ateach 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 asa whole, i.e., for center output the "

z

value is zero.

Chapter 3 (Updated: 9-4-2012) 3.1-11 Elements and Material Models

Page 153: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Hex Elements

Large Displacement Form

When large displacement e↵ects are present, the current coordinates of the element nodes areadopted to form B to compute virtual strains for internal force computation as in

IF

e

=Z

Ve

B

T (xn+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 modification which enforces constant pressure throughout the element can introducespurious hourglass modes. A classic example which illustrates this element behavior involvesfinite compression of a plane-strain block, where the ends are restrained from lateral expan-sion. The di↵erences between deformed shapes with and without the B modification are quitesurprising.

A simple stabilization procedure suggested by Nakamura and Parks [6] often helps to sup-press this behavior. A specified fraction of the usual B

dil

i

replaces a similar fraction of B

dil

i

as

B

i

= B

dev

i

+ B

dil

i

+ "

hB

dil

i

B

dil

i

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 thecommand (see Section 2.10 on Solution Parameters) bbar stabilization factor <numr>. Thedefault 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 directcomputation of strain-like terms (e.g., the UMAT material model and various crystal plasticitymodels). A mean-dilatation form for the deformation gradient F at an integration point iscomputed using the modification

F = F

J

J

13

(3.1.22)

where J = det(F ) and the J is the average value of J over the deformed element volumecomputed by

J =V

V

0

=1V

0

Z

V0

J dV

0

. (3.1.23)

and V

0

is the undeformed element volume. Note that use of F does not a↵ect R computed inthe polar decomposition.

Chapter 3 (Updated: 9-4-2012) 3.1-12 Elements and Material Models

Page 154: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 doesnot open under loading. To support this modeling option, simply collapse one face of a hexelement 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 4and 8 of the l3disop element and a di↵erent structure node number for elements nodes 1 and5.

During input processing, the input translators issue a warning message for each elementwith 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 withunique node numbers retained for all nodes. This scheme allows blunting deformations of thecrack front under increased loading. The crack front elements thus have a topologically uniquedefinition but geometrically coincident nodes (at least before loading). This modeling approachcreates 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 mayoccur across elements. Elements with linear displacement approximations behave very poorlyunder such loadings (i.e., they exhibit shear locking). To alleviate this behavior, the elementprocessors that compute strains first average the temperatures on the element nodes (imposedthrough the structure level nodal temperature loadings) to construct a uniform temperaturechange over the element. This value is added to any specified uniform temperature changeimposed 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 specified at model nodes) can generate strong gradients of strain and stress withinelements subjected to otherwise simple loadings. Elements with linear displacement fields maydevelop severe locking under such conditions. To help alleviate this e↵ect, a single set of materialproperties is constructed and used in the computations for all the Gauss points of each elementwith linear displacement fields. A model constructed with these elements then accommodatesthe gradient e↵ects through the usual jumps in strain-stress values across element boundaries.

Simple averaging of FGM properties specified for the model nodes incident on the elementor averaging of the temperatures for the element nodes before element level computationsaccomplishes this smoothing e↵ect. This averaging process is performed for all solid (hex)elements but the q3disop element.

3.1.11 Examples

The following examples illustrate the specification of hex elements in a model.

structure cct

c

material a533b

Chapter 3 (Updated: 9-4-2012) 3.1-13 Elements and Material Models

Page 155: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 finite element solutions in the fullyplastic range. Computer Methods in Applied Mechanics and Engineering, Vol 4, No 2, pp. 153–177, 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. 402–406.

[5] H. Ashley and G. Zartarian.Piston Theory – A New Aerodynamic Tool for the Aeroelastician. Journalof Aeronautical Sciences, Vol. 23, No. 12, December 1956, pp. 1109–1118.

[6] T. Nakamura and D. M. Parks. Three-Dimensional Stress Field Near the Crack Front of a ThinElastic Plate. Journal of Applied Mechanics, Vol. 55, No 4, pp. 805–813, 1988.

Chapter 3 (Updated: 9-4-2012) 3.1-14 Elements and Material Models

Page 156: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 finite 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 field. This constant strain element is analogous to a constant strain triangleelement in 2-D. The 10-node element (tet10 ) provides a quadratic displacement field with theability to better represent bending deformations without severe shear locking. Under fully in-compressible plastic deformations, tet10 exhibits minimal volumetric locking (even when theelement edges are curved).

The element formulations support geometrically nonlinear analysis (large displacements,rotations, finite strains), materially nonlinear analysis and combined geometric/material non-linear analysis.

For dynamic analyses, the diagonal (lumped) mass matrix derives from the scaled terms ofthe consistent mass matrix.

To support analyses with functionally graded materials (FGMs), the tet elements utilizematerial properties defined at the model nodes when specified in the input (see Section 2.2).

All element computations take place in the global coordinate system for the model. Strainsand stresses output by the model reference the global coordinate axes.

For modeling initially sharp crack fronts in linear-elastic fracture mechanics, the mid-sidenodes of the tet10 element are often moved to the quarter-point position along the edge tobetter 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 s1, s2, s3, s4. Note: that the node ordering for these elements followsthe 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. Figure3.2.2 tabulates the locations of integration points in the parametric triangular coordinates. Thedefault order of integration for the tet4 element is the simple one point rule (1pt rule) withcoordinates s1 = s2 = s3 = s4 = 0.25. For the 10-node element, the sti↵ness and internal forcesare computed with the 4-point rule by default. Strain-stress values are computed, updated andoutput at these 4 integration points as well. A 5-point rule is also provided as indicated inFig. 3.2.2. The element mass matrix and equivalent nodal forces for applied body loads arecomputed with a 15-point rule (tet10 ) and a 4-point rule (tet4 ). Equivalent nodal forces fortractions applied on the element faces are computed with a 7-point rule.

Simple patch tests performed on a mesh containing initially distorted tet10 elements revealsbetter performance for the 5-point integration rule, i.e., the number of correct significant digitsin the computed displacements, strains, stresses increases significantly.

Element results are frequently output at the center-point which corresponds to parametriclocation s1 = s2 = s3 = s4 = 0.25. The values are simple averages of the integration pointvalues.

Chapter 3 (Updated: 12-12-2011) 3.2-1 Elements and Material Models

Page 157: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Tet Elements

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 irregularlyshaped 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 elementbehavior remains adequate unless the mapped shape becomes unreasonable (either the initial,undeformed shape or the current shape if geometric nonlinear analysis). Large aspect ratiosshould 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 thecoordinate Jacobian at the integration points (using the current nodal coordinates for geometricnonlinear analysis). Zero or negative values indicate a severely distorted element. Messagesidentifying 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 narrowrange from the geometric center of the element edge, unless the user intentionally places themat 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

Page 158: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Tet Elements

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 defined by the name of the property, a <label>, followed by a value. Logical propertiesare set .true. simply by the appearance of the property name. The default behavior for the tet4element 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-strainformulation, 4-point integration, and output of a short list of strains-stresses at the integrationpoints.

3.2.3 Output Options

Printed strain-stress results may be obtained at the integration points (default), the elementnodes or at the parametric center-point of the element. Figures in Section 2.12 define each ofthe 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 thetet10 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. Elementmid-side node values are obtained by averaging values of the adjacent corner nodes. Values ofinvariants, principal values and directions are then computed from these nodal values. Valuesof e↵ective strain, Mises stress, energy density and state variables dependent on the materialmodel 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

Page 159: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 bepreferable (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 pointvalues. Values of invariants, principal values and directions are computed from these averaged,center-point values. Values of e↵ective strain, Mises stress, energy density and state variablesdependent 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 elementnodes are not those obtained by processing extrapolated or averaged nodal strains throughthe nonlinear material model routines. This can lead, for example, to extrapolated or averagedstresses 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 firstload step. Entries of the lumped mass are proportional to the diagonal entries of the elementconsistent mass. The proportionality factor preserves the total mass of the element, e.g., thesum of the diagonal terms for the vi accelerations equals the element mass. This procedurealways generates positive values for the lumped mass and leads to optimal convergence rateswith mesh refinement.

The mass matrix diagonal term for each of the three accelerations at node i is then

m

eii = ↵

Z

Ve

N

2i dVe (3.2.1)

where denotes the mass density of the undeformed material.Ni denotes the usual interpolatingfunction for the element node i. The scaling factor ↵ is given by

Chapter 3 (Updated: 12-12-2011) 3.2-4 Elements and Material Models

Robert Dodds
Page 160: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Tet Elements

↵ =

Z

Ve

dVe

"nenX

k

Z

Ve

N

2k dVe

#(3.2.2)

where nen denotes the number of element nodes. To compute the exact element volume withhighly curved edges, a 15-point rule is employed for the tet10 element. A 4-point rule is adoptedfor the tet4 element.

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 define a non-uniformtemperature field 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 loaddefinitions 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

Page 161: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Tet Elements

Body Forces

Body forces are specified by the intensity (units of F/L3) and the direction along one of thecoordinate axes. The body force intensity is constant over the element. The body force loadsare defined by the command

body (forces)

2

4

8<

:

bx

by

bz

9=

; (=) < force intensity : number > (, )

3

5

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 specified face. Figure 3.2.3 defines the face numbers. Thecommands define the loaded face of the element, the loading intensity (units of F/L2), and theloading direction. When the traction is aligned with one of the coordinate axes, the commandhas the form

face < face number : integer > (tractions)

2

4

8<

:

tx

ty

tz

9=

; (=) < intensity : number > (, )

3

5

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 positivepressure loads the face in compression.

Piston Model Pressures

Aircraft structural elements generate unsteady aerodynamic pressure loads related to the fluidvelocity and the local deformation. Piston theory provides a simple method to calculate approx-imate aerodynamic pressures at relatively large flight Mach numbers on nearly plane surfacesat a low inclination to the free stream. WARP3D incorporates a third order version of pistontheory as described in [1, 2] to define the instantaneous pressure loading on surfaces of solidelements exposed to the flow stream. The pressure is determined by

p

p3= 1 +

M3Vp +

+ 1

4M

23 V

2p +

+ 1

12M

33 V

3p

(3.2.3)

where p sets the local pressure on the aircraft surface, p3 represents the undisturbed flowpressure at the panel’s leading edge, denotes the isentropic exponent (equal to the specificheat ratio of air), and M3 provides the Mach number. The term Vp indicates the normalizedpiston velocity, defined as having a direction normal to the approach flow at the panel leadingedge:

Chapter 3 (Updated: 12-12-2011) 3.2-6 Elements and Material Models

Page 162: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Tet Elements

Vp =

1

U3

@w

@t

+@w

@s

(3.2.4)

where U3 denotes the velocity (magnitude) at the panel’s leading edge. The term w indicatesthe displacement perpendicular to the aircraft’s surface. Eq (3.2.4) includes partial derivativesof w with respect to time and the direction of fluid flow, s.

Piston loads are re-computed at the beginning of every load (time) step in the solution toreflect the current displacement derivatives with respect to time and flow direction in the aboveequation and also possible changes in parameters required in Eq (3.2.3). The surface pressuresfrom 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 parametriccenter 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 defined prior to defining the piston loading command. Thepiston table provides a loading history based on flow pressure, Mach number, velocity, isentropicexponent, and the fluid flow direction with time.

Uniform Temperature

A uniform temperature change over the element may be imposed through element loads. Thecommand has the form

temperature (=) < value : number > (, )

Multiple Loads Defined on Same Element

Element loads are additive – if the same element number and loading direction appear in twodi↵erent loading commands the sum of two loads is applied to the model. An example sequenceto define 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, anda body force in the x direction. Specifications for di↵erent loading types for a list of elementsmay be combined onto a single line if desired.

Large Displacement E↵ects on Loads

When the analysis includes geometric nonlinear e↵ects (large displacements), equivalent loadsfor the incrementally applied surface tractions and pressures are re-computed at the beginningof each load step using the current (deformed) geometry of the elements.

Chapter 3 (Updated: 12-12-2011) 3.2-7 Elements and Material Models

Page 163: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Tet Elements

3.2.6 Strains-Stresses for Large Displacement Formulation

The nonlinear property requests a geometrically nonlinear element formulation. See Section3.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 mayoccur across elements. Elements with linear displacement approximations behave very poorlyunder such loadings (i.e., they exhibit shear locking). To alleviate this behavior, the elementprocessors that compute strains first average the temperatures on the element nodes (imposedthrough the structure level nodal temperature loadings) to construct a uniform temperaturechange over the element. This value is added to any specified uniform temperature changeimposed 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 specified at model nodes) can generate strong gradients of strain and stress withinelements subjected to otherwise simple loadings. Elements with linear displacement fields maydevelop severe locking under such conditions. To help alleviate this e↵ect, a single set of materialproperties is constructed and used in the computations for the tet4 . A model constructed withthese elements then accommodates the gradient e↵ects through the usual jumps in strain-stressvalues across element boundaries.

Simple averaging of FGM properties specified for the model nodes incident on the elementor averaging of the temperatures for the element nodes before element level computationsaccomplishes this smoothing e↵ect.

3.2.9 Limitations on Current Use

The tetrahedral elements remain relatively new in WARP3D and as such are not yet fullyintegrated 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 decompositionfor MPI-based parallel execution (patwarp does support the tet elements in the model andloading definition)

3.2.10 Examples

The following example illustrates the specification 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

Page 164: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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. 402–406.

[2] H. Ashley and G. Zartarian.Piston Theory – A New Aerodynamic Tool for the Aeroelastician. Journalof Aeronautical Sciences, Vol. 23, No. 12, December 1956, pp. 1109–1118.

Chapter 3 (Updated: 12-12-2011) 3.2-9 Elements and Material Models

Page 165: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 spontaneouscrack formation and/or crack extension. Mode I crack formation/growth over symmetry planesbecomes a simplified application of the more general 3-D, mixed-mode fracture configuration.The interface elements consist of two generally non-planar, quadrilateral or triangular surfaceswhich connect the congruent faces of two adjacent solid elements (hexahedrals and tets). Thehigher-order, triangular interface element may have curved edges as well. When the surfacesof the two adjacent solid elements deform, the interface element between them experiencesdisplacement jumps across the two surfaces which generate tractions following a user specified,linear or nonlinear traction-separation relationship. In the initial undeformed configuration, thenodes on the two surfaces of the interface elements (i.e., S− and S+) are most often defined tobe coincident although this is not a requirement (relatively thin interface elements may facilitatemesh generation). The interface elements are intended for use with the cohesive constitutivemodel described in Section 3.8 and with the crack growth processor defined in Section 5.4.

Figure 3.3.1 shows the three different types of interface elements presently available inWARP3D. The element inter 8 consists of two, 4-node bilinear isoparametric surfaces andconnects the faces of two compatible solid elements (e.g., the l3disop). The two surfaces ofelement 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 surfacesand connects the faces of two 10-node tetrahedral (tet10 ) elements. The triangular interfaceelements, together with tetrahedral solid elements, provide WARP3D with the capability tosimulate complex, 3-D fracture processes with crack turning and branching.

Finite element models with interface-cohesive elements may or may not have pre-existingcracks. Interface-cohesive elements often are employed to model spontaneous crack formationand then growth across multiple locations in the model under increased loading. Pre-exisitingcracks in the model introduce no difficulties in the use of interface-cohesive elements to simulatetheir subsequent extension, branching, etc. and their influence on the formation-extension ofother cracks in nearby material.

Essential concepts of the element formulation for finite deformation analyses are describedby Ortiz and Pandolfi [1] and others [2]. The present formulation casts the governing equationson the current rather than initial configuration.

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 of2 × 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 define the constitutive response. For geometricallynonlinear elements, the true traction (Cauchy traction computed in the current configuration)defines the stress measure for the interface constitutive behavior. For the geometrically linear(small-displacement) formulation, the traction-separation law employs a stress measure basedon the initial, undeformed configuration.

Chapter 3 (Updated: 6-5-2013) 3.3-1 Elements and Material Models

Page 166: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

!

"

# $

% &

'

(

!"#$%&'

("

'

%

!

&

%%

!

# #

" "

& &

''

#%!"#(

%%

!

# #

"

$

&(

)

'

#%!"#)*

'

$

(

)

* *

++

,,

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 bottomsurface of the element, while nodes (nnode + 1) → 2 × nnode reside on the top surface. Themesh generation process should make each pair of top and bottom surface nodes geometricallycoincident in the undeformed configuration (this is not strictly required). Each node has threetranslational displacements (u1, u2, u3) in the global Cartesian coordinate system of the model(X1, X2, X3). The 6×nnode nodal displacement vector, d, for the element in global coordinatesmay be written

d = (u1, u2, ...u2×nnode, v1, v2, ...v2×nnode, w1, w2, ...w2×nnode)T . (3.3.1)

Note the ordering of nodal displacements: u for all nodes with bottom nodes first, then v, wfor all nodes in the same ordering.

The use of standard interpolation functions enables construction of the continuous displace-ment fields in global coordinates at each point on the bottom surface, ub

3×1, and on the top

surface, ut3×1. Writing the displacement functions as u6×1 =

(ub,ut

)T, we have

u6×1(ξ1, ξ2) = N6×(6×nnode) d(6×nnode)×1 (3.3.2)

Chapter 3 (Updated: 6-5-2013) 3.3-2 Elements and Material Models

Page 167: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

where the matrixN contains the usual interpolation functions expressed in parametric (surface)coordinates, N (ξ1, ξ2) = [N1 (ξ1, ξ2) , N2 (ξ1, ξ2) , ..., Nnnode (ξ1, ξ2)], according to

N =

N 0 0 0 0 00 0 N 0 0 00 0 0 0 N 00 N 0 0 0 00 0 0 N 0 00 0 0 0 0 N

6×(6×nnode)

(3.3.3)

where 0 = [0, 0, ..., 0nnode]. Figures 3.3.2, 3.3.3, and 3.3.4 show the parametric coordinatesadopted to describe the interface elements. The inter 8 element uses parametric coordinates(ξ1, ξ2) to define 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 usualinterpolation of nodal coordinates

X1(ξ1, ξ2) =

nnode∑Ni(ξ1, ξ2)X1(i) (3.3.4)

X2(ξ1, ξ2) =nnode∑

Ni(ξ1, ξ2)X2(i) (3.3.5)

X3(ξ1, ξ2) =nnode∑

Ni(ξ1, ξ2)X3(i) (3.3.6)

where the coordinates for nodes i : 1 → nnode refer to those on the bottom surface, the topsurface or for the large displacement formulation the average of top and bottom surface nodalcoordinates to construct a mid-surface.

With these (interpolated) continuous displacement fields at each point on the bottom andtop surfaces, the jump displacement fields (top surface – bottom surface) corresponding tocommon points in parametric coordinates on the two surfaces is defined by

∆u3×1(ξ1, ξ2) = L3×6 u6×1(ξ1, ξ2) (3.3.7)

where the operator matrix L has the simple form

L =

−1 0 0 +1 0 00 −1 0 0 +1 00 0 −1 0 0 +1

(3.3.8)

where the ordering of terms in each row of L sets the positive sense of jump displacementsas top – bottom surface values. Using the above expressions, the relation between elementnodal displacements and the continuous (jump) displacement fields over the element in globalcoordinates has the form

∆u(ξ1, ξ2) = LNd . (3.3.9)

Cohesive constitutive models link: (1) displacement jumps normal to the top and bottomsurfaces with a corresponding normal traction, and (2) displacement jumps (sliding) in the tan-gent plane to shear tractions. In general, the identification of normal and sliding displacements

Chapter 3 (Updated: 6-5-2013) 3.3-3 Elements and Material Models

Page 168: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

requires a transformation of global displacements at nodes on the top and bottom surfaces ofthe element to a local (orthogonal) tangent-normal coordinate system (the same as required inbeam and shell elements to identify axial and shear displacements).

Let matrix R3×3 define the rotational transformation for vectors expressed in the globalreference frame X (X1, X2, X3) to an element specific, local orthogonal system (t1, t2,n) [seeFigs. 3.3.2, 3.3.3, and 3.3.4]. The direction n lies normal to a tangent plane for the elementconstructed at location (ξ1 = ξ2 = 0) and the (orthogonal) directions t1, t2 lie in the tangentplane. Positive senses are indicated on the figure with n directed (positive) from S− to S+. Fortrint6 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;

• define a set of element orthogonal coordinates (x1, x2, x3) where x = λX. Construct therotation matrix λ such that x3 lies normal to the plane containing element nodes 1, 2 and3. x2 is in direction of x3×L1-2; with x1 = L1-2/||L1-2|| where L1-2 denotes a vector fromnode 1 to 2;

• compute the set of coordinates x for each element node i, x(i) = λX(i)

• compute the coordinate Jacobian, J2×3 (in terms of x1, x2, x3) at parametric location (0, 0)where Ji,j = ∂xj/∂ξi . This yields two vectors (t1, t2) in the tangent plane but that are notnecessarily orthogonal, e.g., t1 = J1,1i1 +J1,2i2 +J1,3i3 where i1, i2, and i3 are unit vectorsaligned with the x axes.

• compute n = t1 × t2/||t1 × t2||• compute t1 = t1/||t1||; then t2 = n× t1• define rotation matrix λ = [t1 t2n]T

• R = λ λ defines the global - to - tangent plane rotation for displacements.

This same R is used for all parametric locations within the element. This introduces a smallapproximation for initially non-planar interface elements. For the geometrically linear formu-lation, all element level computations refer to the undeformed nodal coordinates and thus Rremains fixed over the loading history.

In geometrically nonlinear analyses, the deformed shape-orientation of the interface elementat time t is employed in computations, Xt = X0 + ut. The computations construct a middlesurface of the cohesive element in the current configuration using averaged displacements ofcorresponding S− and S+ nodes. The middle surface provides the basis to compute t1, t2,nand then R as outlined above (see Fig. 3.3.5).

Finally, the vector of displacement jumps defined relative to the tangent plane and normaldirection 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, D3×3, such that

T = D∆ (3.3.11)

where T =(Tt1, Tt2, Tn

)Tand Dij = ∂Ti/∂∆j .

Chapter 3 (Updated: 6-5-2013) 3.3-4 Elements and Material Models

Page 169: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

1

2 3

S+

S4

5

6 7

8

n t1t2

1

2

(1,5)

(3,7)

(2,6)

(4,8)

Parametric Coordinates of Nodes

Integra>on Rules Point 1 21 -a -a!2 a -a!3 a -a!4 -a a!

“2x2gs” (Gauss): a = 0.57735 “2x2nd” (Newton-­‐Cotes): a = 1.0

Node 1 21  -1 -1 !2  1 -1!3  1 1!4  -1 1!5  -1 -1!6  1 -1!7  1 1!8  -1 1!

Ini>ally Zero

X1

X2

X3

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 finite 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 cohesivesurface can be expressed in the form,∫

V0

δεTσ dV +

∫S0-coh

δ∆TT dScoh =

∫S0-ext

δdTT ext dS +

∫V0

δdTF ext dV . (3.3.12)

Here σ denotes the stress tensor, T ext the 3× 1 the externally applied tractions on the portionof the boundary S0-ext in the undeformed configuration, with body forces F ext. V0 and S0-cohdenote volume and internal cohesive areas in the undeformed configuration, respectively. δdrepresents the virtual displacement vector and δε the corresponding variations of the usual(small) strain tensor. For the interface-cohesive elements, δ∆ = Bδd.

Application of standard finite element procedures yields the (global) nodal force vector foreach interface element as

f (6×nnode)×1 =

∫ 1

−1

∫ 1

−1BTT J0 dξ1 dξ2 for inter 8 (3.3.13)

f (6×nnode)×1 =

∫ 1

0

∫ 1

0BTT J0 dξ1 dξ2 for trint6 and trint12 (3.3.14)

Gauss or Newton-Cotes integration is applied for the quadrilateral element defined over theparametric, 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 J0(ξ1, ξ2) =||t1(ξ1, ξ2)× t2(ξ1, ξ2)||.

Chapter 3 (Updated: 6-5-2013) 3.3-5 Elements and Material Models

Page 170: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

For the implicit solution procedures used in WARP3D, the global tangent stiffness matrixof dimensions (6× nnode)× (6× nnode) for the interface elements is given by

KT =

∫ 1

−1

∫ 1

−1BTDB J0 dξ1 dξ2 for inter 8 (3.3.15)

KT =

∫ 1

0

∫ 1

0BTDB J0 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 stiffness KT 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 theform, ∫

VδεTσ dV +

∫Scoh

δ∆TT dScoh =

∫Sext

δdTT ext dS +

∫VδdTF ext dV . (3.3.17)

Here σ denotes the (symmetric) Cauchy stress tensor, T ext the 3× 1 the externally appliedtractions on the portion of the boundary, Sext in the deformed configuration, with body forcesF ext. V and Scoh are the current volume and current internal cohesive areas, respectively. Thetractions, T , acting across internal cohesive surfaces now refer to the current configuration.

The (global) nodal force vector for the nonlinear interface element is given by

f (6×nnode)×1 =

∫ 1

−1

∫ 1

−1BT (xn+1)T n+1 Jn+1 dξ1 dξ2 for inter 8 (3.3.18)

f (6×nnode)×1 =

∫ 1

0

∫ 1

0BT (xn+1)T n+1 Jn+1 dξ1 dξ2 for trint6 and trint12 (3.3.19)

where Jn+1 denotes the Jacobian of the transformation for differential surface areas (see detailednotes in previous section). Further, t represents the tractions acting on the internal cohesivesurfaces having size, shape and orientation at n + 1. The tractions T n+1 to correspondingthe displacement jumps ∆n+1 between S− and S+ surfaces in the current configuration areprovided by the cohesive constitutive model. The incremental displacement jumps ∆ that driveupdating of cohesive tractions from load step n→ n+ 1 are given by

∆ = B (xn+1) ∆d = Rn+1 L N ∆d (3.3.20)

where R is evaluated following details provided earlier using the end of step configuration ofthe reference surface.

The global tangent stiffness matrix (6 × nnode) × (6 × nnode) for the nonlinear interfaceelements is given by

KT =

∫ 1

−1

∫ 1

−1BT (xn+1)DB (xn+1) Jn+1 dξ1 dξ2 for inter 8 (3.3.21)

KT =

∫ 1

0

∫ 1

0BT (xn+1)DB (xn+1) Jn+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

Page 171: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

where numerical experiments indicate that omission of initial stress and non-symmetric termsin KT do not adversely degrade convergence rates of the global Newton iterations – load stepsmust necessarily be quite small to track realistically the change in cohesive tractions withdeformation.

Parametric Coordinates of Nodes Node 1 21  1 0 !2  0 1!3  0 0!4  1 0!5  0 1!6  0 0!

X1

X2

X3

A1

A2

A3

(1,4)

(3,6)

(2,5)

1 =A1

A2 =

A2

A3 =

A3

A

1 + 2 + 3 = 1

1 = 0

2 = 0

3 = 0

1

2 3

S+

S4

5 6

nt1t2

Ini;ally Zero

Integra;on Rules

Point 1 21 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!

“3pt_rule”

“3mpt_rule”

1 1/3 1/3 1/3!“1pt_rule”

Default: “3mpt_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) usinga middle surface constructed by averaging the deformed S− and S+ surfaces of the interfaceelement. 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 correspondingnormal direction are computed using the element nodal coordinates in the undeformed con-figuration. However, the traction is computed using the deformed, middle surface area in thecurrent configuration.

To detect interpenetration of the top and bottom surfaces, the code treats the interfaceelement 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 stiffness and internal forces for these elements arecalculated assuming a linear normal traction (compressive) vs. normal relative displacement(penetration) response. The stiffness of this linear response is taken as a user-defined factortimes the slope of the tensile traction-separation curve at the origin (see Section 3.8). Eventhough some interpenetration may actually occur prior to detection, the solution process doesattempt 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

Page 172: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

expected in regions of the applied loading history.

These additional checks for interpenetration take place only for the element formulationwith large displacements. For the small-displacement formulation, element computations areperformed using the initial, undeformed configuration. In such cases, negative normal displace-ments at an integration point lead to use of the compressive stiffness of the constitutive model.

3.3.5 Node and Integration Point Ordering

The stiffness matrix and internal forces of the interface element are evaluated using numericalquadrature over the reference surface. For geometrically linear elements, all computations takeplace using the initial (undeformed) configuration – the S− and S+ surfaces remain identicaland define the unique reference surface. For geometrically nonlinear elements, integration takesplace over the middle surface, unless the user overrides this default in the presence of symmetryplanes (see subsequent section). Figures 3.3.2, 3.3.3, and 3.3.4 show the node ordering andorientation of the parametric axes (ξ1, ξ2) for the quadrilateral element and or (ξ1, ξ2, ξ3) forthe triangular elements.

Two integration schemes are available for the inter 8 element: (a) 2× 2 Gauss quadraturerule ’2x2gs’, or (b) a 2×2 Newton-Cotes rule ’2x2nd’ which has sampling points located at theelement nodes. Figure 3.3.2 shows the locations of integration points in parametric coordinatesfor these integration schemes. Experience shows the best choice of an integration rule depends onfeatures of the cohesive constitutive model for the interface. (see [3] for an extensive discussionof this issue). For a linear-elastic, cohesive model with very high stiffness, the Newton-Cotesscheme provides better numerical stability and accuracy. For a nonlinear traction-separationmodel, the Newton-Cotes scheme may lead to oscillatory displacement profiles behind a crackfront. The Gauss integration scheme eliminates this undesirable response.

The rules and the sampling points for numerical integration over the triangular elementstrint6 and trint12 are shown in Figs. 3.3.3, and 3.3.4, respectively. Again, some experimentationmay be required to set the most suitable integration scheme for (very) stiff linear cohesivemodels 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 properorientation of the normal. The following rules apply:

• The incidence list for the element must have all nodes of one surface listed first, followedby those nodes of the other surface.

• The nodes on the first surface should appear in an order such that the normal vector tothe surface, defined by a right-hand rule, points away from the corresponding face of theattached solid element (or symmetry plane) and into the interface element.

• The first node of the second surface must coincide with the first node of the first surface.The remaining nodes of the second surface should follow the same order as that of the first.

With reference to inter 8 element shown in Fig. 3.3.1, the ordering rule can be interpreted asfollows. Consider 2 vectors: one constructed using the first node listed in the element incidences

Chapter 3 (Updated: 6-5-2013) 3.3-8 Elements and Material Models

Page 173: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

to the second node in the list (vector ab); the second vector from the first node to the last nodein the incidence list (vector ad). The cross product of these two vectors (ab × ad) must pointaway from the attached solid (with surface a-b-c-d in the figure) or away from a symmetryplane. This interpretation also holds for the triangular interface elements.

1

2

3

4

5 6

7

8

9

10

11

12

S+

S

nt1

t2

Ini/ally Zero

Parametric Coordinates of Nodes Node 1 21,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 =A1

A2 =

A2

A3 =

A3

A

1 + 2 + 3 = 1

1 = 0

2 = 0

3 = 0

Integra/on Rules

Point 1 21 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

“4pt_rule”

“3mpt_rule” & “3pt_rule” also available

Default: “7pt_rule”

“6pt_rule”

a1 = 0.8168 b1 = 0.0916!a2 = 0.1081 b2 = 0.4459!

Point 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!

Point 1 2 3

“7pt_rule” X1

X2

X3

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 finite element mesh. Interface-cohesive elements specified over the crack plane define the remaining (uncracked) ligament andconstrain the crack to grow only in the symmetry plane, e.g., planar surface breaking or buriedcracks, 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-thicknesscrack.

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) areincident (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 thisdiscussion. Those nodes on the symmetry plane must have user-specified constraints to enforcezero 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

Page 174: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

X1

X2

X3

1

2

3 S+

S

4

5

6

nt1t2

7

8

mid-­‐plane

Fig. 3.3.5: By default, the local coordinate system for a geometrically nonlinear cohesive element is

defined with respect to the mid-plane (surface ’middle’) of the deformed configuration. 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 meshlayout 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 interfaceelements occur in the initial (undeformed) configuration. The top and bottom surfaces aregeometrically identical in the initial configuration. This is also the reference surface for allsubsequent computations. No issues arise in the definition and computations of models withsymmetry planes.

For general meshes and loading with large displacement solutions (geometrically nonlinear),the current element geometry is defined (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 eachpair of top and bottom surface nodes. But with models having an interface element connectedto a symmetry plane, computations must adopt the reference surface as the one connected tothe adjacent solid element. The interface nodes on this surface experience displacement changescaused by Poisson effects in the solid element. WARP3D cannot determine which surface ofan 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 tothe adjacent solid element as defined by the element orientation in the mesh through the inci-dence list. The keywords surface ’top’ or surface ’bottom’ in the element property values areused to indicate the reference surface for interface elements with the geometrically nonlinearformulation. This option is ignored for geometrically linear elements.

In view of the above discussion, we recommend the following procedure to model modeI 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

Page 175: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

to define the initial crack size/shape or other model features, (2) for geometrically nonlinearanalyses, 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 resistanceto 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 reflect thesymmetry 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 finite element mesh that does not takeadvantage 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 KT and f : inter 8 order string ’2x2gs’ ∗

’2x2nd’

Integration rule for KT and f : trint6 order string ’1pt rule’

’3pt rule’ ∗

’3mpt rule’

Integration rule for KT 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 finite element models with thenonlinear formulation, the reference surface must be declared either ‘top’ or ‘bottom’ and defines

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 thedefault 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 (Tt1, Tt2, Tn)

Chapter 3 (Updated: 6-5-2013) 3.3-11 Elements and Material Models

Page 176: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

and strains refer to the displacement jumps (∆t1,∆t2,∆n) both in the local mid-plane coordi-nate system (t1, t2,n) shown in the figures of this section.

To provide a more complete description of results, additional output quantities are printedbased 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 Tt1 shear-1 ∆t1

shear-2 Tt2 shear-2 ∆t2

shear Ts =√T 2t1 + T 2

t2shear ∆s =

√∆2

t1 + ∆2t1

normal Tn 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 Tt1 shear-1 ∆t1

shear-2 Tt2 shear-2 ∆t2

shear Ts =√T 2t1 + T 2

t2shear ∆s =

√∆2

t1 + ∆2t1

normal Tn normal ∆n

eff T =√β−2T 2

s + T 2n

eff ∆ =√β2∆2

s + ∆2n

eff/peak T /Tp eff/peak ∆/∆p

gamma Γ =∫∆

0T 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 definitions of β, Tp 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, cohesivematerial model (Section 3.8) and crack growth procedures (Section 5.4), the crack growthprocessors output a summary of similar quantities for each interface element at the beginningof each load step.

3.3.10 Examples

The following examples illustrate the specification of interface elements in a model.

Chapter 3 (Updated: 6-5-2013) 3.3-12 Elements and Material Models

Page 177: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Interface-Cohesive Elements

Stress label Quantity Strain label Quantity

shear-1 Tt1 shear-1 ∆t1

shear-2 Tt2 shear-2 ∆t2

shear Ts =√T 2t1 + T 2

t2shear ∆s =

√∆2

t1 + ∆2t1

normal Tn normal ∆n

shr/peak Ts/Tt−p shr/peak ∆s/∆t−p

nml/peak Tn/Tn−p nml/peak ∆n/∆n−p

gamma Γ =∫∆

0T T d∆

gamma ur Γ− 1/2 (T T ·∆)

Table 3.3.4 Output values for interface-cohesive elements using cohesive material option ppr. SeeSection 3.8 for definitions of Tt−p, Tn−p, ∆t−p, and ∆n−p.

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

Page 178: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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. Pandolfi. Finite-Deformation Irreversible Cohesive Elements for Three-DimensionalCrack-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 Fracturein 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.InternationalJournal for Numerical Methods in Engineering, 36, pp. 43-66, 1993.

Chapter 3 (Updated: 6-5-2013) 3.3-14 Elements and Material Models

Page 179: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material deformation

3.4-1Chapter 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 extensivelyemployed in elastic!plastic analyses. Alternatively, nonlinear deformation can be describedby 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 actuallya "nonlinear elasticity" theory. For a proportional strain path, deformation and incrementalplasticity theories provide identical results. Deformation plasticity does not correctly modelthe path!dependent behavior of inelastic materials for radical departures from propor!tional loading.

Deformation plasticity offers significant savings of computational effort compared toflow theory plasticity. Much larger load steps may be imposed on the model and only a fewNewton 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 incrementaltheory model since there is no explicit yield surface to complicate matters. Solutions tendto be very stable compared to those for flow theory especially when a region of the modelcontains large strain gradients, e.g., at a crack. This material model satisfies the explicitrequirements to obtain path independent values of the J!integral and is often used in suchcomputations.

The model employs a representation of the uniaxial (tensile) stress!strain curve consist!ing of three parts: an initial, linear response followed by a small circular transition to apure, power!law model. The material model provides support for functionally graded mate!rials (FGMs) with properties specified at nodes of the finite element model (see Section2.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 expansioncoefficient (alpha) for each normal strain component with zero thermal strain incrementsgenerated for the shear components. The anisotropic model enables definition of a uniquethermal expansion coefficient for each of the 6 strain components; it is intended to supportmodeling of various initial strain!stress fields, for example, residual stresses imposedthrough an eigenstrain approach.

The model supports only a small!strain formulation, temperature independent andstrain!rate independent response. The assumptions of purely proportional loading in themodel are questionable at best when finite strains and large rotations of material elementsoccur.

3.4.1 Formulation and Computational Procedures

The uniaxial stress!strain curve for the material is represented by the following relations(refer to Fig. 3.12):

!!0

! ""0

for ""0

" K1 (3.41)

!!0

! !Nc

# r2Nc

#$ ""0# "

Nc%

2& for K1 """0

" K2 (3.42)

!!0

! $ ""0%

n

for ""0

' K2 (3.43)

Page 180: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material deformation

3.4-2Chapter 3 Elements and Material Models

where,

!0 reference stress (yield stress)

reference stress (yield stress)"0

n hardening exponent for power ! law region

K1, K2 lower, upper stress limits for transition

!Nc

,"Nc center of circular transition arc

rNc radius of transition arc

!(!0

"("0

0 1 2 30.5 1.5 2.5

0.5

1

1.5

2

0

K1

K2

(!Nc

,"Nc

)

rNc

Linear

Power!LawTransition

FIG. 3.12#Uniaxial (tensile) stress!strain curve for the ‘‘deformation" plasticity

material model.

Given the linear limit, K1, the model is able to compute the upper limit for the transition,K2, based on the hardening exponent as well as the center of the small transitional arc andthe corresponding radius. K1 has the value 0.95.

Using an effective stress defined from the von Mises yield function and an effectivestrain defined from the Prandtl!Reuss relations, the total stress components in terms of thetotal strain components are given by:

Page 181: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material deformation

3.4-3Chapter 3 Elements and Material Models

"ij

"0$ !$ 1

3(1 # 2#)

!kk

!0$

ij$ )$ 2

3

"e("0

ee(!0

eij

!0(3.44)

where the effective stress and strain are defined by:

"2e !

12*("11 # "22)2 ) ("22 # "33)2 ) ("33 # "11)2 ) 6("2

12 ) "223 ) "2

13)+ (3.45)

e2e !

29*(!11 # !22)2 ) (!22 # !33)2 ) (!33 # !11)2 ) 3

2(%2

12 ) %223 ) %2

31)+ (3.46)

Here the total thermal strains, &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 independentor (2) anisotropic and temperature independent. For case (1), specify the value of alpha inthe material definition. For case (2), specify the anisotropic values through the materialproperties or through the separate thermal expansion coefficients command (see Section2.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 modelnodes using the commands described in Section 2.2.5. These properties do not vary withtemperature or loading rate, and the thermal expansion must be isotropic. To indicate thata material property value at points within elements should be interpolated from the nodalvalues, simply replace the numerical value for the property in the material definition com!mands with the string ’fgm’.

Model Property Keyword Mode

Default

Value

Young’s modulus(!) e Number 30000

Poisson’s ratio(!) nu Real 0.3

Mass density(!) rho Real 0.0

Reference yield stress ("0) (!) yld_pt Number 0.0

Power law exponent (n) (!) n_power Number 0.0

Thermal expansion coefficientfor isotropic response(!)

alpha Number 0.0

Thermal expansion coefficientsfor anisotropic response

alphax, alphay,

alphaz, alphaxy,

alphaxz, alphayz

Number 0.0

Page 182: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material deformation

3.4-4Chapter 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 numberand strain point number whenever the effective stress first exceeds the specified yieldstress. 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, U0, to the ele!ment routines for subsequent output.

The element stress output contains one value for the material model. This value is theeffective "plastic" strain given by:

mat_val1: accumulated plastic strain,

!p ! !0$"e

"0%

n

#"e

E

3.4.4 Computational Efficiency

The computational routines for this model process elements in blocks of a size matched tothe vector length of the computer (i.e., Crays) or to the cache size of the workstation. Allmodel computations are written in vectorized code except for the local Newton loop to up!date the scalar stress "e using the uniaxial stress!strain curve in Fig. 3.12. Compared tothe general rate!dependent Mises model discussed later, this model is computationallymore efficient. It is, however, slower than the fully vectorized bilinear model with constanthardening described in the following section.

3.4.5 Examples

The following example defines the properties for a mild steel material frequently used infracture 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 cctcmaterial 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-05cnumber of nodes 25642 22092celements 14000-22092 type l3disop linear material a516 order 2x2x2, long bbarc

The following example defines the properties for a functionally graded material where allproperties but Poisson’s ratio vary spatially over the model (Poisson’s ratio can also varyif required).

Page 183: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material deformation

3.4-5Chapter 3 Elements and Material Models

structure cctccmaterial graded_titanium_fgm properties deformation e ’fgm’ nu 0.25 yld_pt ’fgm’ n_power ’fgm’, rho ’fgm’ alpha ’fgm’cnumber of nodes 25642 elements 22092cfunctionally 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 longc

Page 184: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–1Chapter 3 Elements and Material Models

3.5 Material Model Type: bilinear (mises)

This material model extends the small!strain Mises plasticity theory to include the effectsof finite strains and rotations. Rate!independent, incremental theory of plasticity with(constant) isotropic and kinematic hardening is employed. The Mises yield surface isexpressed in terms of the Cauchy (true) stress. This model is formulated for the analysisof 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 withrespect to the deformed configuration.

The constitutive framework for WARP3D outlined in Chapter 1 neutralizes finite rota!tion effects during stress!updates and computation of the consistent tangent moduli. Thesmall!strain, stress!updating procedures follow a single!step, elastic!predictor radial!re!turn algorithm. The algorithm is unconditionally stable for large strain increments andprovides high accuracy in the updated stresses (for a single step method). Inelastic unload!ing!reloading events are processed without difficulty. The last section provides an overviewof the radial!return procedures implemented for this model.

This model employs a representation of the uniaxial (tensile) stress!strain curve con!sisting of an initial, linear response followed by linear hardening. Purely isotropic, purelykinematic and mixed isotropic!kinematic hardening are offered as options. The elasticmodulus, Poisson’s ratio and the constant hardening slope may all be functions of tempera!ture. The model provides support for functionally graded materials (FGMs) with propertiesspecified 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 expansioncoefficient (alpha) for each normal strain component with zero thermal strain incrementsgenerated 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 initialstrain!stress fields, for example, residual stresses imposed through an eigenstrain ap!proach. The anisotropic coefficients do not vary with temperature. The isotropic model forthermal loading can be used in small displacement, large displacement and finite strainanalyses. The anisotropic model for thermal loading should generally not be used in largedisplacement!rotation 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 generalMises model described in the next section when the strain!rate independent, constant hard!ening (at each temperature) assumptions apply in the analysis. All computational steps ofstress!updating and consistent tangent generation are written in vector!style code. Thismodel has the best computational performance of the plasticity models for solids.

The following sections describe needed parameters to utilize this material model. Fulldetails of the numerical implementation are provided in the final section.

3.5.1 Tensile Stress!Strain 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 Young’s modulus, Poisson’sratio, (isotropic) thermal expansion coefficient and hardening slope are specified:

Page 185: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–2Chapter 3 Elements and Material Models

(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 definethe temperature dependent hardening slope

For a small!strain analysis (linear kinematic formulation), specify engineering valuesfor the strain(!

E) and stress ("E). For a finite!strain analysis (nonlinear kinematic formula!

tion), specify the uniaxial stress!strain curve using the logarithmic strain, !, and the true(Cauchy) stress, ". For a finite!strain analysis, the user should convert conventional engi!neering strain, !

E", and engineering (nominal) stress, "E#", values for input using the rela!

tions:

" ! "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.

00

FIG. 3.13#Temperature independent uniaxial (tensile) stress!strain curve for the‘‘bilinear" plasticity material model. For finite!strain analysis, input theCauchy stress and log strain description. For temperature dependentbehavior, a set of segmental stress!strain curves is specified as describedin Section 2.2.3.

Log Strain

Tru

e (C

auch

y) S

tres

s

tan_e

e

yld_pt

Material properties fortemperature independent response

Once yielding begins, three strain hardening options are available. The strain harden!ing option is selected with the # (beta) model property. The rate of strain hardening is con!trolled by the user!specified tangent modulus, ET ", and the value of #. The strain hardeningoptions are:

Page 186: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–3Chapter 3 Elements and Material Models

1. Isotropic hardening (#!1.0). The radius of the yield surface increases in proportion to theplastic modulus, H%!EET&"E ' ET

$. This is the default hardening option.

2. Kinematic hardening (#!0). The radius of the yield surface remains constant at the initialyield value. The yield surface translates in the direction normal to the surface at the currentstress contact point. The rate of translation is governed by the plastic modulus,H%!EET&"E ' ET

$, of the uniaxial stress!strain curve.

3. Mixed hardening (0(#(1). Part of the strain hardening is isotropic and part is kinematic.The value of # controls the proportion assigned to each hardening model, e.g., #!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 Young’s modulus and Poisson’s ratio must be specified unless these prop!erties are defined by referencing a set of temperature dependent, segmental stress!straincurves. 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 thealpha values during definition of the temperature dependent stress!strain 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 stress!strain curves define the properties, onlythe first two points on each curve are actually used by the computational routines. The firsttwo 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 modelnodes using the commands described in Section 2.2.5. These properties do not vary withtemperature or loading rate, and the thermal expansion must be isotropic. To indicate thata material property value at points within elements should be interpolated from the nodalvalues, 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, thematerial model prints the element number and strain point number whenever the effectivestress first exceeds the specified yield stress. This option is requested with the nonlinearsolution parameter material messages on (refer to Section 2.10.8)

The model makes available the strain energy density, U0", to the element routines forsubsequent output. U0 at step n+1 is evaluated using the trapezoidal rule

Un#10 ! Un

0 #12"tn#1 # tn$ : !d (3.49)

where the unrotated Cauchy stresses and unrotated strain increments are adopted for thefinite!strain formulation. Thermal contributions to !d are subtracted prior to the abovecomputation.

The element stress output contains up to three values for the material model ‘‘state"variables. These values for the bilinear (mises) material are:

Page 187: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–4Chapter 3 Elements and Material Models

mat_val1: accumulated (equivalent) plastic strain [see Eq. (3.56) below]

ep ! 32

) * !. pij!

. pij

) dt

mat_val2: current mises equivalent (uniaxial) yield stress, ". The current radius of the yield cyl!inder! 2&3) ". For isothermal, kinematic hardening this value remains unchangedthroughout the analysis. Isotropic hardening and&or temperature dependence of theyield 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 pointshave the same value of the state flag, the extrapolation and averaging processes donot provide directly meaningful values.

Model Property Keyword ModeDefaultValue

Young’s modulus(!) e Number 30000

Poisson’s ratio(!) nu Real 0.3

Mass density(!) rho Real 0.0

Yield stress (!) yld_pt Number 0.0

Hardening modulus (ET)(!) tan_e Number 0.0

Hardening mixity (#) beta Number 1.0

Stress!strain curve(s) curve Number 0

Thermal expansion coefficientfor isotropic response(!)

alpha Number 0.0

Thermal expansion coefficientsfor 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 tothe vector length of the computer (i.e., Crays) or to the cache size of the workstation. Allmodel computations are written in vectorized code. Compared to the general rate!depen!dent Mises model discussed later, this model is significantly faster.

Page 188: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–5Chapter 3 Elements and Material Models

3.5.5 Examples

The following example defines the properties for a mild steel material frequently used infracture models and assigns the material to some elements.

structure cctcmaterial a516 properties bilinear e 30000 nu 0.3 yld_pt 60.0 tan_e 300.0, rho 7.3e-07 alphax 1.2e–06 alphay 3.2e–06 alphaz 5.3e–05cnumber of nodes 25642 22092celements 14000-22092 type l3disop linear material a516 order 2x2x2, long bbarc

The following example defines the properties for a functionally graded material where allproperties but Poisson’s ratio vary spatially over the model (Poisson’s ratio can also varyif required).

structure cctccmaterial graded_titanium_fgm properties bilinear e ’fgm’ nu 0.25 yld_pt ’fgm’ tan_e ’fgm’, rho ’fgm’ alpha ’fgm’cnumber of nodes 25642 elements 22092cfunctionally graded material properties 1 e 16000 yld_pt 64.2 tan_e 320 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 longc

The following example defines the properties for a temperature dependent behavior (notethat the segmental curves define the elastic and thermal properties):

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 96c stress–strain curve 2 temperature 300 e 28000 nu 0.28 alpha 0.0002 0.0 70, 0.025 85c stress–strain curve 3 temperature 500 e 25000 nu 0.25 alpha 0.0003 0.0 60, 0.025 74c c

Page 189: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–6Chapter 3 Elements and Material Models

material steel properties bilinear curves 1–3 rho 7.3e-07

structure cctcnumber of nodes 25642 22092celements 14000-22092 type l3disop nonlinear material steel order 2x2x2, long bbarc

3.5.6 Plasticity Algorithms

During a time step from state n to state n+1, global equilibrium iterations, designated byi, are performed at a constant external load level to reduce the residual sufficiently closeto zero. Each iteration allows a new estimate of the strain rate to be determined at the staten+1 which is associated with the iteration. With this estimate, the stress at the ith updateof 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 overthe step is used, !! ! !

in#1 ' !n, which defines the so!called ‘path independent’ strategy.

The current implementation of this model does not use subincrementation schemes whichsubdivide the strain increment.

p~ $ planehydrostatic axis

yield surface

t2%

t1

t2

t3FIG. 3.14#Mises yield surface in principal stress

space

%~ t1%

t3%

Page 190: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–7Chapter 3 Elements and Material Models

Also necessary at each global iteration is a constitutive tangent operator that relatesstress rate to strain rate, or changes in stress to changes in strain, so that increments ofdisplacement from n+1 at i!1 to n+1 at i may be computed and strain rates estimated. Thistask is also the responsibility of the material model.

The small!strain plasticity model is based on rate independent, isotropic J2 flow theoryconsidering 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!tor!radial 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 continuumtangent 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 Simoand Taylor [90]). The complete algorithm for the stress recovery and the evaluation of theconsistent tangent operator at a given material point is developed and outlined in the fol!lowing discussion.

Yield Function and Effective Stress!Strain Values

Let t, d.

, and " denote the the stress, the strain rate (minus thermal strain rate), and theback stress # each is a symmetric, second!order tensor, respectively. Here, d

.

is simply(!i

n#1 ' !n)&!t. Deviator values and norms associated with these tensors are defined by

($)% ! ($)ij '($)kk

3&ij$; + ($) +! ($)ij"($)ij

$) % . (3.50)

Because the vector corresponding to " in principal stress space lies in the $ plane of the yieldsurface, %kk is zero and the deviator of the back stress equals the back stress. Accordingly,the deviator of the relative stress is given as

#% ! t% ' " (3.51)

allowing the Mises yield surface (Fig. 3.14) to be described by the equation

#%#%2

' k2 ! 0 (3.52)

where k denotes the current yield stress in simple shear (proportional to the radius of theyield surface in the $ 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 !#%

+ #% + (3.54)

which enables writing the plastic strain rate in the form (using normality and associativeflow)

d.p ! '

.

n;%% '.

, 0 (3.55)

where '.

denotes the non!dimensional, (rate) proportionality factor to be determined. As aconsequence of the unit normal, n, the norm + d

.p +, becomes simply '

.

.

Page 191: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–8Chapter 3 Elements and Material Models

Increments of the plastic strain lie normal to the yield surface in stress space. As a con!sequence of this (associative) J2!based flow theory, d

.

kkp (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

3d. p

d. p$) ! 2

3) + d

.p +! 2

3) '

.

(3.56)

to recover the uniaxial loading case, e.g., when d. p11 ! e

." p and d

. p22 ! d

. p33 ! ' 0.5e

." p. Simi!

larly, the (&mises") effective stress, q, is

q ! 3J2%$) $ ; J2% ! 1

2#%#%%;%% k !

q

3)% . (3.57)

to recover the uniaxial loading case, e.g. when (11 ! q with zero for the remaining stresscomponents.

Strain Hardening

The plastic modulus, H%, defines the derivative of the effective stress with respect to theeffective plastic strain. For the Mises yield surface with a bilinear uniaxial stress!strainresponse, H% is given as

H% !EET

E ' ET (3.58)

where E and ET are the Young’s modulus and the tangent modulus, respectively. Note thatfor a bilinear material, ET and H% are constants but may vary with the current materialpoint temperature, i.e., ET()) and H%()). The model supports mixed isotropic!kinematichardening with mixity defined by the user specified parameter #, which sets the proportionof isotropic hardening that ranges in value between zero and one. Values of # " 0.0, 1.0# and0.25 indicate pure kinematic hardening, pure isotropic hardening, and a mixed!rule with25% isotropic hardening, 75% kinematic hardening. To simplify subsequent equations,define the isotropic and kinematic hardening (plastic) moduli as

Hi ! #H%$;%% Hk ! (1 ' #)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, )) (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-)

d)%%. (3.61)

The constant (linear) hardening model at each temperature has the form

q ! q0()) # Hi())e" p (3.62)

where q0 denotes the temperature dependent yield stress. The derivatives needed in Eq.(3.61) become

-q-e" p

! Hi())%;%-q-)

!-q0())-)

#-Hi

-)e" p%%. (3.63)

Page 192: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–9Chapter 3 Elements and Material Models

Using these expressions, the rate form of Eq. (3.62) becomes

q.! Hie

." p# q

.

0 # H.

ie" p (3.64)

where the temperature dependence of the terms is understood and the rate for Hi and q0refers 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 expansion&contrac!

tion of the yield surface (k.

) follows from the uniaxial (equivalent) hardening rule as

k.

!q.

3);%% k

.

! Hi2)

3+ d

.p + # k

.

0 #1

3)H

.

ie" p%%. (3.65)

Noting again the simple result for the norm appearing here given by Eq. (3.56), the finalexpression for k

.

becomes

k.

!2$)

3Hi'

.

# k.

0 #H

.

i

3)e" p%%. (3.66)

In the absence of current plastic straining ( '.

!0), k.

takes on non!zero values when the yieldstress and&or the plastic hardening modulus vary with temperature.

For kinematic hardening, the yield surface translates to accommodate all hardeningcaused by additional plastic straining and changes of plastic modulus with temperature.Consider a simple one!dimensional model with linear hardening. When the material expe!riences current plastic flow the stress can be written as

" ! "0()) # % ! "0()) # Hk())ep (3.67)

where for simplicity in the discussion only the tensile part of the cycle is considered. "0 de!notes the temperature dependent yield stress and ep defines the additional plastic strainsince the most recent load reversal. Following the same line of developments above leadsto

d" !-"0())-)

d)# -"-e" p

de" p%%. (3.68)

For the linear hardening model, this becomes

d" !-"0())-)

d)#-Hk

-)e" pd)# Hk())de" p (3.69)

where that part of the stress change due to the back stress is seen to be

d% ! Hkde" p#-Hk

-)e" pd) ! Hkde" p#

-Hk

-)%

Hk

(3.70)

or in rate form as in Eq. (3.64)

%.! Hke

." p #

H.

k

Hk

%%%. (3.71)

In terms of the rate of the back stress tensor, this expression has the equivalent form

32

) + ".+! Hk

23

) + d.p + #

H.

k

Hk

32

) + " + (3.72)

Page 193: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–10Chapter 3 Elements and Material Models

where the leading 3&2) recovers the simple uniaxial response from the 3!D tensorial (devia!toric) components of the back stress and the temperature dependent (uniaxial) yield stressis written in terms of the shear yield stress. The final expression becomes then

+ ".+! 2

3Hk + d

.p + #

H.

k

Hk

+ " +%% . (3.73)

This scalar expression generalized into tensor form yields Ziegler’s hardening rule for non!isothermal loading

".! 2

3Hkd

.p #

H.

k

Hk

" ! 23

Hk'.

n #H

.

k

Hk

"%%. (3.74)

In the absence of current plastic straining ( '.

!0), the back stress rate, "., takes on non!

zero values when the plastic hardening modulus varies with temperature. In the $plane, this model for temperature effects translates the yield surface towards or awayfrom the origin along the current back stress vector which lies normal to the meanstress axis in the $ plane.

The deviatoric stress rate is determined solely by the elastic shear modulus and thedeviatoric 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 n.n+1 complicates evaluation of astrain rate over the step. The configuration at n, n+1 or some point in between can be usedas the basis to compute d

.

, i.e., the configuration used to evaluate the B matrix. Key andKrieg [[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 evaluatedat state n+1/2 when integrated to produce an increment over the step. The hydrostaticstress p of Eq. (3.76) and the elastic predictor, trial deviator stress at state n+1 (denotedwith the t superscript) are computed using

$n#1p ! K"$n!kk #!t$n#1&2d.

kk$ (3.77)

$n#1tt% ! 2G"$n!e #!t$n#1&2d.%$ (3.78)

where G and K here refer to the temperature dependent values at n+1. This form to computethe trial elastic state at n+1 properly reflects changes of Young’s modulus and Poisson’sratio over the step driven by temperature. The elastic strain state at n , $n!e, and the meanstrain at n , $n!kk, are readily found using the previously computed stress state at n and thevalues for E and * at n.

The deviator for the relative trial stress is defined in terms of the trial deviator stressand the back stress as:

Page 194: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–11Chapter 3 Elements and Material Models

($n#1#

t%)* !$n#1 tt% '$n#1"

*%%. (3.79)

At this stage, if the material point responds in a linear!elastic manner, i.e.,

+ ($n#1#

t%)* + '$ 2) $n#1 k* ( 0 (3.80)

(the algorithmic form of Kuhn!Tucker conditions) then the stress recovery is essentiallycomplete. It remains only to re!combine the updated hydrostatic stress and the trial devia!tor stress given above. The values for $n#1k* and $n#1

"* 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. k0 and H% may change with tem!perature over n to n+1. In this case, $n#1k* is found from Eq. (3.97) with '

.

!t!0. The backstress $n#1

"* is similarly found from Eq. (3.87) with '

.

!t!0. If Eq. (3.80) holds, the updatedvalues become $n#1k ! $n#1k* and $n#1

"! $n#1"

*.

If the material point experiences plastic flow, using Eq. (3.75) the trial deviator stressis modified by a stress increment corresponding to a radial return to the yield surface tocompute the updated deviator stress at state n+1:

$n#1t% !$n#1 tt% ' 2G!t$n#1&2d.p !$n#1 tt% ' 2G'

.

!t$n#1n%%. (3.81)

where '.

is taken to be the value at state n+1&2 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. Integrationof the rate form for " defined in Eq. (3.74) using a backward Euler scheme introduces anunnecessary step size dependency in the updated stresses. The following approach elimi!nates the step size dependency. From Eq. (3.67), we have

$n#1% !$n#1 Hk$n#1ep%%. (3.82)

Generalizing as before to the multi!axial case, the above expression becomes

32

) +$n#1" +!$n#1 Hk

23

) +$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" +!$n#1 Hk

23+$n !

p + #$n#1 Hk23+ !!p + (3.84)

Now generalize the norms of the tensors to the tensors themselves

$n#1" !$n#1 Hk

23$n !p #$n#1 Hk

23!!p (3.85)

and use Eq. (3.55) to define the tensor of plastic strain increments

$n#1" !$n#1 Hk

23$n !p #$n#1 Hk

23'.

!t$n#1n%%. (3.86)

Now write the plastic strain tensor at n in terms of the back stress at n, i.e.,$n"! (2&3)$nHk!

p, to give

$n#1" !

$n#1Hk

$nHk

$n"#$n#1 Hk23'.

!t$n#1n (3.87)

and upon introducing !k

Page 195: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–12Chapter 3 Elements and Material Models

$n#1" !! !k$n"# 2

3Hk'

.

!t$n#1n (3.88)

where !k!$n#1Hk&$nHk. Should $nHk . 0, set !k!1.

Continue now to develop the key Eq. (3.81). At n+1, the deviator of the relative stressstate must be

$n#1#% !$n#1 t% '$n#1

"%%. (3.89)

To put this result into a useful form, first obtain$n#1tt% from

$n#1#

t% !$n#1 tt% '$n " (3.90)

and insert into Eq. (3.81). Use this new expression for$n#1t% in Eq. (3.89) along with$n#1"

from Eq. (3.88) to give

$n#1#% !$n#1

#t% # (1 ' !k)$n"' '

.

!t"/$2G # 23

Hk$0$n#1n%%. (3.91)

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

$n#1n !$n#1

#t%

+n#1#

t% +%% . (3.92)

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

$n#1#% !$n#1

#t%$123

1 ''.

!t""$2G # 23

Hk$$+n#1

#t% + 1

45# (1 ' !k)$n"%%. (3.93)

The norm of $n#1#% above appears in the yield condition, Eq. (3.52), as

+n#1#% + ' 2$) $n#1 k ! 0%%. (3.94)

The updated size of the yield surface,$n#1k, can be found by integrating k.

in Eq. (3.66) usinga backward Euler scheme. For linear (isotropic) hardening, the updated radius can be foundexactly at any step from the requirement that

$n#1k !$n#1 k0 #$n#1Hi

3)$n#1 e" p (3.95)

where $n#1k0 denotes the temperature dependent (shear) yield stress at n+1. Re!writingthe total (equivalent) plastic strain as

$n#1e" p !$n e" p # 23

) '.

!t%%. (3.96)

Using these terms, $n#1k becomes

$n#1k !$n#1 k0 #$n#1Hi

3)$n e" p # 2)

3$n#1 Hi'

.

!t%%. (3.97)

This can be further simplified by combining the first two terms to write the result as

$n#1k ! k #2$)

3$n#1 Hi'

.

!t (3.98)

Page 196: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–13Chapter 3 Elements and Material Models

No complications arise in the computations should Hi take on a zero value. Use this resultin Eq. (3.94) to find

+n#1#% + ' 2$) "k # 2)

3$n#1 Hi'

.

!t$ ! 0%%. (3.99)

To solve for '.

!t, the norm from Eq. (3.93) is substituted into the above (scalar) equation.As can be seen, the solution for '

.

!t becomes algebraically non!trivial for the general non!isothermal case.

Isothermal Case

When the temperature remains constant over the step, !)!$n#1) '$n)60, then !k!1,!k!0, $n#1k0 !$nk0 and the norm for the updated relative stress in Eq. (3.93) has the sim!ple form

+n#1#% +!$+n#1

#t% + ' '

.

!t/2G # 23

Hk0%%. (3.100)

When substituted into Eq. (3.99) and use is made of Eq. (3.59), then '.

!t has the simple solu!tion

'.

!t !$+n#1

#t% + ' 2$) k

2G"1 # H%3G$

%% . (3.101)

Since the trial elastic stress state is easily computed from the imposed strain increment,the computation of '

.

!t becomes quite simple. The key assumption for n in Eq. (3.92) andthe independence of H% with continued hardening and temperature leads to this simpleresult. Once '

.

!t 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 surfaceradius 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 formengineering strains.

Non!Isothermal Case (General)

For the non!isothermal case, re!write Eq. (3.99) in the form

$n#1#% 7$n#1

#% ! 2/k # 2)

3Hi'

.

!t02

(3.102)

where the required tensor (scalar) product is given by contracting Eq. (3.93). The solutionfor '

.

!t then requires solving a quadratic equation. This section summarizes the key alge!braic operations required to develop the quadratic equation.

To begin, re!write Eq. (3.93) using simpler notation as

u ! (1 ' a')v # bw (3.103)

where the constants a and b are easily identified with terms in Eq. (3.93 and with ' ! '.

!t.Then,

u 7 u ! (1 ' a')2(v 7 v) # 2(1 ' a')b(v 7 w) # b2(w 7 w) (3.104)

Page 197: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–14Chapter 3 Elements and Material Models

or,

u ! (1 ' a')2v # 2(1 ' a')bvw # b2w%%. (3.105)

This result becomes the left side of Eq. (3.102) with new constants c and d used on the rightside for simplicity to yield

(1 ' a')2v # 2(1 ' a')bvw # b2w ! 2/k # d'02%%. (3.106)

This result expanded out and then factored provides a quadratic equation of the form

'2(a2v ' 2d2) # '(' 4dk ' 2av ' 2abvw) #

(b2w # 2bvw # v ' 2k2) ! 0 (3.107)

which is solved in closed form for ' ! '.

!t (the smaller of the two roots). Once '.

!t is known,the updated back stress at n+1 is found from Eq. (3.88), the updated deviatoric stress at n+1is 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 ! Cijkl$dkl (3.108)

For a material point in the elastic state, the isotropic tangent operator is given by

CEijkl ! K&ij"&kl # 2G/$1

2(&ik"&jl # &il"&jk) ' 1

3&ij"&kl$0 (3.109)

Once the material point experiences plastic flow, the tangent operator is given by

CEPijkl ! K&ij"&kl # 2G/$1

2(&ik"&jl # &il"&jk) ' 1

3&ij"&kl$0' 2G+nijnkl (3.110)

+ ! 1

/1 # H%3G0

(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 predictor!radial return procedure for stress updating does not repre!sent an exact integration; it is in essence a secant approach. Not surprisingly, use of thecontinuum tangent operator leads to a degradation in the quadratic convergence character!istic of the global Newton iterations. Simo and Taylor [90] established a tangent operatorcompatible with the elastic predictor!radial 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:

CEPijkl ! K&ij&kl # 2GB/$1

2(&ik&jl # &il&jk) ' 1

3&ij&kl$0' 2G+nijnkl (3.112)

+ ! 1

/1 # H%3G0' (1 ' B)B !

/ 2$) $n#1 k # 23

(1 ' #)H%'!t$0+$n#1 (%t

ij$ +

$ ; (3.113)

Page 198: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material bilinear

3.5–15Chapter 3 Elements and Material Models

In the code, the above tangent operator is applied in a 686 matrix form that relatesa stress vector to an engineering strain vector. Values of K, G, and H% all refer to values forthe 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

!!

Compute deviator strain increment

$n#1(#%t)

+$n#1 ((%t)$ + ' 2$) $n k

+$n#1 ((%t)$ + ' 2$) $n k 9 0

$n#1k

$n#1(")

$n#1(t%)

$n#1p

$n#1(t)

$n#1(t%)

$n#1p

$n#1(t)

Update deviator stress

Update hydrostatic stress

Update stress

YesNo

!!%

'!t

FIG. 3.15#Stress recovery procedure for isothermal version of bilinear (Mises)material model.

Page 199: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–1Chapter 3 Elements and Material Models

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 stress!strain response and two models forviscoplastic 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:

! constant linear hardening after yield,

! pure power!law hardening after an initially linear response prior toyield, and

! general piecewise!linear (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 segmentalstress vs. plastic strain curves also introduces the temperature dependence of Young’smodulus, Poisson’s 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 strain!rate dependence, the mises model provides two approaches: (1) apower!law visco!plastic model which can use any of the inviscid temperature dependent orindependent uniaxial responses, and (2) a general strain rate!dependent response de!scribed by a series of segmental stress vs. plastic strain curves at various plastic strainrates (no temperature dependence). The power!law viscoplastic relationship is often suit!able for ductile metals undergoing large amounts of plastic straining and is given by

!. vp ! D"# q

"e$

m

% 1& (3.114)

where D and m are user!specified material constants (rate and temperature independent),q denotes the rate!dependent (uniaxial) tensile stress and "e the inviscid (uniaxial) tensilestress (can be temperature dependent). The viscosity term is often written in the formD!1'#! For a moderately rate!sensitive material, such as an A533B pressure vessel steelat 100o C, typical values of D and m are 1.0 (mm'mm'sec) and 35, respectively. In the sim!plest case, "e is specified to remain constant at the yield stress, "0 (the linear hardeningmodel with ET!0). More generally, "e is a linear, power!law or piecewise!linear functionof !vp and possibly temperature dependent.

The following sections describe needed parameters to utilize the mises material model.Additional details for rate!dependent 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 Stress!Strain Curves and Hardening

The inviscid uniaxial (tensile) stress!strain curve for the material and the elastic propertiesare represented by one of the following:

(1) the linear hardening model shown in Fig. 3.13 (temperature independent E and $, thermalexpansion coefficients may be isotropic or anisotropic)

Page 200: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–2Chapter 3 Elements and Material Models

(2) a power!law hardening model shown in Fig. 3.16 (temperature independent E and $, 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 $, 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 andillustrated in Fig. 2.2. (temperature dependent E, $% and &% where the thermal expansioncoefficients must be isotropic)

For the power!law description, the computational routines insert a small (cubic) transitioncurve to maintain continuous values of ET between the initially linear and power!law re!gions (see Fig. 3.16).

The power!law, rate!dependent model described by Eq. (3.114) may be used with anyof the above inviscid stress!strain curves and elastic properties. The viscosity term, D, andthe rate exponent, m, are temperature invariant.

The more general rate!dependent response uses a set of segmental stress vs. plasticstrain 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 elasticproperties (E, $% &) are temperature independent. The thermal expansion coefficents can beisotropic or anisotropic.

For a small!strain analysis (linear kinematic formulation), specify engineering valuesfor the strain(!E) and stress ("E). For a finite!strain analysis (nonlinear kinematic formula!tion), specify the uniaxial stress!strain curve using the logarithmic strain, !, and the true(Cauchy) stress, ". For a finite!strain analysis, the user should convert conventional engi!neering strain, !E ", and engineering (nominal) stress, "E", values for input using the rela!tions:

" ! "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 ofYoung’s modulus and Poisson’s ratio must be specified unless these properties are definedby referencing a set of temperature dependent, segmental stress!strain curves. In such acase, 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 thealpha values during definition of the temperature dependent stress!strain curves. For case(3), specify the anisotropic values through the material properties or through the separatethermal 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

Page 201: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–3Chapter 3 Elements and Material Models

00

FIG. 3.16#Power!law form of the inviscid uniaxial (tensile) stress!strain curve forthe ‘‘mises" plasticity material model. For finite!strain analysis, input the Cauchy stressand log strain description.

Log Strain

Tru

e (C

auch

y) S

tres

s

E

yld_pt!!0

! ""0

"0 ! yld_pt !0 !"0E

Plastic straining begins at 0.95"0 due tothe small transition region

Cubic transition region tomaintain continuous tangents

generally not be used in large displacement!rotation analyses as the anistropic coefficientsare not rotation neutralized (use of anisotropic coefficients to model initial residual stresseswhen 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 themodel nodes using the commands described in Section 2.2.5. These properties do not varywith temperature or loading rate, and the thermal expansion must be isotropic. To indicatethat a material property value at points within elements should be interpolated from thenodal values, simply replace the numerical value for the property in the material definitioncommands with the string ’fgm’. Spatially invariant values of D and m may be specified todefine a strain!rate 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, thematerial model prints the element number and strain point number whenever the effectivestress first exceeds the specified yield stress. This option is requested with the nonlinearsolution parameter material messages on (refer to Section 2.10.8)

The model makes available the strain energy density, U0", at each Gauss point to theelement routines for subsequent output. U0 at step n+1 is evaluated using the trapezoidalrule

Un(10 ! Un

0 (12#tn(1 ( tn$ : "d (3.117)

Page 202: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–4Chapter 3 Elements and Material Models

where the unrotated Cauchy stresses and unrotated strain increments are adopted for thefinite!strain formulation. Thermal contributions to "d are subtracted prior to the abovecomputation.

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,

ep ! 32

) * !. pij$!

. pij

) dt

mat_val2: current mises equivalent (uniaxial) yield stress, ", which sets the current radius of theyield cyclinder (radius! 2'3) ")

mat_val3: not used

3.6.4 Computational Efficiency

The computational routines for this model process elements in blocks of a size matched tothe 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 scalarmode. In terms of efficiency, the constant (linear) hardening form of the stress!strain curveincurs the least computational effort for inviscid analyses (no local Newton loop is neededto solve the consistency equation). The piecewise!linear model provides the next most effi!ciency followed by the power!law model. The large number of exponentials required for thepower!law model significantly increases the computational effort (often 15% total job time).We recommend describing the stress!strain properties with the piecewise!linear modeleven when the material description follows the power!law description#just to reduce thecomputational effort.

Our testing indicates the piecewise!linear model combined with the power!law visco!plastic option, Eq. (3.114), can reduce the convergence rate of global Newton iterations. Nosuch degradation is experienced with simple linear hardening or power!law hardeningcombined with viscoplasticity.

Testing of the general rate!dependent response described with a set of piecewise!linearstress!strain curves shows excellent convergence of the global Newton iterations.

Model Property Keyword ModeDefaultValue

Young’s modulus(") e Number 30000

Poisson’s ratio(") nu Real 0.3

Mass density(") rho Number 0.0

Yield stress(") yld_pt Number 0.0

Hardening modulus (ET)(") tan_e Number 0.0

Power law exponent (n)(") n_power Number 0.0

Page 203: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–5Chapter 3 Elements and Material Models

Reference strain rate (D) ref_eps Number 0.0

Viscous exponent (m) m_power Number 0.0

Stress!strain curve(s) curves Number 0

Thermal expansion coefficientfor isotropic response(")

alpha Number 0.0

Thermal expansion coefficientsfor 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 materialsand assigns the materials to some elements. Material one is strain!rate independent, usesthe flow properties from a segmental curve and has anisotropic expansion coefficients. Ma!terial two uses the power!law rate dependent response, Eq. (3.114), combined with a tem!perature independent, inviscid stress!strain response defined by a linear+power!law curveand ansiotropic expansion coefficients. Material three is rate independent, uses a simplebilinear representation of the stress!strain curve, and has isotropic thermal expansion. Ma!terial four adds power!law rate dependency to material three.

structure cctcstress–strain curve 3 $ temperature and rate independent

0.0012 36 0.01 36, 0.05 50, $ these are total strain–stress values0.10 55, 0.30 60

cmaterial one properties mises e 30000 nu 0.3 curve 3 rho 7.3e–07, alphax 1.2e–05 alphay 1.0e–05 alphaz 2.1e–05, alphaxy 3.5e–05 alphaxz 0.8e–05 alphayz 1.1e–05

material two properties mises e 30000 nu 0.3 yld_pt 60.0 n_power 10, rho 7.3e–07 ref_eps 40 m_power 20, alphax 1.2e–05 alphay 1.0e–05 alphaz 2.1e–05, alphaxy 3.5e–05 alphaxz 0.8e–05 alphayz 1.1e–05cmaterial three properties mises e 30000 nu 0.3 yld_pt 56.2 et 200 rho 7.3e–07, alpha 1.2e–05cmaterial four properties mises e 30000 nu 0.3 yld_pt 56.2 et 200 rho 7.3e–07, ref_eps 10 m_power 33 alpha 1.2e–05c

Page 204: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–6Chapter 3 Elements and Material Models

number of nodes 25642 22092celements 14000–22092 type l3disop linear material one order 2x2x2, long bbar . . .c

The following example defines the properties for a functionally graded material where thekey properties but Poisson’s ratio vary spatially over the model (Poisson’s ratio can alsovary if required).

structure cctccmaterial 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 33cnumber of nodes 25642 elements 22092cfunctionally graded material properties 1 e 16000 yld_pt 64.2 n_power 12 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 longc

The following example defines the properties for a temperature dependent behavior (notethat 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 expansioncoefficients must be isotropic. Material steel in this example uses a set of three temperaturedependent stress vs. plastic strain curves with rate independent response. Note that themodulus, Poisson’s ratio and the isotropic expansion coefficients are defined as part of thesegmental curves. Material a533b adds power!law rate dependent response to the samematerial.

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 1000c 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,

Page 205: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–7Chapter 3 Elements and Material Models

0.20 102, 0.30 105, 0.40 108, 100 1000cstress–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 1000c material steel properties mises curves 1–3 rho 7.3e-07cmaterial a533b properties mises curves 1–3 rho 7.3e–07 ref_eps 40 m_power 20

structure cctc number of nodes 25642 22092c elements 14000-22092 type q3disop nonlinear material steel order 2x2x2, long 2000–4000 type l3disop nonlinear material a533b order 2x2x2, long bbar cc

The following example defines the properties for general rate dependent behavior (notethat the elastic and thermal properties must be defined as part of the material).

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 1000c 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 1000cstress–strain curve 3 plastic strain–rate 0 0.0 60, 0.025 74,

Page 206: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–8Chapter 3 Elements and Material Models

0.050 79, 0.10 83, 0.20 88, 0.30 91, 0.40 93, 100 1000c material steel properties mises curves 1–3 e 30000 nu 0.3 rho 7.3e-07, alphax 1.2e–05 alphay 1.0e–05 alphaz 2.1e–05, alphaxy 3.5e–05 alphaxz 0.8e–05 alphayz 1.1e–05cmaterial a533b properties mises curves 1–3 e 30000 nu 0.25 rho 0.0 alpha 0.34e–05

3.6.6 Plasticity Algorithms

The formulation and implementation of the general, rate!dependent mises model differsfrom the bilinear model in the complexity of computing the term '

.

"t. Eqs. (3.91) and (3.92)define the deviatoric terms of the updated stress state as a return to the new yield surfacealong the direction of a trial elastic deviator (which for the mises model is normal to theupdated yield surface). Eq. (3.94) then represents the scalar product of each side of Eq.(3.91) and defines the so!called scalar consistency equation for determination '

.

"t. Usingthe relationships of Eqs. (3.56) and (3.57), the consistency equation may be written in thesimpler form

"T % 3G"!p % "e(!pn(1

, !. pn(1, Tn(1) + 0 (3.118)

where "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,"!p" is the unknown incrementof plastic strain over the step, "!p!!p

n(1&!p

n and "e is the equivalent (mises) stress corre!sponding to the plastic strain at the end of the step. Tn(1 denotes the temperature at n+1for the material point when the specified uniaxial (tensile) response depends on tempera!ture. !

. pn(1 denotes the plastic strain rate at n+1. The analyst provides the functional rela!

tionship, "e(!p, !. p, T), through the uniaxial stress!strain curves described previously.

The various forms of "e(!p, !. p, T) often cause a local Newton procedure to fail in the solu!

tion of Eq. (3.118). The stress!strain curve may: ‘‘stiffen" after an initially low hardeningregion, for example, due to Luder’s strains; or decrease after first increasing, and'or havestrongly discontinuous ET values at break points on the curves. All of these effects causea simple Newton scheme to fail. After much experimentation, we have adopted a variantof 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 difficultiesencountered in applying a pure Newton scheme. The procedure insures that during itera!tions the current estimate of "!p never strays outside the lower!bound value of 0 and theupper!bound value based on the assumptions of no hardening from the lowest possible "e

value. The procedure converges to very tight tolerances on "!p and "e in 4!5 cycles and hasproven 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 power!law hardening. The two schemes to modelviscoplastic response are described separately. Once "!p and "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 thebilinear model [see also Eq. (3.131) below]. These discussions here also address the key is!

Page 207: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–9Chapter 3 Elements and Material Models

sue of properly defining the effective plastic modulus, H,, for use in the consistent tangentoperator to model the power!law hardening and viscoplastic cases.

Rate!Independent 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, "!p, and requires an iterative solution. Re!write Eq. (3.118) in the form

R ! "T % 3G(Tn(1)"!p % "e(!pn ("!p, Tn(1) + 0 (3.119)

where "T, the shear modulus G(Tn(1) and the scalar plastic strain at the beginning of thestep (!p

n) remain fixed during the solution of this equation to make R-"0. Tn(1 denotes thetemperature at n+1 for the material point when the specified uniaxial (tensile) responsedepends on temperature. The trial elastic stress must reflect the change in elastic properiesbetween n and n+1. The user!supplied form of "e can be quite complex (power!law harden!ing with an initial cubic transition region or piecewise!linear with temperature depen!dence). Power!law hardening, preceded by a small cubic transition curve, defines a verysmooth decay of the tangent modulus (ET) with increasing strain and leads to a very stablesolution of Eq. (3.119), but becomes computationally expensive from the large number ofexponential operations.

The temperature dependence of "e creates no difficulties in the solution of Eq. (3.119).Since WARP3D solves uncoupled stress and temperature models, the temperature at theend of the step, Tn(1 , is fixed by the prescribed loading prior to the stress updating processdescribed here. The routines that supervise the stress updating process interpolate the cor!rect "e(!p, Tn(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 ofRidder’s method to solve Eq. (3.119) for "!p. Moreover, the (uncoupled) temperature depen!dence does not introduce additional terms in computation of the consistent tangent opera!tor, Eq. (3.112).

The user!specified form of "e(!p, T) in terms of segmental stress vs. plastic strain curvesprovides the most (computationally) economical solution for Eq. (3.119). Given the currentestimate for "!p from Ridder’s method, a simple table look!up process yields the corre!sponding value of "e(!p

n ("!p, Tn(1).

When the inviscid, uniaxial stress!strain curve follows the power!law model, the evalu!ation of "e(!p

n ("!p) for each trial value of "!p (during Ridders’ method) itself requires alocal Newton iteration as described below. The power!law model is defined by (neglectingyet more complication with the initial cubic transition region and dropping the implied esubscript)

!!0

! ""0

,'''' ! . !0 (3.120a)

!!0

! # ""0$

N

,'' ! / !0 (3.120b)

where "0 and !0 are reference yield stress and strain levels that also define E. To evaluateEq. (3.120b) given an estimate of "!p, write

!n(1 !"n(1

E( !p

n ("!p (3.121)

This is a simple, nonlinear equation solved readily for !n(1 and thus "n(1 using a local New!ton scheme. Define the residual, R, of Eq. (3.121) by

Page 208: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–10Chapter 3 Elements and Material Models

R ! !n(1 %"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 ! 0R0!n(1

d!n(1$. (3.123)

The required derivative is found to be

0R0!n(1

! 1 % 1N#!n(1

!0$

1N%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)

0R0!n(1

(3.125)

Iterations continue until convergence on !n(1 and "n(1 is achieved. Suitable convergencetests are

1"(i(1)n(1

% "(i)n(1

1 . tol$"(i(1)n(1

(3.126)

1!(i(1)n(1

% !(i)n(1

1 . tol$!(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 ("!p (3.128)

We find convergence is achieved in at most 3!4 iterations over Eq. (3.122) ! (3.127). Theinstantaneous plastic modulus, needed for the consistent tangent, is given by

H,n(1 !EET,n(1

E % ET,n(1(3.129)

where

ET,n(1 !EN#"n(1

"0$

(1%N)

$. (3.130)

With a converged value for"!p"given by the solution of Eq. (3.118), the updated stress stateis computed by the usual radial return to the updated yield surface (isotropic hardening)

!n(1 ! !Tn(1 %3G"!p

"TSTn(1$,' $$implies$a$6 2 1$vector (3.131)

where STn(1"is the deviatoric portion of the trial elastic stress state !Tn(1.

Rate!Dependent Consistency Equation (Power!Law Model)

To introduce the power!law dependence on strain rate into the model, re!write the consis!tency equation of Eq. (3.118) in the form

"T % 3G"!vp % q(!vpn(1

,"e,n(1,"t) + 0 (3.132)

Page 209: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–11Chapter 3 Elements and Material Models

where q denotes the rate!dependent equivalent stress, "e,n(1 becomes the inviscid equiva!lent stress (which may be a nonlinear function of$!vp and temperature) and$"t!tn(1 % tn.The power!law viscoplastic relationship is often suitable for ductile metals undergoinglarge amounts of plastic straining. The viscoplastic strain rate is given by

!. vp ! 1

#"#q"e$

m

% 1& (3.133)

where # and m are material constants. The viscosity term is often written in the formD!1'#! In the simplest case, "e is specified to remain constant at the yield stress, "0. Moregenerally, "e is a nonlinear function of !vp and can vary with temperature.

The integration of Eq. (3.133) with a backward Euler procedure yields

"!vp ! "t# "# qn(1

"e,n(1$

m

% 1& (3.134)

which is solved for qn(1 to yield

qn(1 ! "e,n(1"##"!vp

"t$( 1&

1'm

$. (3.135)

We observe in Eq. (3.135) that as #'"t - 0 the inviscid solution is recovered. The rate!de!pendent consistency equation, Eq. (3.132), is also solved using Ridders’ method for$"!vp

with qn(1defined as in Eq. (3.135). Convergence is achieved in a few iterations. With "!vp

known, the updated stress state at n+1 is given by the usual radial!return to the yield sur!face

!n(1 ! !Tn(1 %3G"!vp

"TSTn(1$. (3.136)

To form the consistent tangent, the instantaneous plastic modulus for the rate!dependantequivalent stress is required

H,q,n(1 !dq

d!vp1n(1

(3.137)

We must obtain Hq,n(1$by differentiating the algorithm that defines the evolution of q.From Eq. (3.134) we obtain

d!. vpn(1 ! d("!vp) ! m"t

# # qn(1"e,n(1

$m%1#"e,n(1dqn(1 % qn(1d"e,n(1

"2e,n(1

$$. (3.138)

By substituting for d"e,n(1 in terms of the plastic modulus for the inviscid response Eq.(3.129)

d"e,n(1 ! H,n(1d!vpn(1

(3.139)

Eq. (3.138) is solved for H,q,n(1 as

H,q,n(1 !dq

d!vpn(1

1n(1

!#"e,n(1

m"t# qn(1"e,n(1

$1%m

(# qn(1"e,n(1

$H,n(1 (3.140)

Page 210: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises

3.6–12Chapter 3 Elements and Material Models

The plastic modulus H,q,n(1 provides the value of H, that appears in the consistent tangentoperator, Eq. (3.112). Note that as #'"t - 0 in Eq. (3.140), qn(1'"e,n(1$must also -1 andthe inviscid$H,n(1 is recovered.

Rate!Dependent Consistency Equation (General Segmental Form)

For the more general rate!dependent model, the user specifies a set of segmental curvesthat define stress vs. plastic strain for a series of plastic strain rates. The consistency equa!tion of Eq. (3.118) has the form

"T % 3G"!p % "e(!pn(1

, !. p) + 0 (3.141)

where the plastic strain rate is approximated by !. p!"!p'"t and$"t!tn(1 % tn. Ridder’s

method to solve Eq. (3.141) generates a series of estimates for "!p and thus !. p. Given !

. p, theupdate process interpolates the user supplied segmental curves to define a "e(!p) curve atthe current estimate of the plastic strain rate.

To form the consistent tangent, the instantaneous plastic modulus for the rate!depen!dant equivalent stress is required such that (at n+1)

d"e !0"e

0!p d!p (0"e

0!. p d!

. p (3.142)

where the plastic strain rate is d!. p!d!p'dt. The above expression can also be written as

d"e ! "0"e

0!p (1dt

0"e

0!. p&d!p ! H,n(1$d!p (3.143)

where

H,n(1 !d"e

d!p1n(1

(3.144)

The plastic modulus H,n(1 provides the value of H, that appears in the consistent tangentoperator, Eq. (3.112). Note that as 0"e'0!

. p-0 in Eq. (3.143) the inviscid$H,n(1 is recovered.

The segmental form of the "e(!p, !. p) response requires numerical differentiation to

approximate the derivative 0"e'0!. p at the current estimate for !p and !

. p at n+1. This is ac!complished using a central difference operator

0"e

0!. p 3

"e(!p, !. p ( (!

. p) % "e(!p, !. p % (!

. p)2 2 (!

. p (3.145)

where (!. p is taken as (!

. p!0.022 !. p. The other required derivative, 0"e'0!p, follows direct!

ly from the slope of the interpolated "e(!p, !. p) curve at !p

n(1. The final form for H,n(1 then

becomes

H,n(1 !d"e

d!p1n(1

3 """e

"!p (1"t

""e

"!. p&

n(1

(3.146)

Page 211: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–1Chapter 3 Elements and Material Models

3.7 Material Model Type: gurson

This material model implements the Gurson!Tvergaard (GT) plastic potential to predictthe response of an elastic!plastic solid containing voids (Gurson [32], see Tvergaard [96] fora comprehensive review). The basis for the model derives from analyses of a single cell con!taining a centered spherical void of initial volume fraction f0. The void volume fraction, f,increases under loading and eventually leads to a gradual loss of stress carrying capacityfor 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 (1"f!). Thematrix response follows the soecified uniaxial (tensile) stress!strain properties which canbe represented in one of several ways and can also include viscoplastic effects.

The GT yield condition is given by

g(!e,!m,!, f #) ! "!e

!#

2

$ 2q1f cosh"3q2!m

2!#% "1 $ q3#f2# ! 0 (3.147)

where !e denotes the (Mises) equivalent (macroscopic) stress, !m is the mean (macroscopic)stress, ! is the (Mises) equivalent stress of the matrix and f is the current void fraction. Fac!tors q1, q2, and q3 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 J2 plasticity. The computations for this model should be carried out with the finite strainformulation (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 forwardEuler and semi!explicit procedures. However, the use of large load increments can lead tonon!convergence of Newton loops within the model to resolve updated state variables.

The gurson model provides three options to describe the inviscid uniaxial (tensile)stress!strain curve for the (dense) matrix material: (1) constant linear hardening afteryield, (2) pure power!law hardening after an initially linear response prior to yield, and (3)general piecewise!linear (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 segmentalstress vs. plastic strain curves also introduces the temperature dependence of Young’smodulus, Poisson’s ratio and the (isotropic) thermal expansion coefficient.

To introduce a strain!rate dependence in the matrix material, the gurson model pro!vides two schemes: (1) a power!law viscoplastic model which can use any of the inviscid tem!perature dependent or independent uniaxial responses, and (2) a general rate!dependentresponse described by a series of segmental stress vs. plastic strain curves at various plasticstrain rates (no temperature dependence).

3.7.1 Stress!Strain Curves

The inviscid uniaxial (tensile) stress!strain curve for the matrix material and the elasticproperties are represented by one of the following:

(1) the linear hardening model shown in Fig. 3.13 (temperature independent E and ", thermalexpansion coefficients may be isotropic or anisotropic)

Page 212: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–2Chapter 3 Elements and Material Models

(2) a power!law hardening model shown in Fig. 3.16 (temperature independent E and ", 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 ", 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 andillustrated in Fig. 2.2. (temperature dependent E, "# and $# where the thermal expansioncoefficients must be isotropic)

For the power!law description, the computational routines insert a small (cubic) transitioncurve to maintain continuous values of ET between the initially linear and power!law re!gions (see Fig. 3.16)

The power!law, rate!dependent model described in the following section may be usedwith any of the above inviscid stress!strain curves and elastic properties. The viscosityterm, D, and the rate exponent, m, are temperature invariant.

The more general rate!dependent response uses a set of segmental stress vs. plasticstrain curves at various plastic strain rates to describe the uniaxial response. Section 2.2.4describes the procedures to define the set of curves. These curves and the elastic properties(E, "# $) are temperature independent. The thermal expansion coefficents can be isotropicor anisotropic.

For a small!strain analysis (linear kinematic formulation), specify engineering valuesfor the strain(%E) and stress (!E). For a finite!strain analysis (nonlinear kinematic formula!tion), specify the uniaxial stress!strain curve using the logarithmic strain, %, and the true(Cauchy) stress, !. For a finite"strain analysis, the user should convert conventional engi"neering strain, %E!, and engineering (nominal) stress, !E!, values for input using the relations:

! ! !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 Power!Law Viscoplasticity

One schecme to introduce a rate dependence into the matrix response adopts a power!law,viscoplastic relationship suitable for ductile metals undergoing large amounts of plasticstraining. The viscoplastic strain rate is given by

%. vp ! D&" q

!e#

m

% 1' (3.150)

where D and m are user!specified material constants, q denotes the rate!dependent (uni!axial) tensile stress and !e the inviscid (uniaxial) tensile stress. The viscosity term is oftenwritten in the form D=1/&! For a moderately rate!sensitive material, such as an A533B pres!sure vessel steel at 100o C, typical values of D and m are 1.0 (in.(in.(sec) and 35, respective!ly. In the simplest case, !e is specified to remain constant at the yield stress, !0 (the linearhardening model with ET!0). More generally, !e is a linear, power!law, or piecewise linear(segmental) function of %vp.

We recommend that the piecewise"linear description of the tensile stress"strain curve notbe used with the viscoplastic option at this time. Convergence of the global Newton itera!

Page 213: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–3Chapter 3 Elements and Material Models

tions is sometimes reduced; no such problems occur for the linear or power!law hardeningoptions.

3.7.3 Recommended Parameter Values

Faleskog [26] has performed an extensive set of 3!D discrete cell models to better calibratethe q1 and q2 parameters. The parameters depend strongly on the strain hardening expo!nent for the matrix material and less so on the !0(E ratio. The table below summarizes re!sults of the most current cell model calibrations. With q1 and q2 selected from the table, thethird parameter, q3, should be specified as q3!q2

1.

Optimal values for micromechanics parameters (q1, q2)

!0(E!0.001 !0(E!0.002 !0(E!0.004

Hardening (n) q1 q2 q1 q2 q1 q2

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 growthof existing voids and due to the formation of new voids caused by interfacial decohesion ofinclusions or second phase particles. Thus,

df ! dfgrowth $ dfnucleation$. (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)

dfgrowth ! (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

dfnucleation ! !(%p) #d%p$. (3.153)

Chu and Needleman suggest a form for ! as

! !fN

sN 2')exp*+,% 1

2"%p % %N

sN#

2

*-.

(3.154)

where the nucleation strain follows a normal distribution with a mean value %N and a stan!dard deviation sN with the volume fraction of void nucleating particles given by fN . A sim!pler form of Gurson’s model which neglects nucleation is derived by setting !/0 (three few!er material parameters are then required).

Page 214: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–4Chapter 3 Elements and Material Models

Model Property Keyword ModeDefaultValue

Young’s modulus e Number 30000

Poisson’s ratio nu Real 0.3

Mass density rho Number 0.0

Yield stress yld_pt Number 0.0

Hardening modulus (ET) 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 (f0) f_0 Number 0.0

Yield function parameter q1 q1 Number 1.5

Yield function parameter q2 q2 Number 1.0

Yield function parameter q3 q3 Number 2.25

Include nucleation of new voids nucleation Logical .False.

Nucleation parameter fN f_n Number 0.04

Nucleation parameter sN s_n Number 0.10

Nucleation parameter (N e_n Number 0.30

Put element in killable list killable Logical .False.

Suppress step size cutbacks no_cutback Logical .False.

Stress!strain curve(s) curve Number 0

Table 3.7 Properties for gurson Material Model

Page 215: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–5Chapter 3 Elements and Material Models

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 justprior to material separation is not realistically predicted with the GT model (even thoughthe numerical computations remain stable to very high levels of f, approaching 0.5).

Chapter 5 describes an extinction procedure which removes elements from the modeland slowly reduces the remaining tractions to zero. This occurs when the void fraction freaches a user!specified level, denoted fE . The crack growth procedures in Chapter 5 applyonly 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 withf increasing. Eventually, the model routines may request load step reductions to stabilizethe state update process.

3.7.6 Adaptive Step Sizes

By default, the gurson model routines request a cutback of the global load step size whenthe 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 themodel 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 ofYoung’s modulus and Poisson’s ratio must be specified unless these properties are definedby referencing a set of temperature dependent, segmental stress!strain curves. In such acase, 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 thealpha values during definition of the temperature dependent stress!strain curves. For case(3), specify the anisotropic values through the material properties or through the separatethermal 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 shouldgenerally not be used in large displacement!rotation analyses as the anistropic coefficientsare not rotation neutralized (use of anisotropic coefficients to model initial residual stresseswhen 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, thematerial model prints the element number and strain point number whenever the effectivestress first exceeds the specified yield stress. This option is requested with the nonlinear

Page 216: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–6Chapter 3 Elements and Material Models

solution parameter material messages on (refer to Section 2.10.8). Messages about requestsfor global load step reductions are always printed.

The model makes available the strain energy density, U0#, to the element routines forsubsequent output. U0 at step n+1 is evaluated using the trapezoidal rule

Un$10 ! Un

0 $12"tn$1 $ tn# : "d (3.155)

where the unrotated Cauchy stresses and unrotated strain increments are adopted for thefinite!strain formulation.Thermal contributions to "d are subtracted prior to the abovecomputation.

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,

ep ! 32

) 0 %. pij%

. pij

) dt

mat_val2: current equivalent stress for unvoided material, i.e., ! 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 tothe vector length of the computer (i.e., Crays) or to the cache size of the workstation. Mostof the model computations are written in %vectorized" code. The local Newton loops to solvethe scalar consistency equations for the two internal variables execute in scalar mode. Ourexperience with these algorithms indicate that the linear (constant) hardening model re!quires the least computational effort and provides the most robustness in terms of handlinglarge step sizes. The power!law representation of the uniaxial stress!strain curve is equallyrobust but is much more expensive due to the sub!iterations needed to compute the uniaxialstress given an estimate for the increment of plastic strain, combined with the large num!ber of exponential operations (the power!law model can increase total execution time by20"25%). The most general uniaxial response is described by temperature and or loadingrate dependent, piecewise linear segments. The local Newton procedures to solve the pairof consistency equations for the two internal variables provides the least robustness of thethree models for stress!strain curves. The Newton procedure exhibits sensitivity to thenumber of curve segments and the severity of slope changes between segements.

Our testing also indicates the piecewise!linear model combined with the power!law visco!plastic option can reduce the convergence rate of global Newton iterations. No such degra!dation is experienced with purely linear hardening or power!law hardening combined withviscoplasticity.

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. Thematrix material has a power!law, rate dependent response where the inviscid material re!sponse follows a simple linear+power!law model. The q1, q2 and q3 parameters correspondto values taken from Faleskog’s 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.

Page 217: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–7Chapter 3 Elements and Material Models

The nucleation of new voids at high plastic strains in the matrix material is not invoked inthis example.

structure cctcmaterial a533b properties gurson e 30000 nu 0.3 yld_pt 60.0 n_power 10, rho 7.3e–07 ref_eps 40 m_power 20 f_0 0.005 q1 1.46, q2 0.931 q3 2.13 killablecnumber of nodes 25642 22092celements 14000–22092 type l3disop linear material a533b order 2x2x2, long bbarc

The following example defines the properties for a temperature dependent behavior (notethat the segmental curves define the elastic and thermal properties). See Section 2.2.3 fora more complete discussion the definition of sets of segmental curves to describe tempera!ture dependence. The gurson material in this example has the strain!controlled nucleationinvoked.

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 1000c 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 1000cstress–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 1000c material steel properties gurson curves 1–3 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 nucleationc

Page 218: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–8Chapter 3 Elements and Material Models

structure cctc number of nodes 25642 22092c elements 14000-22092 type l3disop nonlinear material steel order 2x2x2, long bbarc

The following example defines the properties for general rate dependent behavior of thematrix material (note that the elastic and thermal properties must be defined as part of thematerial). The thermal expansion coefficients are anisotropic (for example, to introduce aninitial residual stress field through an eigenstrain approach)

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 1000c 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 1000cstress–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 1000c material steel properties gurson curves 1–3 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.2e–05 alphay 1.0e–05 alphaz 2.1e–05, alphaxy 3.5e–05 alphaxz 0.8e–05 alphayz 1.1e–05

3.7.11 Plasticity Algorithms

Material Elasticity and Yield Criterion

The material is elastically isotropic and for a specified increment of total (macroscopic)strain,

Page 219: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–9Chapter 3 Elements and Material Models

"! ! !n$1 % !n (3.156)

the trial (T) elastic stress state is defined by (using elastic properties for the temperatureTn$1)

"Tn$1 ! "n $ De : "!$. (3.157)

We use bold italics to denote a second!order tensor, bold upper!case indicates a symmet!ric fourth!order tensor, and : denotes the operator consistent for the order of tensors in!volved, e.g., (C : B)ij ! CijklBkl #. Italic symbols denote scalar variables. All tensor compo!nents are given with respect to a fixed, Cartesian system.

We define STn$1 as the deviatoric component of&"T

n$1 from which the equivalent (macro!scopic) stress is given by

qTn$1 ! "3

2ST

ijSTij#

1(2

n$1$. (3.158)

Similarly, the trial hydrostatic stress is given by

pTn$1 !% 1

3"

Tn$1 : I ! % 1

3(!11 $ !22 $ !33)T

n$1$. (3.159)

Gurson’s yield function is given by

g ! "q!#

2

$ 2q1f cosh"% 32

q2p!#% (1 $ q3#f # 2) ! 0 (3.160)

where&q1, q2, q3& are material constants, f is the current void fraction and #!&is the current(Mises) equivalent stress of the matrix. Most often,&q1 ! 1.5,&q2 ! 1 and q3 ! q2

1 to matchthe 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

gTn$1 ! g(qT

n$1, pTn$1, fn,!n)$. (3.161)

The material loading is defined by

gTn$1 1 0$$linear % elastic

gTn$1 2 0$$plastic&loading$ . (3.162)

Unloading from a previously plastic state is treated inelastically such that

"n$1 ! "Tn$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 ! d#3g3"

(3.164)

where d# is the (positive) plastic multiplier. Integration of the plastic strain rate over thestep using the backward Euler procedure yields

"!p ! "#3g3"4n$1

$. (3.165)

Page 220: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–10Chapter 3 Elements and Material Models

The derivative of the yield function in Eq. (3.165) is written in the terms of the hydrostaticand deviatoric contributions to provide

"!p ! "#"% 133g3p

I $3g3q

n#4n$1

(3.166)

where the unit normal&n&is defined by

nn$1 !3

2qn$1Sn$1$. (3.167)

To simplify subsequent expressions, we introduce definitions for the (scalar) volumetricand deviatoric plastic strain as

"%p ! %"#"3g3p#4

n$1

(3.168)

"%q ! "#"3g3q#4

n$1

(3.169)

and substitute into Eq. (3.166) to give

"!p ! 13"%pI $"%qnn$1$. (3.170)

If the updated stress state at n+1 is written in terms of the usual volumetric and deviatoriccomponents

"n$1 !% pn$1I $ Sn$1 (3.171)

then with the notation defined by Eq. (3.167), the updated stress state also may be writtenin the form

"n$1 !% pn$1I $ Sn$1 ! % pn$1I $23

qn$1nn$1 (3.172)

In terms of the trial elastic stress state, the updated stress state may be constructed as fol!lows:

"n$1 ! "n $ De : ("!%"!p)$ (3.173)

where the first two terms on the right side combine to define the trial elastic state such that

"n$1 ! "Tn$1 % De : "!p$. (3.174)

The negative term on the right side defines a plastic stress correction for the trial elasticstress. Using Eq. (3.170), this term may be expressed in the form

De : "!p ! K"%pI $ 2G"%qnn$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

"n$1 ! "Tn$1 % K"%pI % 2G"%qnn$1$. (3.176)

Page 221: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–11Chapter 3 Elements and Material Models

In the above equation, the trial elastic stress state is corrected (i.e. returned) to the updatedyield surface. In deviatoric space, the return direction is along the normal defined by nn$1.Using the material elasticity, we also have the following relations for the updated hydro!static and equivalent stress

pn$1 ! pTn$1 $ K"%p (3.177)

qn$1 ! qTn$1 % 3G"%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),

nn$1 !3

2qTn$1

STn$1 (3.179)

which yields finally

"n$1 ! "Tn$1 % K"%pI %

3G"%q

qTn$1

STn$1$. (3.180)

This choice for the return direction simplifies greatly numerical solution for the updatedstress state; in 3!D the number of unknowns is reduced by 6, the number of unique termsin nn$1. A more detailed discussion of similar return mapping algorithms is given by Simo.

From Eq. (3.176), a knowledge of "%p,# "%q fully defines the updated stress state. The numer!ical solution must determine values for these scalar parameters so that "!p satisfies theflow rule over the step and the updated stresses satisfy the yield criterion. In the processof computing "%p,# "%q, the internal state variables are updated as well.

Internal State Variables

Gurson’s 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 themicroscopic 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, 1"f, of macroscopic plastic worksuch that

(1 % f) #!d%p ! " : d!p (3.181)

where&%p&denotes the matrix plastic strain. This rate equation is integrated over the stepusing backward Euler and solved for the increment of plastic strain in the matrix

"%p !"n$1 : "!p

(1 % fn$1) #!n$1(3.182)

where the numerator simplifies considerably to provide

"%p !% pn$1"%p $ qn$1"%q

(1 % fn$1) #!n$1$ . (3.183)

A variety of models for the evolution of !, the equivalent matrix stress, with increasing plas!tic strain in the matrix may be defined. Both inviscid and power!law viscoplastic modelsare discussed in a subsequent section.

Page 222: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–12Chapter 3 Elements and Material Models

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 ! dfgrowth $ dfnucleation$. (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)

dfgrowth ! (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

dfnucleation ! !(%p) #d%p$. (3.186)

Chu and Needleman suggest a form for ! as

! !fN

sN 2')exp*+,% 1

2"%p % %N

sN#

2

*-.

(3.187)

where the nucleation strain follows a normal distribution with a mean value %N and a stan!dard deviation sN with the volume fraction of void nucleating particles given by fN . A sim!pler form of Gurson’s model which neglects nucleation is derived by setting ! / 0 (threefewer material parameters are then required).

Equation (3.185) and its component terms are integrated using backward Euler to obtain

"f ! (1 % fn$1)"%p $!(%pn$1

)"%p$. (3.188)

Equations (3.183) and (3.188) comprise a pair of coupled, nonlinear algebraic equations toupdate the microscopic state variables& f,& %p for specified values of the macroscopic plasticstrains&"%p,&"%q.

Response of the Matrix Material

A variety of models for the evolution of !, the equivalent matrix stress, may be defined. Herewe consider two inviscid models, the first of which is

! ! !0 $ H5%p (3.189)

where&H5&is the specified (constant) plastic hardening modulus (H5 may be zero) and !0 isthe specified uniaxial yield stress. The second inviscid model is a simple power!law withinitially linear response

%%0

! !!0

,$$$$ % 6 %0 (3.190)

%%0

! " !!0#

N

,$$ %7 %0 (3.191)

where the total equivalent strain in the matrix,&%, is simply&% ! !(E$ %p&and E ! !0(%0.Eq. (3.191) is solved iteratively for ! with a local Newton loop for a given value of plasticstrain in the matrix, %p. The plastic modulus, H5, is then found by

H5 !EET

E % ET(3.192)

Page 223: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–13Chapter 3 Elements and Material Models

where the tangent modulus is defined from Eq. (3.191) by

ET ! EN" !!0#

(1%N)

$. (3.193)

A more general response for the matrix material may be defined using piecewise!linear(segmetnal) stress!strain curves. These curves support the definition of (1) rate and tem!perature independent response, (2) temperature dependent response including Young’smodulus, Poisson’s ratio and isotropic thermal expansion coefficent, and (3) strain!rate de!pendent response with rate independent Young’s modulus and Poisson’s ratio.

To power!law viscoplastic matrix material follows the form

%. p! 1

&&" !!e#

m

% 1' (3.194)

where & and m are material constants and !e is the inviscid equivalent stress for the matrix.The viscosity term is often written in the form D=1/&! In the simplest case, !e is specifiedto remain constant at the yield stress, !0. More generally, !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

"%p ! "t& &" !n$1

!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&!n$1

!n$1 ! !i,n$1&"&"%p

"t#$ 1'

1(m

&. (3.196)

We observe in Eq. (3.196) that as &("t 8 0 the inviscid solution is recovered. Each ofthe above models for !n$1 are functions of the plastic strain in the matrix and can thus beresolved during the solution for&"%p,&"%q. The plastic modulus is given by

H5 ! d!d%p4

n$1!

&!i

m"t"!!i#

1%m

$"!!i#H5

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 consistentwith updated values of the internal state variables. The proportionality factor "# 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

"%p"3g3q#$"%q"3g

3p# ! 0$. (3.198)

This relationship together with satisfaction of the yield criterion at n+1 using stresses ofEq. (3.180)

Page 224: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material gurson

3.7–14Chapter 3 Elements and Material Models

gn$1 ! g( #qn$1, # !n$1,# pn$1,# fn$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 "%p,&"%q.

These equations are solved iteratively using Newton’s method. Given estimatesfor&"%p&and&"%q&, the updated stress state, pn$1&and qn$1, are given by Eq. (3.177) and Eq.(3.178). The internal state variables,&%p,&!&and& f, are updated to n+1 by solving these threeequations simultaneously, Eqs. (3.183) and (3.188) are repeated for clarity)

"%p ! %pn$1

% %pn !

% pn$1"%p $ qn$1"%q

(1 % fn$1) #!n$1$ . (3.200)

"f ! fn$1 % fn ! (1 % fn$1)"%p $!(%pn$1

)"%p$. (3.201)

!n$1 ! !(%pn$1

) (3.202)

The numerical complexity in updating %p and f depends on the form adopted for !(%p) andwhether or not the nucleation component of f is included. If !(%p) of the form defined by Eq.(3.189) is adopted and ! / 0, the above three equation reduce to a single linear equationfor "%p after which "f is found directly as well. In other cases, another level of Newton’siterations is required to resolve "%p and "f consistent with&!.

Page 225: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

3.8 Material Model Type: cohesive

This material model idealizes the fracture process in solids as the gradual separation acrossinitially thin and coincident surfaces which may in general be non-planar. The loss of cohesionand thus crack formation-extension within a solid may be viewed as the progressive decay ofotherwise intact tension and shear tractions across the adjacent surfaces. The introduction ofinterface constitutive models that determine the current normal and shear tractions from rela-tive displacement jumps across the surfaces provides a description for the progressive fractureprocess. At su!ciently large displacement jumps across the interface surfaces, the models de-grade the tractions to zero thereby creating new, traction-free surfaces within the volumetricfinite element model. Further, the cohesive zone model introduces an intrinsic length-scale in thelocal fracture process via the specified cohesive-fracture energy which enables fracture processzones 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 typesof 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 define a full 3-Dresponse across an interface for mixed-mode fracture compatible with both the small andlarge-displacement formulations. The following briefly summarizes the available cohesive for-mulations.

Linear-elastic. The user specifies the constant sti"ness values (units of stress/displacement)that connect: (a) normal (opening) traction to the relative (opening) displacement jump; (2)shear traction (t1) and the relative (longitudinal) sliding displacement jump, and (3) sheartraction (t2) and the relative (transverse) sliding displacement jump between the surfacesat an integration point within an interface element. Most often, the shear traction-slidingdisplacement jump is considered isotropic; the user just assigns equal sti"ness values for theshear 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, di"erent values of maximum(peak) stress on the traction-separation curves for normal and shear loading, and explicitcontrol over the initial sti"ness of the traction-separation curves. In the post peak-stressregion of the response, the user may specify a variety of behaviors from e"ectively brittleto 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 cohesivebehavior (see Park, Paulino and Roesler [1]).

Exponential option (exp1 intf ). This older nonlinear model treats mixed-mode, cohesivefracture using a single, “e"ective” traction connected to an “e"ective” displacement jumpacross the interface using a single, traction-separation curve. The user specifies one valueof the cohesive fracture energy and one value for the “e"ective” peak stress on the (single)traction-separation curve. A user-defined value for a scalar, mode-mixity parameter (!)sets the relative weighing of normal and shear modes to generate the “e"ective” values inthe response. The traction-separation curve follows a smooth exponential form that rises(nonlinearly) from zero traction-separation to peak stress, and then decreases the e"ectivestress exponentially towards zero with increasing relative e"ective separation. The initial

Chapter 3 (Updated: 12-11-2010) 3.8-1 Elements and Material Models

Page 226: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

sti"ness at zero traction-separation follows from the defined shape of the exponential curve,the peak stress and fracture energy. The user does not have explicit (independent) controlover the initial sti"ness. 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 ispenalized to prevent interpenetration of interface element surfaces. To accomplish this, the userspecifies a “compression” multiplier (> 1) imposed on the initial (normal) sti"ness responsewhen 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 e"ects.

3.8.1 Potential Functions

For isothermal and rate-independent conditions, the normal and shear (tangential) tractions ina local Cartesian system, T (Tn, Tt1, Tt2), across the interface-cohesive surfaces derive from anenergy 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 jumpsacross the cohesive surface; q defines a set of internal variables which describe the inelasticprocesses of decohesion. Here, ! vanishes for a superposed rigid body motion. We define theorientation of the unit normal (n) at each material point such that #n = ! ·n > 0 leads to anopening separation across the interface. The (total) sliding displacements across the interface,!t, may be written

!t = !!#nn = (I ! n" n)!; #t = #!t# , (3.8.2)

where !t is the projection of ! onto the tangent plane. In the present treatment, the shearingprocess on cohesive surfaces is taken as isotropic and thus requires a single sliding displacementjump, #t, and work-conjugate traction, Tt. For 3-D implementation, the decomposition of !t

into two orthogonal vectors, !t = !t1+!t2, at a material point in the tangent plane (normalto n) of the interface becomes arbitrary and defined most conveniently by the parameterizeddefinition 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 consequenceof the first and second laws of thermodynamics. Adoption of this potential structure reducesthe formulation of the cohesive relations from two independent functions into a single scalarfunction, "(#n,#t, q).

The tractions follow from the potential function directly as

Tn =#"

##n; Tt =

#"

##t. (3.8.4)

Chapter 3 (Updated: 12-11-2010) 3.8-2 Elements and Material Models

Page 227: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

For Mode I loading and crack formation-extension over a symmetry plane, the contribution ofTt and #t to " vanish, and the formulation and needed material-fracture properties simplifyconsiderably. Similarly for Mode II loading, the contribution of Tn and #n to " vanish andthe formulation again simplifies considerably. The proper modeling of mixed-mode fracturerequires the careful construction of " to yield Tn !#n and Tt !#t traction-separation curvesthat support di"erent fracture energies

$n =

! !n

0

Tn (#n,#t = 0) d#n , and (3.8.5)

$t =

! !t

0

Tt (#n = 0,#t, ) d#t . (3.8.6)

Here, and subsequently, $n denotes the value of #n when the normal traction Tn degrades tozero. Similar, $t denotes the value of#t when the shear traction Tt degrades to zero. The variousapproaches to include mixed-mode behavior di"erentiate among the proposed formulationsfor cohesive traction-separation models. The PPR model implemented in WARP3D reflects acomplete 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 “e"ective” traction-displacement jump pair (T ! #) and uses that singlepair to define the potential function, i.e. !=

$"2!2

t+!2

n where ! is a scalar constant defined aspart 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 thisoption is linear intf. Users must specify sti"ness values (units: stress/displacement) of the inter-face in the normal (sti!n), longitudinal-shear (sti!s), and transverse-shear (sti!t) directions.The longitudinal and transverse orientations are shown as the t1 and t2 directions, respectivelyin Figs. 3.8-3.10 (configurations of the interface elements, which use the alternate notation s1,s2 rather than t1, t2).

An isotropic shear-sliding response is obtained by setting the two shear sti"ness coe!cientsto the have the same value, sti!s=sti!t.

To prevent interpenetration in the normal direction, the compression multiplier has a de-fault value of 10.0. This value may be modified 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

Page 228: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

3.8.3 PPR Option (Park-Paulino-Roesler)

The PPR option defines a nonlinear, cohesive constitutive relationship with a complete andrigorous treatment for mixed-mode fracture under isothermal and rate-independent conditions.The traction-separation curves have the form of polynomials which prescribe finite values ofnormal 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 generalmixed-mode, nonlinear behavior.

The normal and shear traction-separation curves derived from a unified potential for mixed-mode fracture [1] have the forms and associated terminology shown in Fig. 3.8.1.

!n

Tn (!n, 0)

!n

! > 2

! ! 2

! < 2

Tn!p

!n!p

!n =

!!n

0

Tn ("n, 0) d"n

!t

!t =

!!t

0

Tt (0,"t) d"t

! ! 2

! ! 2

! < 2

! < 2

! > 2

! > 2

!t!p !t

!!t

Tt!p

!Tt!p

Tt(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 specified

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 (Tn = 0) when the normal or tangential separation reachesa certain set of values ($n, $t), called the normal final crack opening width and the tan-

Chapter 3 (Updated: 12-11-2010) 3.8-4 Elements and Material Models

Page 229: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

gential conjugate final crack opening width, respectively (see subsequent section on ModeInteractions),

Tn($n,#t) = 0 , Tn(#n, $t) = 0 . (3.8.7)

• Similarly, complete shear failure occurs (Tt = 0) either when the normal separation reachesthe normal conjugate final crack opening width ($n) or when the tangential separationreaches the tangential final crack opening width ($t),

Tt($n,#t) = 0 , Tt(#n, $t) = 0 . (3.8.8)

• The area, $n, under the normal traction-separation curve in the absence of shear loadingdefines the material’s opening-mode fracture energy (Mode I toughness). Similarly, the area,$t, under the shear traction-separation curve in the absence of normal loading defines thematerial’s shear-mode fracture energy (Mode II/III toughness). Here, $n and $t are givenby

$n =

! !n

0

Tn(#n, 0) d#n , $t =

! !t

0

Tt(0,#t) d#t . (3.8.9)

• The normal and tangential tractions are maximum when the separations reach the peakopening displacements ($n!p, $t!p),

#Tn

##n

"

"

"

"

!n=!n!p

= 0 ,#Tt

##t

"

"

"

"

!t=!t!p

= 0 . (3.8.10)

• The maximum tractions correspond to the cohesive strengths (Tn!p, Tt!p),

Tn($n!p, 0) = Tn!p , Tt(0, $t!p) = Tt!p . (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.

Tn(#n,#t) = Tn(#n,!#t) , Tt(#n,#t) = !Tt(#n,!#t) , (3.8.12)

respectively.

• The value of Tt(#n,#t) at #t = 0 exists in the limit sense, i.e.

lim!t"0+

Tt(#n,#t) = 0 , lim!t"0!

Tt(#n,#t) = 0 . (3.8.13)

• Unloading follows a linear-secant response. Reloading follows the linear-secant response untilthe prior maximum displacements are again reached. The unloading-reloading behavior iscomputed independent of the energy potential.

• On initial loading from zero tractions, the normal and shear mode response is not coupled.Further, the orthogonal components (T1, T2) of the shear traction, T 2

t = T 11 + T 2

2 , areuncoupled on initial loading from zero tractions.

Chapter 3 (Updated: 12-11-2010) 3.8-5 Elements and Material Models

Page 230: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

Potential, Tractions, Parameters

With these desired behaviors for a mixed-mode, cohesive fracture model, PPR developed thepotential function

"(#n,#t) = min($n,$t) +

#

$n

$

1!#n

$n

%#$m

%+

#n

$n

%m

+ %$n ! $t&

&

'

'

$t

$

1!|#t|

$t

%" $n

!+

|#t|

$t

%n

+ %$t ! $n&

(

, (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 theboundary conditions on macroscopic fracture (more discussion below). The energy constantsabove 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 thesimpler form

$n = !$n

* %

m

+m, $t =

$

!

n

%n

for ($n = $t) . (3.8.17)

The user may specify initial sti!ness indicators for the traction-separation curves as the ratioof the opening and sliding displacements at the peak traction values to the values when thetractions degrade to zero,

&n = $n!p/$n , &t = $t!p/$t . (3.8.18)

The initial sti"ness indicators provide explicit user control of the initial, linear-elastic behavior.Smaller values of &n, &t (or $n!p, $t!p) increase the initial slope, and decreased artificial elasticdeformation. Therefore, &n!p and &t!p are generally selected to be “small” values within therange of numerical stability.

The internal, non-dimensional exponents, m and n, are given by

m =%(%! 1)&n

2

(1! %&n2)

, n =!(! ! 1)&t

2

(1! !&t2)

. (3.8.19)

and the final tangential and normal crack opening widths ($n and $t),

$n =$n

Tn!p%&n (1! &n)

#!1* %

m+ 1+* %

m&n + 1

+m!1

,

$t =$t

Tt!p!&t (1! &t)

"!1

$

!

n+ 1

%$

!

n&t + 1

%n!1

. (3.8.20)

Chapter 3 (Updated: 12-11-2010) 3.8-6 Elements and Material Models

Page 231: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

Finally, the traction-separation curves follow directly from gradients of the potential andhave the form,

Tn(#n,#t) =$n

$n[A! B]' ft (#t) , (3.8.21)

Tt(#n,#t) =$t

$t[C !D]' fn (#n)

#t

|#t|(3.8.22)

where,

A = m

$

1!#n

$n

%#$m

%+

#n

$n

%m!1

, (3.8.23)

B = %

$

1!#n

$n

%#!1$m

%+

#n

$n

%m

, (3.8.24)

C = n

$

1!|#t|

$t

%" $n

!+

|#t|

$t

%n!1

, (3.8.25)

D = !

$

1!|#t|

$t

%"!1$n

!+

|#t|

$t

%n

. (3.8.26)

And the mode-interaction functions are

ft (#t) = $t

$

1!|#t|

$t

%" $n

!+

|#t|

$t

%n

+ %$t ! $n& , (3.8.27)

fn (#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-interactionterm, denoted ft(#t); the shear traction in Eq. (3.8.22) has the mode-interaction term fn(#n).These terms arise naturally in derivatives to compute tractions from the cohesive potentialfunction – they describe the impact of loading in one mode on the traction-separation responseof the other mode. The presence of normal loading reduces the shear capacity and the presenceof 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 Tn(#n,#t), for example, degrades to zero under #t displacement jumpsat or before reaching the limit $t defined for a pure shear loading. This reduced limit, denotedby $t and termed the “conjugate” limiting displacement in [1], with $t ( #t is computed byfinding the value of #t that makes the (nonlinear) function ft * 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 indicatedin Fig. 3.8.2b. Here, the value of $n makes the function fn * 0 in Eq. (3.8.28). Consequently,the shear traction vanishes outside the shaded region in Fig. 3.8.2b.

User-Defined PPR Properties

The user-definable properties of the PPR model are:

• The fracture energies ($n, $t) which may have the same or di"erent values

Chapter 3 (Updated: 12-11-2010) 3.8-7 Elements and Material Models

Page 232: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

Tn (!n,!t) Tt (!n,!t)

!n

!t !t

!n

!t

!!t!!t

!t

!n !n

Fig. 3.8.2: Description of each cohesive mode-interaction (Tn, Tt) regions defined by the final crack

displacement jumps ($n, $t) and the “conjugate” final crack opening jumps ($n, $t); (a) Tn versus ($n,

$t) space; (b) Tt versus ($n, $t) space.

• The peak normal and shear stress levels (Tn!p, Tt!p) on the traction-separation curveswhich may have the same or di"erent 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 displacementjump. For values > 2, the post-peak curves have a convex shape, while values < 2 lead toan increasingly concave, plateau-like post-peak behavior.

• The indicators (&n, &t) that define the relative sti"ness of the initial linear-elastic response

• Under compression loading, the cohesive material behaves as a spatially distributed, uniformlinear spring. To limit the amount of interpenetration, the sti"ness of the compressivespring is taken as a factor times the slope of the traction-separation curve at the origin asdetermined from the specified value of &n. The multiplication factor is specified by the userthrough 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 PPRcohesive material added to the list of elements to be eliminated from the model once thetractions degrade to zero.

• Note: For simple normal (Mode I) loadings, the traction-separation curve of the PPR modelcan 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 valuesfor the exp1 intf model. Set % = 7, ! = 7 and &n = 0.1, &t = 0.1 for the PPR to make theearly 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

Page 233: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

Model Property Keyword Mode Default Value

Request ppr option ppr

Peak normal traction (Tn!p) sig peak number 0.0

Peak shear traction (Tt!p) 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

Sti"ness 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 eachmode) and a single energy of separation ($). Following Camacho and Ortiz ([2]), the intro-duction of a user-defined, scalar parameter (!) assigns di"erent weights to the (tangential)sliding and (normal) opening displacements. This simplifies the formulation to have a singledisplacement jump across the cohesive surface. The e"ective opening displacement (#) becomes

# =,

!2#2t +#2

n . (3.8.29)

This form reflects equal weights (!) assigned to each of the two (orthogonal) sliding vectors inthe tangent plane, where !2

t=

$!2

t1+!2

t2. Using Eq. (3.8.1, 3.8.4), and the definitions above for

normal and sliding displacements, the traction vector may be written in the form

T =#"

##nn+

#"

##t

!t

#t= T n + T t (3.8.30)

Given the e"ective displacement (#), the work-conjugate, e"ective 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 =#"

##

##

##nn , (3.8.32)

Chapter 3 (Updated: 12-11-2010) 3.8-9 Elements and Material Models

Page 234: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

T t =#"

##

##

##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

#

-

!2!t +#nn.

(3.8.34)

or equivalently in the formT =

/

!!2#T t#2 + T 2n . (3.8.35)

With the above simplification to accommodate mixed-mode loading, a simple exponential

T /Tp

T /Tp

T =T (!max)

!max

!

!(b)

max

!(a)

max

!/!p

! =!

!2 (!2t1+!2

t1) +!2

n

T = exp(1.0) Tp

!

!p

exp

!!

!

!p

"

Fig. 3.8.3: Exponential, e"ective 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 e"ective traction (T ) and the e"ective displacement (#)to define a phenomenological, decohesion process. The T ! # response follows an irreversiblepath with unloading always directed to the origin. This model represents all the features ofthe separation process by: (1) the shape of the cohesive traction-separation curve, (2) the localmaterial strength defined by the peak traction (Tp), and the local material toughness definedby 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

Page 235: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

The constitutive relation for the cohesive surface is derived from an exponential form of afree energy potential

" = exp(1) Tp #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 loadingconditions, the relationship T ! # follows from

T =#"

##= exp(1) Tp

#

#p

exp

$

!#

#p

%

. (3.8.37)

For unloading, the response follows

T =

$

Tmax

$max

%

# , if # < #max or ˙# < 0 . (3.8.38)

Figure 3.8.4 illustrates both the loading and unloading responses predicted by this exponentialform of a cohesive traction-separation law.

Using standard procedures to compute the J-integral for tractions across crack faces, thework 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) Tp #p . (3.8.40)

Under compression loading, the cohesive material behaves as a spatially distributed, uniformlinear spring. The sti"ness of the compressive spring is taken as a factor times the slope of theexponential, traction-separation curve at the origin,

KL =#T

##

-

# = 0.

= exp(1) Tp /#p . (3.8.41)

The multiplication factor can be specified by the user through the property compression multiplier.Figure 3.18 shows schematically the behavior of the cohesive model under normal compressionfor di"erent 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 e"ective 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 sti"ness and the cohesive energy,$] is completely determined by the the the user-specified values of Tp and #p.

Chapter 3 (Updated: 12-11-2010) 3.8-11 Elements and Material Models

Page 236: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

T /Tp

KL

!/!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 sti"ness may become too small (large opening of the interfaces and artifi-cial model anisotropy) for certain choices of (Tp, #p) needed to match the desired fracturebehavior

• Special considerations are needed for interface-cohesive elements on symmetry planes (seesubsequent section here)

A complete example of input for an exp1 intf cohesive material and association with interfaceelements 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 requestedduring crack growth analysis, the crack growth processor prints various messages about theinterface-cohesive elements, the traction values, relative displacements and status indicators,e.g. if the tractions exceed the peak values on the defined traction-separation curve. This outputoption 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

Page 237: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

Model Property Keyword Mode Default Value

Request exp1 intf option exp1 intf

Peak e"ective traction (Tp) sig peak* number 0

Peak e"ective displacement (#p) delta peak* real 0.0

Mode mixity weight factor (!) beta* number 0.0

Sti"ness 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, U0, to the interface-cohesive routines for subsequent output. For the nonlinear cohesive zone model, U0 at stepn+ 1 is evaluated using the trapezoidal rule

Un+1

0= Un

0 +1

2

-

T n+1 + T n.

:-

!n+1! !n

.

. (3.8.42)

For the linear elastic interface, U0 at step n+ 1 becomes simply:

Un+1

0=

1

2T n+1 : !n+1 . (3.8.43)

The “energy” output file 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-eightsymmetric finite element meshes. In these models, interface-cohesive elements are placed overthe initial uncracked ligament thereby constraining crack growth in a self-similar manner.Consequently, the computed opening displacements (normal to the symmetry plane) have onlyone-half of the value during computations to update cohesive tractions that would be presentin 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 sti"ness valuesthat link the normal and shear tractions to the displacement jumps. For interface-cohesiveelements connected to a symmetry plane, the user should specify sti"ness values for sti!n, sti!tand sti!s that are twice the values that would be input in a full model that does not takeadvantage of the symmetry conditions. The specification of displacement boundary conditionsalso require the usual care to not over-constrain or under-constrain displacements of interfaceelement nodes incident on the symmetry plane. For large displacement analyses, Section 3.3describes the process to set which surface of an interface element connects to the adjacent solidelement.

Park-Paulino-Roesler option (ppr). This model requires the input of peak values for nor-mal and shear tractions (Tn!p, Tt!p), and the cohesive fracture energies ($n, $t). From these

Chapter 3 (Updated: 12-11-2010) 3.8-13 Elements and Material Models

Page 238: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 unadjustedpeak normal and shear traction values; (2) specify one-half the actual values for $n and $t.The specification of displacement boundary conditions also require the usual care to not over-constrain or under-constrain displacements of interface element nodes incident on the symmetryplane. For large displacement analyses, Section 3.3 describes the process to set which surfaceof the interface element connects to the adjacent solid element.

Exponential option (exp1 intf ). This model requires input of the peak value for the e"ec-tive traction (Tp) and the value of the e"ective displacement jump at peak traction (#p). Forinterface-cohesive elements connected to a symmetry plane: (1) specify the unadjusted value forthe peak e"ective traction; (2) specify one-half the actual value for the e"ective displacementjump at the peak traction, and (3) specify a ! > 0 to provide a non-zero resistance to slidingdisplacement jumps (needed to prevent singularity in the equilibrium equations). The specifi-cation of displacement boundary conditions also require the usual care to not over-constrainor 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 theinterface 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 leadto satisfactory convergence of the global Newton iterations. However, the computed responsein 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 stressattained in the cohesive zone governs strongly the development of plasticity in the backgroundmaterial and consequently the overall energy dissipation of the background material.

With large load steps, the response state computed within interface elements may passfrom the pre-peak to the post-peak side of the traction-separation curves without enforcingthe peak stress level on adjacent background material. To eliminate these e"ects, WARP3Dprovides an option in the global nonlinear solution procedures that adaptively controls thesize of global displacement (or load) increments based on the response of interface-cohesiveelements. 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 elementin the model that experiences the largest change of an e"ective displacement jump acrossthe interface (denoted here by #). The code continually adjusts the sizes of subsequent loadincrements to maintain the normalized value (#/#p) within a user-specified tolerance. Here,#p denotes the value of an e"ective displacement jump when the e"ective cohesive tractionreaches a maximum value before degrading at further increases of the displacement jump. Ourexperience indicates that analyses using values of (#/#p) up to 0.3 show only small di"erencesin the solutions.

The definition of an e"ective displacement (#) and e"ective displacement value at thepeak 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

Page 239: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

e"ective 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 usedwith the ppr option.

This adaptive approach also maintains excellent stability and convergence rates of the globalNewton 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-sizecontrol.

3.8.8 Element Extinction

The traction-separation models described here reduce normal and shear tractions towards zerowith increasing relative displacements across the interface elements. Once the tractions decreaseto (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 fixed number of subsequent load increments. Section 5.4 inChapter 5 describes this extinction procedure for interface-cohesive elements. The extinctionprocedures apply only to interface elements having cohesive materials with the material logicalproperty killable specified (see tables of cohesive properties in this section).

3.8.9 Computational E"ciency

The key computational routines for this material model reflect a very e!cient organization anddata flow. The routines are passed incremental values of the displacement jumps, tractions fromthe start of the current step, history data at the start of the current step and user-specifiedproperty values.

The cohesive routines are provided all data at integration point 3, for example, for allelements in a “block” in a single invocation, where blocks are defined by the user in theinput data. Maximum block sizes are typically 64, 128 or 256 elements. This strategy leads toexceptionally fast, vector-style coding of computational loops in the cohesive routines. Moderncompilers readily optimize execution of these loops with their long iteration counts (i.e. theblock size) to utilize local parallelism at the core level. Entire blocks of elements are processedconcurrently 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 unified potential-based cohesive model of mixed-modefracture. 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 AppliedMechanics, 54:523-531, 1990

[4] A. Needleman. An analysis of tensile decohesion along an interface, Journal of Mechanics & Physicsof Solids, 38:289-324, 1990.

[5] A. de Andres, J.L. Perez, and M. Ortiz. Elasto-plastic finite element analysis of three-dimensionalfatigue crack growth in aluminum shafts subjected to axial loading. International Journal of Solids andStructures, 36:2231-2258, 1999.

Chapter 3 (Updated: 12-11-2010) 3.8-15 Elements and Material Models

Page 240: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cohesive

[6] M. Ortiz A. Pandolfi. A finite deformation irreversible cohesive elements for three-dimensional crackpropagation. International Journal for Numerical Methods in Engineering, 44:1267-1282, 1999.

Chapter 3 (Updated: 12-11-2010) 3.8-16 Elements and Material Models

Page 241: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–1Chapter 3 Elements and Material Models

3.9 Material Model Type: mises_hydrogen

This material model extends the Mises plasticity of Section 3.6 to include the effect of solutehydrogen on the mechanical (flow) properties. Strain!rate independent, incremental theoryof plasticity with isotropic power!law hardening is employed. For finite!strain 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 smallelastic strains and small dilatation induced by the presence of hydrogen. This assumptionsimplifies considerably the treatment of the material model and permits additive decom!position into elastic, plastic and hydrogen components of strain increments defined withrespect to the deformed configuration. The effect of hydrogen is modelled through a latticedilatation induced by the presence of hydrogen in the solution and a reduction of flow stressdue to hydrogen!enhanced dislocation mobility. The mises_hydrogen model assumes thathydrogen is initially in equilibrium and remains in equilibrium with the local Cauchystress. The local hydrostatic stress and the local plastic strain then fully determine the totalhydrogen concentration.

The constitutive framework for WARP3D outlined in Chapter 1 neutralizes finite rota!tion effects during stress!updates and computation of the consistent tangent moduli. Thesmall!strain, stress!updating procedures follow a single!step, elastic!predictor radial!re!turn algorithm. The algorithm remains unconditionally stable for large strain incrementsand provides high accuracy in the updated stresses (for a single step method). Inelastic un!loading!reloading 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 reversibletrapping sites at micro!structural defects generated by plastic deformation.

The hydrogen concentration at NILS, CL, measured in hydrogen atoms per unit volume,can be calculated as

CL ! !L""NL (3.228)

where !L is the occupancy of the NILS sites, " denotes the number of NILS per solvent atom

and

NL ! NA"VM (3.229)

is the number of solvent atoms per unit lattice volume, where NA!6.023 # 1023 atoms per

mole is Avogadro’s number and VM is the molar volume of the host metal.

The hydrogen concentration at trapping sites, CT, measured in hydrogen atoms per unit

volume, can be phrased as

CT ! !T "#NT (3.230)

where !T is the occupancy of the trapping sites, # denotes the number of sites per trap and

NT denotes the trap density measured in number of traps per unit volume.

According to Oriani’s theory, the two hydrogen populations are always in equilibrium,such that

Page 242: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–2Chapter 3 Elements and Material Models

!T

1 $ !T!

!L

1 $ !LKT (3.231)

in which the equilibrium constant KT is defined as

KT ! exp%WB

RT& (3.232)

where WB is the trap binding energy, R ! 8.31 " "J ' mole$1 ' K$1 is the gas constant and Tis the absolute temperature.

The hydrogen concentration at NILS, CL, is assumed to be in equilibrium with localCauchy stress $ij, such that

!L

1 $ !L!

!0L

1 $ !0L

KL (3.233)

where !0L ! C0

L""NL is the initial occupancy at NILS, and

KL ! exp%$kkVH

3RT& (3.234)

is the equilibrium constant determined by the first order interaction between hydrogen#in!duced lattice dilatation and the hydrostatic stress $kk, VH is the partial molar volume ofhydrogen in solution, and the standard summation convention is used over repeated indicesthroughout.

The traps are assumed to be associated with dislocations in the deforming metal. Thetrap density in traps per unit volume is given by

NT ! 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 ) '&p (3.236)

for &p * 0.5 and %! %0 ) 0.5 "' when &p + 0.5, where %0 ! 1010 m#2 denotes the disloca!tion density for the annealed material and ' ! 2 # 1016 m#2.

Combining Eqs. (3.228) to (3.236) gives the total hydrogen concentration as

C ! CL ) CT ! "NL,!L($kk) ) !TL($kk, &p)- (3.237)

where

!L($kk) ! !0LKL",.1 $ !0

L/) !0

LKL-

and

!TL($kk, &p) !#NT(&p)

"NL

KT "!L($kk)

1 $ !L($kk) ) KT"!L($kk) .

The total hydrogen concentration can also be expressed in the unit of hydrogen atomsper host metal atom (H"M) as

Page 243: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–3Chapter 3 Elements and Material Models

c ! C"NL ! "",!L($kk) ) !TL($kk, &p)-. (3.238)

3.9.2 Hydrogen Effect on the Stress!Strain Curve

The presence of solute hydrogen enhances the dislocation mobility in metals and alloys. Ina continuum sense, this enhanced dislocation mobility reduces the material local flowstress. In the present model, the effect of hydrogen on the material flow stress is given by

$Y(&p, c) ! $0" ,.($ 1/"c ) 1-" .1 ) &p"&0/1"n

(3.239)

where $Y is the local flow stress, &p is the effective plastic strain, c is the hydrogen con!centration given by Eq. (3.238), ( is a softening parameter denoting the hydrogen effect dueto enhanced dislocation mobility, $0 is the yield stress in the absence of hydrogen, &0 ! $0"Eis the initial yield strain with E being the Young’s modulus of the material, and lastly n isthe hardening exponent.

Users input the uniaxial stress!strain curve description in the absence of hydrogen. Fora small!strain analysis (linear kinematic formulation), specify engineering values for thestrain(&E) and stress ($E). For a finite!strain analysis (nonlinear kinematic formulation),specify the uniaxial stress!strain curve using the logarithmic strain, &, and the true(Cauchy) stress, $. For a finite"strain analysis, the user should convert conventional engi"neering strain, &E #, and engineering (nominal) stress, $E##, values for input using the rela"tions:

$ ! $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 thevalues must be given in real mode in the input file. No default values are available.

Model Property Keyword Mode

Young’s modulus (E) e Number

Poisson’s ratio (!) nu Number

Yield stress ("0) yld_pt Number

Power law exponent (n) n_power Number

Sites per trap (#) trap_number Number

Page 244: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–4Chapter 3 Elements and Material Models

Initial dislocation density ($!) init_disloc_density Number

Coefficient for calculating dis!location density (%)

disloc_density_parameter Number

Lattice parameter (a) lattice_parameter Number

Trap binding energy (WB) binding_energy Number

Number of NILS per solventatom (& )

nils_number Number

Molar volume of host metal (VM) molar_volume Number

Hydrogen partial molar volumein solution (VH)

h_partial_volume Number

Initial hydrogen concentration atNILS (c0

L)initial_hydrogen_conc Number

Softening parameter (') 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 Young’s Modulus E and the yield stress $0 should be Pa; the unitof the initial dislocation density %0 and the parameter ' should be m#2; the lattice parame!ter a is given in m; the trap binding energy is given in J"mole; the molar volumes VM andVH should be given in m3"mole; and lastly the initial hydrogen concentration must be givenin H"M. All other parameters are dimensionless.

3.9.4 Model Output

By default, the material model prints no messages during computations. If requested, thematerial model prints the element number and strain point number whenever the effectivestress first exceeds the specified yield stress. This option is requested with the nonlinearsolution parameter material messages on (refer to Section 2.10.8).

The model makes available the strain energy density, U0", at each Gauss point to theelement routines for subsequent output. U0 at step n+1 is evaluated using the trapezoidalrule

Un)10 ! Un

0 )12.tn)1 ) tn/ : "d (3.242)

where the unrotated Cauchy stresses and unrotated strain increments are adopted for thefinite!strain formulation. Thermal contributions to "d are subtracted prior to the abovecomputation.

The element stress output contains up to three values for the material model ‘‘state"variables. These values for the mises_hydrogen material are:

Page 245: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–5Chapter 3 Elements and Material Models

mat_val1: accumulated (equivalent uniaxial) plastic strain,

&p ! 23

( 0 &. pij$&

. pij

( dt

mat_val2: hydrogen concentration at NILS, cL

mat_val3: hydrogen concentration at reversible trapping sites, cT

3.9.5 Example

The following example defines the material niobium. It uses the power law stress#straincurves defined by Eq. (3.239). Initially the specimen is at uniform distribution of hydrogenof concentration c0

L!0.001 H"M. The initial reduction of the yield stress is 5% ((!#49).

structure ssy_pstrainmaterial 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.3e–10,binding_energy 29.2e3,nils_number 1.0,molar_volume 10.852e–6,h_partial_volume 1.88e–6,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 ! de ) dp ) dh (3.243)

where de, dp, and dh denote respectively the deformation rate due to elasticity, plasticity,and hydrogen#induced lattice dilatation.

Assuming linear and isotropic elasticity, one has

!.! Ce : de (3.244)

where !. is the rate of change of the Cauchy stress, Ce is the fourth order elasticity tensor.

Von Mises yielding with normality and the associated flow rule gives

dp ! &. p 3S

2q! &

. pn (3.245)

where &. p is the rate of change of the (equivalent) plastic strain, S is the deviatoric compo!

nent of !, and q! 32

SijSij( .

The deformation rate due to hydrogen is given by

dh ! 13)(c) "c

."I (3.246)

Page 246: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–6Chapter 3 Elements and Material Models

where )(c) !3VH"VM

3 ) .c $ c0/VH"VM

, c0 is the total hydrogen concentration in the stress#free

state, and I is the second order identity tensor.

Using a backward Euler integration scheme, one has for a specified increment of thetotal strain

"" ! ""e )""p )""h, (3.247)

in which ""e, ""p, and ""h denote respectively the increments of the strain due to elasticity,plasticity, and hydrogen. The the elastic strain increment ""e is related to the increment ofthe stress "! through

"! ! Ce : ""e. (3.248)

The increment of the plastic strain tensor is given by

""p ! "&pnn)1, (3.249)

where "&p!&pn)1

$ &pn is the increment of the effective plastic strain, nn)1! 3Sn)1"2qn)1,

Sn)1 is the deviatoric component of the stress !n)1 at the end of the incremental step, andqn)1 ! 3Sn)1 : Sn)1"2( . The corresponding hydrostatic pressure at the end of the step ispn)1!$ 1

3!n)1 : I. Lastly the increment of the strain due to hydrogen is

""h ! 13)(cn)1)"c "I, (3.250)

in which "c!cn)1 $ cn, cn and cn)1 are respectively the total hydrogen concentration atthe beginning and the end of the incremental step.

We define the elastic trial (T) stress state as

!Tn)1 ! !n ) Ce : "". (3.251)

The deviatoric component of !Tn)1 is then denoted by ST

n)1, from which the trial equivalentstress is given by

qTn)1 ! .3

2ST

n)1 : STn)1/

1"2

. (3.252)

Similarly, the trial hydrostatic pressure is defined as

pTn)1 ! $ 1

3!

Tn)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)

fTn)1 ! qT

n)1 $ $Y.&p

n, cn/. (3.254)

The material loading now is defined by

fTn)1 1 0%%linear#elastic

fTn)1 2 0%%plastic$loading

% . (3.255)

Combining Eqs. (3.247), (3.248), and (3.251), one obtains

!n)1 ! !n )"! ! !Tn)1 $ Ce : ""p $ Ce : ""h, (3.256)

Page 247: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–7Chapter 3 Elements and Material Models

which leads to

nn)1 !32

Sn)1qn)1

! 32

STn)1

qTn)1

, (3.257)

pn)1 ! pTn)1 ) K)(c)"c, (3.258)

qn)1 ! qTn)1 $ 3G"&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

cn)1 ! c "."pn)1, &pn)1

/. (3.260)

If plasticity is involved in the current step, the yield criterion must be satisfied at n ) 1,i.e.,

qn)1 $ $Y.&p

n)1, cn)1

/ ! 0 . (3.261)

In summary, the series of nonlinear Eqs. (3.258) to (3.261) provides the solution pn)1,qn)1, &p

n)1."&p/, and cn)1 at n ) 1. The stress state at n ) 1 can be calculated by using Eq.

(3.257) as

!n)1 ! $ pn)1I ) Sn)1 !$ pn)1 )ST

n)1

qTn)1

qn)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

CEP ! .3!3"/

n)1! .3"!

3""/

n)1. (3.263)

It is evaluated at n ) 1 because the equilibrium equations are satisfied at the end of theincremental step in an implicit finite scheme.

By making use Eqs. (3.251) and (3.256), one obtains

CEP ! Ce $ Ce : 3""p

3""$ Ce : 3""

h

3"" . (3.264)

Rewriting the elasticity tensor Ce as

Ce ! 2GJ) KII, (3.265)

where Jijkl !12

(*ik*jl ) *il*jk) $ 13*ij*kl, then Eq. (3.264) gives

CEP ! Ce $ 2GJ : 3""p

3""$ 3K 3""h

3"" . (3.266)

The J2 flow rule gives

Page 248: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–8Chapter 3 Elements and Material Models

""p ! "&p 32

Sn)1qn)1

! "&p 32

STn)1

qTn)1

! "&pn, (3.267)

where n ! 3Sn)1"2qn)1 ! 3STn)1"2qT

n)1. For simplicity, hereafter all the quantitiesrefer to those at the end of the incremental step. Eq. (3.267) leads to

3""p

3""! n3"&p

3"") 3

2"&p, 1

qTn)1

3STn)1

3""$

STn)1

(qTn)1

)2

3qTn)1

3""-. (3.268)

Further, Eq. (3.251) gives

3STn)1

3""! 2GJ (3.269)

and

3qTn)1

3""! 2Gn, (3.270)

which reduce Eq. (3.268) to

3""p

3""! n3"&p

3"") G"&p

qTn)1

,"3J$ 2nn-. (3.271)

From Eq. (3.250), one derives

3""h

3""! 1

3,3)3c

"c ))- "I 3"c3""

. (3.272)

Since the total hydrogen concentration is a function of the hydrostatic stress and theplastic strain, i.e., c ! c($kk, &p), one has

3"c3""

! 3c3$kk

3"$kk

3"") 3c

3&p3"&p

3"" . (3.273)

The incompressibility of plasticity yields

"$kk ! 3K."&kk $"&hkk/ ! 3K, ""&kk $)(c)"c "- , (3.274)

from which one finds

3"$kk

3""! 3KI $ 3K,3)

3c"c ))- 3"c

3"" . (3.275)

Substitution of Eq. (3.275) into (3.273) gives

,1 ) 3K.3)3c

"c ))/ 3c3$kk-3"c3""

$ 3c3&p

3"&p

3""! 3K 3c

3$kkI . (3.276)

Combining Eqs. (3.259) and (3.261), one has

qTn)1 $ 3G"&p $ $Y

.&p, c/ ! 0 , (3.277)

which gives

.h ) 3G/ 3"&p

3"")

3$Y

3c3"c3""

! 2Gn, (3.278)

Page 249: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Material mises_hydrogen

3.9–9Chapter 3 Elements and Material Models

where h ! 3$Y"3&p.

Eqs. (3.276) and (3.278) yield

3"c3""

!3K.h ) 3G/ 3c

3$kkI ) 2G 3c

3&p n

.h ) 3G/,1 ) 3K.3)3c "c ))/ 3c3$kk

-) 3$Y

3c3c3&p

(3.279)

and

3"&p

3""!

2G,1 ) 3K.3)3c "c ))/ 3c3$kk

- "n $ 3K3$Y

3c3c3$kk

I

(h ) 3G),1 ) 3K.3)3c "c ) )/ 3c3$kk

-) 3$Y

3c3c3&p

(3.280)

Substitution of Eqs. (3.268) and (3.272) into (3.264) gives the consistent tangent opera!tor as

CEP ! Ce ) 2G2"&p

qTn)1

.2nn $ 3J/ $ 2Gn 3"&p

3!&$ K.3)

3c"c ))/I 3"c

3"" , (3.281)

in which 3"c3""

and 3"&p

3"" 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, 3"&p

3""! 0 and

3"c3""

!3K 3c

3$kkI

1 ) 3K.3)3c "c ))/ 3c3$kk

. (3.282)

Thus, the consistent tangent operator is

CE ! Ce $ K.3)3c

"c ))/3K 3c

3$kk

1 ) 3K.3)3c "c ))/ 3c3$kk

II. (3.283)

Note: For more detailed information about the formulation of hydrogen#coupled materialmodel, please see

Sofronis, P., Liang, Y., and Aravas, N. &Hydrogen induced shear localization of plastic flowin metals and alloys," European Journal of Mechanics A/Solids, 20(6), 857#872, 2001.

Page 250: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

3.10 Material Model Type: cyclic

This material model provides nonlinear stress-strain response to describe the cyclic plasticitybehavior in metals. Based on Mises elasto-plasticity, the model approximates the Bauschingere↵ect, ratcheting behavior, and stress-relaxation. At present, this material model is strain-rateindependent. The model employs an additive decomposition of the strain increments for stressupdating, and accommodates both small-strain and finite strain deformation levels throughtechniques outlined in Chapter 1.

Two options exist to define 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 thebackstress

• Nonlinear isotropic hardening via a saturating exponential relationship between the radius of theMises 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 e↵ort 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 forthe unknown consistency parameter which is solved in closed-form for the generalized plasticity

option and via Newton’s method for the nonlinear hardening option. For both options, anautomatic 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 strainpath for the load step at the material point remains proportional (straight) but the stresspath may become curved with proportional segments computed over each subincrement. Theadopted number of subincrements relies on a truncation error estimating procedure and a userspecified tolerance. A cap is placed on the maximum number of subincrements in the general-

ized plasticity model.

The model o↵ers two approaches to describe the production of thermal strain increments inresponse to temperature changes imposed in the analysis: isotropic and anisotropic. Isotropic

Chapter 3 (Updated: 8-20-2011) 3.10-1 Elements and Material Models

Page 251: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 forthe shear components (this thermal expansion coecient may vary with temperature for thegeneralized plasticity option – see Section 2.2). The anisotropic model enables definition of aunique thermal expansion coecient for each of the 6 strain components; it is intended tosupport modeling of various initial strain-stress fields, for example, residual stresses imposedthrough an eigenstrain approach. The anisotropic coecients do not vary with temperature.The isotropic model for thermal loading can be used in small displacement, large displacementand finite strain analyses. The anisotropic model for thermal loading should generally not beused in large displacement-rotation analyses as the anisotropic coecients are not rotationneutralized (use of anisotropic coecients to model initial residual stresses when the initialdisplacements and rotations remain small is acceptable).

The following sections discuss the model capabilities and features in detail, including theneeded input parameters. The next section describes the numerical implementation. The finalsection reduces the 3D constitutive equations to 1D forms.

3.10.1 Stress-Strain Curves

Despite the di↵erences noted above and the distinct governing equations, both options havequalitatively similar stress-strain response under cyclic loading. Both options of the cyclic

model intentionally reproduce strain ratcheting under nonsymmetric stress cycling and stressrelaxation 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 Poisson’s ratio (E and ). When plas-tic flow occurs, the model provides key cyclic plasticity features through nonlinear kinematichardening. Figure 3.10.2, based on the work of Lemaitre and Chaboche[3], illustrates the e↵ectof nonlinear kinematic hardening on both the three-dimensional behavior in deviatoric stressspace and the uniaxial tension-compression behavior. In the figure, denotes the current stressstate, the center of the yield surface (the backstress) is ↵, and k is the current radius of theyield surface, shown here to be constant. H and represent material constants that governthe kinematic hardening behavior. The nonlinear kinematic hardening reflects a yield surfacethat translates within a limit surface; this manifests as exponential saturation in a uniaxialframework.

The addition of isotropic hardening may improve the simulation of some materials. Isotropichardening is implemented as a saturating exponential relationship between the current radiusof the yield surface and the accumulated plastic strain (shown in Fig. 3.10.3). Here

ys

denotesthe tensile yield stress; Q

u

(+ys

) sets the saturation flow stress in 1-D; and bu

governs therate at which the saturation stress is reached with the 1-D, accumulated plastic strain p

u

. Thetensile yield stress and the initial yield surface radius (k0) are related by k0 =

p2/3

ys

. Atinitial yield, the 1-D exponential hardening model has a plastic modulus of b

u

· Qu

, a quantityoften referred to as H 0.

Chapter 3 (Updated: 8-20-2011) 3.10-2 Elements and Material Models

Page 252: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

0

0

0

0

y

/y

y

/y

Fig. 3.10.1: Capabilities of this cyclic plasticity model: (a) stress relaxation for cyclic non-symmetricstrain 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 Poisson’s ratio (E and ). However, the elasticdomain does not define admissibility; an additional surface acts as the limit function. Thus,plastic flow may occur immediately upon reloading if reverse loading has not returned thestate 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 specified and directly governs thenonlinearity of stress-strain response.

Figure 3.10.4 presents the uniaxial stress-strain response of the generalized plasticity modelwith kinematic hardening. In the figure,

ys

is the uniaxial (tensile) yield stress, u

and u

are1-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-Dconstant modulus H

u

, is not shown in the figure. The isotropic hardening is simply a linearrelationship between the radius of the yield surface and a measure of the accumulated plasticstrain. The material properties listed above – E, ,

ys

, Hu

, u

, and u

– have a piecewise linear,temperature-dependent response in the generalized plasticity model. The fraction of hardeningmodulus allocated to isotropic hardening () and to kinematic hardening (1 ) does not varywith temperature.

3.10.2 Model Properties

Tables 3.10.1 and 3.10.2 list the properties defined 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 specified before the otherproperty values are listed.

The mathematical formulations and computational code for both options employ conve-nient, 3-D definitions for the various material constants that appear throughout. When the

Chapter 3 (Updated: 8-20-2011) 3.10-3 Elements and Material Models

Page 253: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

32

Ok 0 ↵ k= k

1

k 0 k= k +H

ys

ys

2ys

2ys

u

u

A

B

Hu/u

Limit

Hu/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 deformationon reloading from B only after reaching prior maximum stress at A. Also the limiting condition can onlyhave a horizontal asymptote.

3-D tensorial definitions are specialized to 1-D as needed to use simple tests for calibrationof the parameter values, the 1-D ”equivalent” formulation values and the corresponding 3-Dvalues are generally are scaled by 3/2,

p2/3, etc.

Users input values for the 1-D, uniaxial specializations of the 3-D material parameters. Thecode converts these values to their 3-D definitions for use in computations.

nonlinear hardening option

Elastic and yield parameters:

• E, , ↵ (E, nu, alpha): Young’s modulus, Poisson’s ratio, thermal expansion coecient(or anisotropic expansion coecients). The properties E, nu, alpha maybe temperaturedependent (see Section 2.2).

• ys

(yld pt): tensile yield stress upon initial loading (k0 =p

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= 0for no isotropic hardening. q3D =

p2/3 q

u

.

• b u (1-D): Sets the rate at which the saturation tensile stress is reached with accumulated(uniaxial) plastic strain. b3D =

p2/3 b

u

.

Parameters for kinematic hardening.

Chapter 3 (Updated: 8-20-2011) 3.10-4 Elements and Material Models

Page 254: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

u

ys + Qu

ys

buQu

u(pu) = ys + Qu (1 exp [bup

u])

k =q

23u

pu

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 hardeningmodulus at the onset of plastic flow (↵ = 0). h3D = (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 =

p2/3

u

.

Notes: Set hu

= u

= 0 for no kinematic hardening. Set u

= 0, hu

> 0 to model simplebilinear kinematic hardening. In 1-D uniaxial loading (no isotropic hardening), thelimiting tensile stress is max

u

= ys

+ hu

/u

.

generalized plasticity option

Elastic and yield parameters (see later notes about temperature dependence):

• E, , ↵ (E, nu, alpha): Young’s modulus, Poisson’s ratio, thermal expansion coecient(or anisotropic expansion coecients).

• ys

(yld pt): tensile yield stress upon initial loading (k0 =p

2/3 ys

).

Hardening and limit surface parameters. Users input values for the 1-D, uniaxial specializationof the 3-D formulation:

• gp h u (1-D): Sets the terminal hardening rate of the generalized plasticity model undermonotonic uniaxial loading.

• gp tau: Sets the (temperature invariant) fraction of isotropic to kinematic hardening:

hiu

= hu

, (3.10.1)

hku

= (1 ) hu

. (3.10.2)

Chapter 3 (Updated: 8-20-2011) 3.10-5 Elements and Material Models

Page 255: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

Model Property Keyword Mode DefaultValue

Request nonlinear hardening option nonlinear hardeningYoung’s modulus e number 30,000Poisson’s ratio nu real 0.3Mass density rho number 0.0Thermal expansion (isotropic) alpha number 0.0Thermal expansion (an-isotropic) alphax, alphay, alp-

haz, alphaxy, alphaxz,alphayz

number 0.0

Tensile yield stress yld pt number 0.0Kinematic hardening parameter (1-D) h u number 0.0Kinematic hardening parameter (1-D) gamma u number 0.0Isotropic hardening modulus (1-D) q u number 0.0Isotropic hardening exponent (1-D) b u number 0.0Subincrementation tolerance sig tol number 0.001

Table 3.10.1 Properties for cyclic material model: nonlinear hardening option. (property names are notcase 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 =

p2/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 umay all be temperature dependent (see Section 2.2 for specification of values).

Notes: To degenerate the generalized plasticity model to the bilinear plasticity model setgp beta u = gp delta u = 0. For isotropic hardening only, set gp tau=1; for kinematic hardeningonly, 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, thematerial model prints: (1) the element number and strain point number whenever the e↵ectivestress first exceeds the specified yield stress, and (2) the number of subincrements requiredat each Gauss point undergoing plastic yielding. An excessive number of subincrements mayindicate that the global step size is too large. This option for detailed printing is requested withthe nonlinear solution parameter material messages on (refer to Section 2.10.8).

The model makes available the accumulated work density, U0, at each Gauss point to theelement routines for subsequent output. U0 at step n+1 is evaluated using the trapezoidal rule

Un+10 = Un

0 + 12

tn+1 + tn

: d (3.10.3)

Chapter 3 (Updated: 8-20-2011) 3.10-6 Elements and Material Models

Page 256: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

Model Property Keyword Mode DefaultValue

Request generalized plasticity option generalized plasticityYoung’s modulus e number 30,000Poisson’s ratio nu real 0.3Mass density rho number 0.0Thermal expansion (isotropic) alpha number 0.0Thermal expansion (anisotropic) alphax, alphay, alp-

haz, alphaxy, alphaxz,alphayz

number 0.0

Tensile yield stress (1-D) yld pt number 0.0Terminal hardening modulus (1-D) gp h u number 0.0Fraction of Hu for isotropic hardening gp tau number 0.0Limit function parameter (1-D) gp beta u number 0.0Limit function parameter (1-D) gp delta u number 0.0Subincrementation tolerance sig tol number 0.001

Table 3.10.2 Properties for cyclic material model: generalized plasticity option. (property names are notcase sensitive)

where the unrotated Cauchy stresses (t) and unrotated strain increments (d) are adopted forthe finite-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,

ep =Z

t

0

qp

ij

p

ij

dt (3.10.4)

• mat val2 : current radius of the yield surface, k,

nonlinear hardening option: k =q

23 [

ys

+ Qu

(1 exp [bu

p

u

])] (3.10.5)

generalized plasticity option: k =q

23 (

ys

+ Hiu

p

u

) (3.10.6)

• mat val3 : state flag, =1 if point is experiencing active plastic loading over the step, = 3otherwise.

For reference, the corresponding 1-D value of the accumulated plastic strain is given by

p

u

=Z

t

0|p

11|dt =q

23 ep , (3.10.7)

and the current Mises equivalent stress is

vm

=q

32 k . (3.10.8)

Chapter 3 (Updated: 8-20-2011) 3.10-7 Elements and Material Models

Page 257: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

ys

u

pu

u

u

Hku

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 ofplastic deformation (C) on reloading (from B) prior to attainment of the previous maximum stress (A).The limit asymptote is Hku = (1 )Hu, which can be set to zero to match the large-strain behaviorof 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 samematerial defined in an analysis model.

Consider an analysis model with 3 materials defined in the input named mat a, mat b andmat c. Each of these materials specifies cyclic as the computational material model. Di↵erentvalues for each of the cyclic properties (e.g., yld pt)may be defined in the materials mat a,mat b and mat c. The blocking requirement described here requires that all elements assignedto 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, thesemodels are relatively straightforward to calibrate. However, the material parameters may notremain generally applicable for loading paths that di↵er considerably from the data used for cal-ibration, e.g., significantly larger or smaller strain ranges than those applied during calibrationtests.

Chapter 3 (Updated: 8-20-2011) 3.10-8 Elements and Material Models

Page 258: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

nonlinear hardening option

This example defines 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 files).

structure cctc

material steel_w_mixed_hardeningproperties 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 defines a material with only nonlinear kinematic hardening.

material steel_w_kinematic_hardeningproperties 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 defines a material with only nonlinear isotropic hardening.

material isotropic_hardeningproperties 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 defines a material with nonlinear limit behavior and both linear kine-matic and linear isotropic hardening.

material mixed_hardeningproperties 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 defines a material with only nonlinear limit behavior and linear kine-matic hardening.

material kinematic_hardeningproperties 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 defines a material with only nonlinear limit behavior and linear isotropichardening.

material isotropic_hardeningproperties 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

Page 259: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

The following example defines a material with only nonlinear limit behavior (no hardening.)

material no_hardeningproperties 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 defines a material with temperature-dependent behavior using stress-strain curves at three isothermal temperatures (see also Section 2.2)

cstress-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

cstress-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

cstress-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

ccmaterial 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 alloyprovided a specific 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.56GPa, and gp tau=0.

3.10.6 Plasticity Algorithms - Overview

The material model employs a strain driven algorithm for stress updating, based on the currentincrement of strain, = i

n+1 n

, where n is the previously converged global state and iis the current global iteration for step n + 1. The material model uses a subincrementationprocedure to improve the accuracy of the stress update, the first step of which computes thefraction of the step, if any, that remains purely linear-elastic. This procedure passes a deviatoricstrain increment to the actual plasticity algorithm which then solves for the discrete consistencyparameter, 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 materialmodels and the discrete algorithms are discussed next, independent of the subincrementationprocedure.

Chapter 3 (Updated: 8-20-2011) 3.10-10 Elements and Material Models

Page 260: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

3.10.7 nonlinear hardening option

Yield function and flow 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, secondorder tensors. Defining the deviator tensors and tensor norms as

()0ij

= () ()kk

3ij

, k ( ) k=q

( )ij

( )ij

(3.10.9)

the yield surface is described by

f(,↵, ep) =k 0 ↵ k k(ep). (3.10.10)

The scalar variable ep denotes a measure the accumulated plastic strain, based on additivedecomposition 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

˙ep =k0p k ; ep =

Zt

0

˙ep dt . (3.10.12)

Applying an associative flow rule, the plastic strain rate is written as0p = n, k

0p k= , 0 , (3.10.13)

where defines the unknown consistency parameter and n is the unit normal for the yieldsurface,

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 = 2G0

0p

= 2G

0 n

. (3.10.15)

Strain Hardening

The nonlinear hardening option features both kinematic and isotropic hardening. The evolutionof 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 thenonlinearity; setting = 0 reproduces linear kinematic hardening of the bilinear model. Forisotopic hardening, the current radius of the yield surface is given by

k (ep) = k0 + Q (1 exp [bep]) . (3.10.17)

Setting Q = 0 eliminates isotropic hardening. Here, the material parameters have their val-ues/definitions 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

Page 261: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 thebackward Euler method to produce the following system of nonlinear algebraic equations:

0s+1 = 0

s

+ 2G0

s+1 ns+1

= trial

s+1 2Gns+1 (3.10.18)

↵s+1 = ↵

s

+ (Hns+1 ↵

s+1) (3.10.19)

0s+1 ↵

s+1

= kep

s+1

(3.10.20)

ep

s+1 = ep

s

+ (3.10.21)

where the subscript s denotes the previously converged state and s+1 is the current state, with0

s+1 = 0s+10

s

, the strain increment over the step from s to s+1. Note that s is used here todi↵erentiate this subincrement step from the global step number n, since the subincrementationprocess uses multiple sub-steps for a global step n ! n+1. These equations are condensed intoa single, nonlinear equation in terms of the discrete consistency parameter, ,

1 +

kep

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 Newton’s method (see next section) with the stress, backstress, andaccumulated plastic strain updated by

s+1 = trial

s+1

s+1 (3.10.24)

↵s+1 =

11 +

s

s+1

!(3.10.25)

where

=2G

kep +

,

=H

kep +

, 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

Page 262: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

Solution for the consistency parameter

The nonlinear residual equation, r() = 0, is solved using Newton’s method. The (i + 1)th

estimate of is computed as

i+1 = i +ri

/r0i

(3.10.28)

where the derivative, r0 () = dr/d, is given by

r0

= kep

s

+

+ 2G+

"dkep +

dep

+ 2G

#+ H

i

s+1 · trial

s+1i

s+1

(3.10.29)

The iterations begin with (1) = 0 and continue until convergence as measured by

ri+1

< ys

· tol

(3.10.30)

where toly

= 106. Although iterations most often converge quickly due to the quadraticconvergence inherent in Newton’s method, a large (global) strain step may cause Newton’smethod to fail. After 15 iterations without convergence, the solution procedure terminates, andthe model requests a reduction in global step size if the adaptive solution option is allowed,otherwise the program exits.

Newton’s method may occasionally converge to a negative value for , although a plasticstep requires > 0. Simo and Hughes [5] assert that for a convex yield surface, f (

trial

,↵n

, ep)> 0 guarantees the existence of > 0. Thus, if Newton’s method determines a < 0, the modelapplies interval bisection together with Newton’s method to find a positive value. The initialinterval has a lower bound of = 0. An upper bound,

f

, is sought such that r (0) r

f

< 0,

where r is defined in Eq. (3.10.22). The procedure examines up to 4 multiples of an initial guessfor

f

(the absolute value of the converged, negative root). If an acceptable upper bound is notfound, the model requests a global step size reduction if possible, otherwise the program ter-minates. Within a suitable interval, the procedure employs Newton’s 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 ofthe interval. If the procedure executes 10 interval bisection steps without finding a positiveroot, 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 sti↵ness matrices, is afourth order tensor that provides the change in stress with respect to change in strain,

C =d

n+1

dn+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

Page 263: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

CE

ijkl

= Kij

kl

+ 2G

12

(ik

jl

+ il

jk

) 13ij

kl

. (3.10.32)

Otherwise, if state n + 1 is plastic loading, the tangent operator is given by

CP

ijkl

= Kij

kl

+ a

ik

jl

13ij

kl

+ bn

ij

nkl

ctrial

ij

nkl

(3.10.33)

a =2G

1 + +

(3.10.34)

b =k

0 0

(3.10.35)

c =

(3.10.36)

=2G1 +

k0 + 2G + H + k + 4G n · trial

n+1

(3.10.37)

where k0 = dk/dep and n is computed as in Eq. (3.10.14).

The fourth term of the Eq. (3.10.33), ctrial n, is generally not symmetric. Thus, theimplemented tangent is taken a symmetric average

CP

ijkl

sym

=12CP

ijkl

+ CP

klij

(3.10.38)

Also, the model computes the tangent from data for the last stress update, i.e., the lastsubincrement of the total step. Thus the tangent is not fully consistent with the entire globalstep, = i

n+1n

. The subincrementation and symmetrization of the consistent tangent canlead to a lack of global quadratic convergence for general load paths. However, the convergenceis superlinear in general and becomes essentially quadratic for radial load paths and small stepsizes.

3.10.8 generalized plasticity option

Yield surface, limit function, and flow rule

Eqns. (3.10.9)-(3.10.15) from the nonlinear hardening option apply as well to the generalized -

plasticity option. The main di↵erences 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 defineadmissibility. Instead, a nonlinear limit function, F , describes admissible states where

F = h(f)hn : 0

i (3.10.39)

Chapter 3 (Updated: 8-20-2011) 3.10-14 Elements and Material Models

Page 264: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

h(f) =1

( f) + H(3.10.40)

=1

Hk

dHk

d↵ : n +

dk0

d+

dHi

dep

(3.10.41)

such that 0, F 0, and F = 0. The term reflects the yield surface variation withtemperature, . Note that f is the yield function as given in Eq. (3.10.10) and , , and H arematerial parameters. and are related to their 1-D (uniaxial) counterparts used for inputvalues and described previously via

=q

23

u

and = 23u . (3.10.42)

Also note that the total hardening modulus, H = Hk

+Hi

is also related to the 1-D modulithrough

Hk

= 23H

ku

; Hi

= 23H

iu

. (3.10.43)

The generalized plasticity model allows an admissible state to be outside the yield surfacesince the yield and limit surfaces are not coincident. Thus yielding can occur immediately on re-loading without first traversing a linear-elastic region. Nonlinear stress-plastic strain responseis 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 yieldsurface) by

↵ =H

k

Hk

↵ + Hk

0p (3.10.44)

The parameter Hk

is the kinematic hardening modulus, with units of stress. The isotropichardening modulus, H

i

, (units of stress) governs expansion of the yield surface as

k(ep) = k0 + Hi

ep . (3.10.45)

Discretization

The generalized plasticity implementation employs a predictor-corrector strategy for which thetrial state assumes all response is linear-elastic. If the actual state is linear-elastic, it must bewithin 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 fs

< 0 (3.10.46)

Chapter 3 (Updated: 8-20-2011) 3.10-15 Elements and Material Models

Page 265: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

where

f trial

s+1 =trial

s+1

ktrial

s+1 =trial

s+1 ↵trial

s+1

ktrial

s+1 , (3.10.47)

trial

s+1 =G

s+1

Gs

0s

+ 2Gs+1

0s+1 , (3.10.48)

↵trial

s+1 =H

k,s+1

Hk,s

↵s

, (3.10.49)

ktrial

s+1 = k0,s+1 + Hi,s+1e

p

s

. (3.10.50)

The subscript s denotes the previously converged state and s + 1 is current state, with0

s+1 = 0s+1 0

s

, the strain increment over the step from s to s + 1. Note that s is used hereto di↵erentiate this step from the global step number n, since the subincrementation processuses multiple sub-steps for each global step n ! n + 1. Applying the backward Euler methodto the continuum equations yields a single quadratic equation for the consistency parameter = t

:

a2 + b + c = 0 (3.10.51)

where

a = (2G + H) ( (2G + Hi

)) (3.10.52)

b = ( + H) ( (2G + Hi

)) f trial

s+1 + (2G + H)f trial

s+1 fs

(3.10.53)

c = f trial

s+1

f trial

s+1 fs

. (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

reflectsthe change in the isotropic hardening coecient from s to s + 1.

The stress and internal variables are then updated with

0s+1 = trial

s+1 2Gs+1n (3.10.55)

↵s+1 = ↵trial

s+1 + Hk,s+1n (3.10.56)

ep

s+1 = ep

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

Page 266: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

Consistent tangent

The consistent tangent operator, required for calculating the element sti↵ness matrices, is afourth order tensor that provides the change in stress with respect to change in strain,

C =d

n+1

dn+1

. (3.10.58)

If state n + 1 is elastic, C is given by

CE

ijkl

= Kn+1ij

kl

+ 2Gn+1

12

(ik

jl

+ il

jk

) 13ij

kl

. (3.10.59)

Otherwise, if state n + 1 is plastic loading, the tangent operator is given by

CP

ijkl

= Kn+1ij

kl

+ a

ik

jl

13ij

kl

+ bn

ij

nkl

(3.10.60)

where

a = 2Gn+1

1 2G

n+1n+1

+ (2Gn+1 + H

k,n+1)

!(3.10.61)

b = 2Gn+1

2G

n+1n+1

+ (2Gn+1 + H

k,n+1)A

!(3.10.62)

A =2G

n+1B1

(2Gn+1 + H

n+1) B1 + B2, (3.10.63)

B1 = 2fn+1 f

n

+ (Hn+1 +

n+1 Hi

) , (3.10.64)

B2 = (n+1 + H

n+1) n+1 (H

n+1 + n+1 H

i

) fn+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 first computes the elastic fraction of the global strain incre-ment, = i

n+1 n

. The fraction 0 1 is found such that

0n

+ 2G0 ↵n

k (ep

n

) = 0 (3.10.66)

and the state 0n

+ 2G0n+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

Page 267: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

= a/b ±q

(a/b)2 + (c/b) (3.10.67)

where

a = (n

↵n

) · 2G0n+1, (3.10.68)

b = 2G0n+1 · 2G0

n+1, (3.10.69)

c = k(ep

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 = 2a

b

if a < 0 . (3.10.72)

The requirement that < 1 is automatically satisfied, since this procedure is used only ifthe full strain increment causes the trial stress to lie outside the current yield surface and thusthe 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 leastone positive solution.

For the generalized plasticity model, Eqn. (3.10.66) has a nonlinear form due to temperature-dependent material properties. Ridder’s method provides a satisfactory method to solve for inthe generalized plasticity model. This method converges rapidly to the solution of Eqn. (3.10.66)that incorporates mechanical and thermal loading e↵ects on the yield surface.

If the elastic fraction is non-zero, the first subincrement is e↵ectively a step from n

ton

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

0(1)n+1 = 0

n

+ 2G0n+1 and the backstress is ↵(1)

n+1 = ↵n

, where the superscript refers to thesubincrement 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 theplastic fraction of the step. The premise of subincrementation strategies lies in dividing thetotal strain increment into several small steps and computing the stress state sequentially foreach increment produces a more accurate answer than a single step procedure but does so moreeciently than a global step size reduction.

The method employed here uses estimates of truncation error to compute the number ofsubincrements required to satisfy a user supplied tolerance on the stress accuracy. First, thestress 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

Page 268: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

of h and h/2, respectively. Since the numerical integration of the rate equations is first orderaccurate, the error can be estimated from the two solutions. The error is computed as

E

= maxi,j=1,3

(2)

ij

(1)ij

. (3.10.73)

If the error is greater than the tolerance, the number of subincrements needed to satisfythe tolerance, s, is estimated as

s = ceil

1.12E

tol

(3.10.74)

where tol

= y

sig tol (sig tol is the user specified tolerance) and the 1.1 factor insures thetolerance is satisfied. The balance, 2E

/tol

, artises from an estimate of the step size, h, suchthat E (h) = tol

.

Since at least 2 solutions are generated via this procedure (1-step, 2-step, and possiblys-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 thesolution (e.g., x = 0

11 or x = ↵23) and na

and nb

be two di↵erent numbers of subincrementsfor which the solution already exists such that n

a

> nb

. Then the extrapolated solution is

xa,b

= axa

bxb

(3.10.75)

where

a =n

a

na

nb

, (3.10.76)

and

b =n

b

na

nb

. (3.10.77)

For example, extrapolating 1-step and 2-step solutions produces

x2,1 =2

2 1x2

12 1

x1 = 2x2 x1 . (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 influence of allthe subincrements on the solution or extrapolation so it is not completely consistent with thealgorithm. 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

Page 269: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 identification of material propertiesfrom a uniaxial test (tension and/or compression). Define the stress tensor and the deviator ofthe stress tensor

=

0

@11 12 13

21 22 23

31 32 33

1

A , (3.10.79)

and

m

=11 + 22 + 33

3. (3.10.80)

The deviator of the stress tensor is then

0 =

0

@11

m

12 13

21 22 m

23

31 32 33 m

1

A . (3.10.81)

For 1-D loading: 11 6= 0 and all other components are zero,

0u

=

0

@11 11

3 0 00 11

3 00 0 11

3

1

A . (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=q

0ij

0ij

. (3.10.84)

Then for 1-D, we have

k 0u

k=q

23 |11| , (3.10.85)

and k becomes identified as

k =q

23 |11| . (3.10.86)

Chapter 3 (Updated: 8-20-2011) 3.10-20 Elements and Material Models

Page 270: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

In terms of the uniaxial tensile yield stress, ys

, k0 at the onset of yielding becomes k0 =p2/3

ys

. For simple shear loading, all stress components but = |12| = |21| are zero with

k 0u

k=p

2 |12| =p

2 , (3.10.87)

with k0 then also becoming identified as

k0 =p

2 ys

. (3.10.88)

Equating both definitions of k0, we have

p2

ys

=q

23

ys

, (3.10.89)

ys

=

ysp3

. (3.10.90)

The Mises yield criterion of Eq. (3.10.83) may be written in a variety of other forms byincluding 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

1p2k 0 k

ys

= 0 , (3.10.91)

where the first term is identified now with second invariant of the deviator stress tensor, J2,giving

pJ2

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 q

23

ys

= 0 . (3.10.93)

Now multiply through byp

3/2 to define

q32 k 0 k

ys

= 0 , (3.10.94)

where again J2 can be introduced to write the yield function in another quite common form

p3J2

ys

= 0 . (3.10.95)

Chapter 3 (Updated: 8-20-2011) 3.10-21 Elements and Material Models

Page 271: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 =

0

@p

11 p

12 p

13p

12 p

22 p

23p

13 p

23 p

33

1

A , (3.10.98)

where the trace (p) = p

11 + p

22 + p

33 0 to reflect the incompressibility of plastic strains. Thenorm of plastic strains is given by

k p k=q

p

ij

p

ij

. (3.10.99)

The corresponding rate definition is denoted

˙ep =k p k , (3.10.100)

where k p k and ˙ep may have increasing/decreasing (instantaneous) values 0 over the loadinghistory. Here ˙ep is a measure of the instantaneous rate 0 of plastic strain accumulation, withthe total plastic strain accumulation over the loading history given by

ep =Z

t

0

˙ep 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

=

0

@p

11 0 00 0.5p

11 00 0 0.5p

11

1

A , (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=q

32 |p

11| . (3.10.103)

Chapter 3 (Updated: 8-20-2011) 3.10-22 Elements and Material Models

Page 272: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

Similarly, the 1-D rate form for the accumulation rate of plastic strain and the accumulatedplastic strain become

˙ep

u

=k p

u

k=q

32 |p

11| , (3.10.104)

and

ep

u

=Z

t

0

˙ep

u

dt =q

32 p

u

where p

u

=Z

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 temperatureinvariant material properties) are summarized below.

f =k 0 ↵ k k(ep) (3.10.106)

k(ep) = k0 + Hi

ep (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/d0

k df/d0 k =0 ↵

k 0 ↵ k ; k n k 1 (3.10.111)

p = n (3.10.112)

↵ = Hk

n = Hk

p (3.10.113)

H = Hi

+ Hk

(3.10.114)

where the norm of p, the norm of its rate, ˙ep, and the accumulated (monotonically increasing)plastic strain measure, ep, are defined as in Eqs. (3.10.99), (3.10.100), and (3.10.101); k0 is theradius of the Mises yield cylinder at the onset of plastic flow; H

i

and Hk

provide constantrates of isotropic and kinematic hardening with increasing plastic flow; and are constantmaterial parameters. All values above are cast in terms of the 3-D formulation (uniaxial formsare introduced later in this section).

Chapter 3 (Updated: 8-20-2011) 3.10-23 Elements and Material Models

Page 273: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

To identify the hardening parameter Hi

, Eq. (3.10.107) is specialized to the 1-D case usingEq. (3.10.86) and Eq. (3.10.105)

k(ep

u

) = k0 + Hi

ep

u

, (3.10.115)

which can be written in the form (using Eqs. (3.10.86), (3.10.105))

k(p

u

) =q

23

ys

+ Hi

q32 p

u

(3.10.116)

Now introduce the uniaxial version of the isotropic (constant) hardening parameter as Hiu

(3/2)H

i

, then the isotropic hardening function further reduces to

k (p

u

) =q

23 (

ys

+ Hiu

p

u

) , (3.10.117)

where the 1-D form Hiu

is input by the user to define model properties.

Following Eq. (3.10.82), define a direction tensor m which relates the uniaxial stress-basedvariables to their 3-D tensorial counterparts;

m =13

0

@2 0 00 1 00 0 1

1

A . (3.10.118)

The 1-D form of the deviator stress tensor can be written

0u

= 11m , (3.10.119)

where the sense of the deviator takes the sign of 11. Here, Tr(0u) 0 and ||0

u

|| =p

2/3 |11|Similarly, the 1-D form of the backstress may be written most conveniently as

↵u

= ↵11m . (3.10.120)

where the Tr(m) 0 and ||↵u

|| =p

2/3 |↵11|. The direct correspondence between 11 and ↵11

simplifies subsequent interpretation of (uniaxial) material properties.

Continuing, the 1-D form of the plastic strain tensor can be written

p

u

= 32p

11m , (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 definitions, the yield function in Equation (3.10.106) becomes

f = |11 ↵11| k m k k(p

u

) =q

23 [|11 ↵11| (

ys

+ Hiu

p

u

)] , (3.10.122)

in which all the components have direct one-dimensional significance.

Chapter 3 (Updated: 8-20-2011) 3.10-24 Elements and Material Models

Page 274: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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

↵11m = 32H

k

p

11m , (3.10.123)

which further simplifies to

↵11 = Hku

p

11 , (3.10.124)

since m is a constant tensor and with the introduction of Hku

(3/2)Hk

, the uniaxial version ofthe kinematic hardening parameter, as done previously for the isotropic hardening parameter inEq. (3.10.117). The quantity H

ku

is input by the user to define the uniaxial equivalent kinematichardening rate.

The last step is to solve for 11 in terms of p

11. Using Eq. (3.10.111) and the definitionsabove for the 1-D forms of 0 and ↵, we can write

nu

=0

u

↵u

k 0u

↵u

k =11m ↵11m

k 11m ↵11m k =q

32 sgn (11 ↵11) m . (3.10.125)

Equation (3.10.112) becomes (using Eq. (3.10.121))

32 p

11m = q

32 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 aboveequation must be equal. Rearranging the scalar equality yields

=q

32 p

11sgn (11 ↵11) . (3.10.127)

Also, using the rate form of Eq. (3.10.119) and the above form for nu

, we have

nu

: 0u

=q

23 sgn(11 ↵11) 11. (3.10.128)

Substituting the preceding equations into the limit surface, Eq. (3.10.109), generates therelationship between the uniaxial stress and uniaxial strain:

h(f)11 = 32 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

= Hk

= 0, which makes ↵ 0 Then from Eqs. (3.10.110), (3.10.122) with↵11 = H

iu

= 0,

h(f) =f

( f)=

q23 (11

ys

)

h

q23 11

ys

i , (3.10.130)

Chapter 3 (Updated: 8-20-2011) 3.10-25 Elements and Material Models

Page 275: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

which simplifies to

h(f) =11

ys

hq

32 (11

ys

)i , (3.10.131)

where 11 ys

is assumed for simplicity here to determine the remaining material constants and .

The separable di↵erential equation

32 p

11 =11

ys

hq

32 (11

ys

)i 11 (3.10.132)

is integrated to compute

p

11 =1

(3/2)

2

411 ys

+q

32 ln

11 ys q

32

q32

3

5 . (3.10.133)

Thus, we can identify the 1-D equivalent definitions for and as u

p

3/2 and u

(3/2)such that

p

11 =1u

11

ys

+ u

ln11 ys u

u

, 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: Hiu

, Hku

, u

, u

.

Entity 3-D algorithm 1-D specialization

accumulated plastic strain ep =R

t

0˙epdt ep

u

q

32 p

u

; p

u

=R

t

0 |p

11|dt

hardening parameter H Hu

(3/2)H

limit function extent parameter u

q

32

limit function rate parameter u

(3/2)

current yield stress k(ep) = k0 + Hi

ep k (p

u

) =q

23 (

ys

+ Hiu

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(ep) , (3.10.135)

k(ep) = k0 + Q [1 exp (bep)] , (3.10.136)

Chapter 3 (Updated: 8-20-2011) 3.10-26 Elements and Material Models

Page 276: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

n =df/d0

k df/d0 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, ˙ep, and the accumulated (monotonically increasing)plastic strain measure, ep, are defined as in Eqs. (3.10.99), (3.10.100), and (3.10.101); k0 isthe radius of the Mises yield cylinder at the onset of plastic flow; H provides a constant rateof kinematic hardening with increasing plastic flow; and provides the nonlinearity in thekinematic hardening rate. Q and b introduce an isotropic hardening response that saturates toa constant yield cylinder radius, k0 + Q, at large values of the accumulated plastic strain. Allvalues above are cast in terms of the 3-D formulation (uniaxial forms are introduced later inthis section).

To identify the isotropic hardening parameters Q and b, Eq. (3.10.136) is specialized to the1-D case using Eq. (3.10.86) and Eq. (3.10.105)

k(ep

u

) = k0 + Q [1 exp (bep

u

)] , (3.10.140)

which can be written in the form (using Eqs. (3.10.86), (3.10.105))

k(p

u

) =q

23

ys

+q

23 Q

u

1 exp

q

32 bp

u

, (3.10.141)

where uniaxial definitions of the isotropic hardening parameters are introduced such that Q =p2/3 Q

u

and in the following bu

=p

3/2 b. Here, ys

and Qu

denote the yield stress andsaturation flow stress, respectively, in uniaxial tension. The dimensionless term b

u

sets the rateat which the saturation flow stress is attained with increasing (uniaxial) plastic strain. The 1-Dform of the isotropic hardening function thus simplifies to

k (p

u

) =q

23 (

ys

+ Qu

[1 exp (bu

p

u

)]) , (3.10.142)

where the 1-D forms ys

, Qu

and bu

are input by the user to define model properties.

To determine the 1-D form of the kinematic hardening parameters H and , write the rateof backstress, Eq. (3.10.139), in the 1-D form

↵u

= (Hnu

↵u

) . (3.10.143)

Now use the 1-D specializations for ↵u

, nu

, and ↵u

from Eqs. (3.10.120), (3.10.125), and(3.10.118) to write

↵11m =

q32Hsgn (11 ↵11) m ↵11m

. (3.10.144)

Chapter 3 (Updated: 8-20-2011) 3.10-27 Elements and Material Models

Page 277: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

Equating terms applied to the constant tensor, m, leads to the simplified form

↵11 =

q32Hsgn (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 =q

32 p

11sgn (11 ↵11)q

32Hsgn (11 ↵11) ↵11

, (3.10.146)

which can be re-arranged to the form

↵11 =h

32H

q32 ↵11sgn (11 ↵11)

ip

11 . (3.10.147)

The 1-D forms for H and are seen to be Hu

= (3/2)H and u

=p

3/2 . Recall alsothat p

11 can be positive or negative. Let = ±1 set the sign of p

11 based on the direction ofloading (tension/compression). We also see that sgn (11 ↵11) carries the same sign as theplastic strain rate, e.g. in compression yielding both sgn (11 ↵11) and p

11 are negative. Forsimplicity, drop the 11 subscripts and simplify

↵ = H|p| ↵|p| . (3.10.148)

The nonlinear kinematic hardening model with > 0 defines a limit surface by boundingthe backstress magnitude at large plastic strains. The above equation can be re-arranged intoa separable form such that Z

p

p0

dp =Z

↵0

d↵

Hu

u

↵. (3.10.149)

Integrating both sides yields

(p p

0) = 1

u

ln [Hu

↵u

] |↵↵0

. (3.10.150)

Re-arrange, take the exponential of both sides, and solve for ↵ to find

↵ = H

u

u

+

↵0 H

u

u

exp [

u

(p p

0)] , (3.10.151)

where at large plastic strains we have (see also Ref. [3])

↵ = ↵limit

11 = ±1H

u

u

. (3.10.152)

In this limit expression, both Hu

and u

refer to their definitions in the 1D formulation. Usethis limiting expression for ↵11 in the 1-D form of the yield function, Eq. (3.10.122), eliminateisotropic hardening for simplicity and re-arrange to find

Chapter 3 (Updated: 8-20-2011) 3.10-28 Elements and Material Models

Page 278: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: cyclic

klimit = k0 +H

. (3.10.153)

In uniaxial terms,

limit

u

= ys

+q

32

H

, (3.10.154)

and using the uniaxial definitions 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: Qu

, bu

, Hu

, and u

.

Entity 3-D algorithm 1-D specialization

accumulated plastic strain ep =R

t

0˙epdt ep

u

q

32 p

u

; p

u

=R

t

0 |p

11|dt

isotropic parameter Q Qu

p

3/2 Qisotropic parameter b b

u

p

3/2 bkinematic parameter H H

u

(3/2)Hkinematic parameter

u

p

3/2 current yield stress (k,

u

) k0 + Q [1 exp (bep)] ys

+ Qu

[1 exp (bu

p

u

)]

3.10.11 References

[1] P. J. Armstrong and C. O. Frederick. A mathematical representation of the multi-axial Baushingere↵ect. 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 numericalimplementation. 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

Page 279: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 supportingroutines are placed in the file 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. AppendixJ describes the umat interface and the mechanism to incorporate the routine(s) as part of theWARP3D executable.

This section provides information needed by the user of the umat to associate elementswith the material and its user-definable properties.

The following example illustrates the process

structure cctc

material inco718properties 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-04material hastelloyproperties 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_hardeningproperties 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 defined for subsequent use to set the constitutive propertiesof finite elements. The first two materials specify the umat routine with di↵erent numericalvalues for the six (6) umat properties. The third material specifies the built-in cyclic materialmodel included in WARP3D.

umats may have up to fifty (50) user-definable property values. They have names illustratedabove in the form um 1, um 2, . . . um 50. Properties are all stored as float-point values, i.e.,um 3 -4 is stored as -4.0. The physical ordering of property values in the input data lines isimmaterial since each value is prefaced by the name. WARP3D stores the property values insequential, ascending order and provides them on each call to the umat routine. WARP3D isunaware of the number of property values needed by the umat or acceptable ranges of values.The umat code is responsible for such verification.

3.11.1 Mass

WARP3D handles computation of the element mass matrix and thus requires the mass densityvalue (rho) as with the built-in material models.

The mass density is constant over the element with the value set in the material definitionas in the example above for inco718.

Chapter 3 (Updated: 7-26-2012) 3.11-1 Elements and Material Models

Page 280: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: UMAT

3.11.2 Temperature E↵ects

Two options exist for umat developers: (1) the umat routine handles all processing of tem-perature e↵ects with the user specifying any required properties through um 1, um 2, . . . ; (2)the user specifies thermal expansion coecients through the usual property values of other(built-in) material models (alpha or alphax, alphay, alphaz, ... alphayz) and WARP3D handlestemperature e↵ects outside the umat code.

Option (1) o↵ers the umat developer an opportunity to make the temperature modelingas complex as necessary, e.g., temperature dependent values of thermal expansion, values thatvary with time or spatial location of the material points, values read by the umat from aseparate data file, etc.

Option (2) o↵ers simplicity for umat developers when the thermal expansion coecientsare invariant of temperature. The user assigns expansion coecients as part of the materialdefinition – just include them before or after all the um .. values. WARP3D input translatorsset all thermal expansion values to zero by default and stores those (zero) values unless theuser specifies non-zero values.

3.11.3 Model Output

During computations, the umat code may print information to the current output device. Theinformation, if any, printed during computations is determined by the umat developer. Thetype and amount of such printed information may be controlled by a umat material propertyas implemented by the developer.

WARP3D outputs the six (6) stress and strain values produced by the umat code. For thegeometrically nonlinear analysis, the strain values have the logarithmic definition; stress valueshave the Cauchy definition.

The umat code computes and returns to WARP3D the updated work density, U0, at eachmaterial point. This value is output by WARP3D with the label “eng dens” following the sixstress components. WARP3D also computes and outputs the mises equivalent stress value fromthe stress components with the label “mises”

mises =p

22

q(11 22)2 + (11 33)2 + (22 33)2 + 6(2

12 + 213 + 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 defined by

"eff =p

23

q("11 "22)2 + ("11 "33)2 + ("22 "33)2 + 1.5(2

12 + 213 + 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 outputlabels are “c1”, “c2” and “c3”.

Chapter 3 (Updated: 7-26-2012) 3.11-2 Elements and Material Models

Page 281: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 samematerial defined in an analysis model.

Consider an analysis model with 3 materials defined in the input named mat a, mat b andmat c. Each of these materials specifies umat as the computational material model. Di↵erentvalues for each of the umat properties (e.g., um 1, um 2, . . . ) may be defined in the materialsmat a, mat b and mat c. The blocking requirement described here requires that all elementsassigned 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

Page 282: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

3.12 Material Model Type: cp

Crystal plasticity (CP) models simulate micro-scale deformation of metal alloys. CP modelsaverage the inherently discrete processes that drive metal plasticity (dislocation transport) intoa continuum theory of deformation, suitable for finite element simulations. The CP model bestrepresents deformation on the scale of several grains (polycrystal deformation), though it mayalso realistically represent large single crystals.

Crystal plasticity models differ from typical continuum material models employed in finiteelement analyses in that two distinct types of parameters define the material properties. Thefirst type includes the usual values for elastic constants, flow properties, thermal expansioncoefficients, etc. The second type include a set of Euler angles and the initial orientation ofthe atomic (crystal) lattice relative to some reference configuration. In most situations, a finiteelement model will adopt one set of material parameters but many different crystal orientations.In contrast for an alloy with multiple phases, materials may be defined with combinations ofmultiple sets of crystal parameters and lattice orientations.

Depending on the intended length-scale of the finite element simulation, each element mayhave: (1) a single crystal orientation and a single set of material properties or (2) many crystalorientations (polycrystal homogenization). Both options are available in WARP3D. To facilitateinput, the CP material model separates the definitions of crystal (elastic and flow) properties,orientations, possible combinations of crystal properties, orientations, and other miscellaneousphysical properties such as mass density and thermal expansion coefficient.

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, CPmodels must distinguish elastic and plastic rotations, which makes them unsuitable for hypoe-lastic formulations. We present the model as hyperelastic; WARP3D handles the additionalcalculations and rotations required to bring the true Cauchy stresses the CP model calculatesinto the hypoelastic unrotated frame (similar to how WARP3D handles hyperelastic UMATs,see Section 3.11).

The CP model takes as input the deformation gradient Fn+1 and the temperature Tn+1 andreturns the updated Cauchy stress σn+1 – while maintaining a set of internal history variables.The stress update is based on the kinematic assumptions:

F = FeFp (3.12.1)

Fe = (I + ε) Re ε I (3.12.2)

Lp =

n∑i=1

γ(s)(b(s) ⊗ n(s)

)(3.12.3)

Chapter 3 (Updated: 4-22-2013) 3.12-1 Elements and Material Models

Page 283: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

where Lp = FpFp−1, b(s) is the slip direction vector of system s, n(s) is the slip plane normalvector of system s and γ(s) is given by:

γ(s) =γ0τ

∣∣∣∣∣τ (s)τ∣∣∣∣∣n−1

τ (s) (3.12.4)

with τ (s) the resolved shear on system s (τ (s) =[Rem

(s)s (Re)

T]

: τ , with τ the Kirchhoff stress

and m(s)s =

(b(s)s ⊗ n

(s)s

)sym

), γ0 some reference strain rate, taken to be γ0 =√

23D : D, with D

the symmetric part of the spatial velocity gradient, and τ some slip system strength, defined inthe section on work-hardening below. Equation 3.12.1 is common to nearly all current theoriesof plastic deformation. Plastic deformation of metals generally results in small elastic stretch(but possibly large elastic rotation), which justifies Eq. 3.12.2. The decomposition of polyslipinto a series of simple shear deformations justifies Eq. 3.12.3. Equation 3.12.4 derives fromempirical observation of material response..

We assume Re (the elastic rotation): (1) varies slowly in time, (2) remains fixed over a time(load) step and (3) updates with an explicit integration. We integrate a stress-rate equationimplicitly to find the Kirchhoff stress τn+1. Following a lengthy derivation, the result becomesa nonlinear system of equations to compute the updated stress at n+ 1:

τn+1 = τn + ∆tC∗n

(Dn+1 − Dp

n+1 + S∗nτn+1W

pn+1 − Wp

n+1S∗nτn+1

)(3.12.5)

Dpn+1 =

N∑s=1

γ(s)n+1

[Renm

(s)s (Re

n)T]

Wpn+1 = Re

n (Ren)T +

N∑s=1

γ(s)n+1

[Renq

(s)s (Re

n)T]

with q(s)s =

(b(s)s ⊗ n

(s)s

)anti

. The Cauchy stress is then simply σn+1 = τn+1/Jn+1with Jn+1 =

det Fn+1. The material model routines solve this equations with Newton’s method. After asuccessful stress update, the CP model updates the elastic rotation with the explicit, Eulerexponential integration:

R∗n+1 = exp

[Wn+1 −

N∑s=1

γ(s)n+1

[Renq

(s)s (Re

n)T]− (3.12.6)

(εn+1D

pn+1 − Dp

n+1εn+1

)− 1

2(εn+1εn+1 − εn+1εn+1)

]∆t

Ren

This description of the model here necessarily omits many details of the derivation (seeAppendix 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

Page 284: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

Sta

ge I

Sta

ge II

Sta

ge III

Sta

ge IV

Figure 3.12.1: Stages of work hardening. Most metal alloys do not exhibit Stage I behavior.

The flow rule of Eq. 3.12.3 is non-associative which leads to a non-symmetric consistent tangentmatrix. WARP3D and its solvers currently process only symmetric systems of equations. TheCP model computes an approximate, symmetrized tangent. Since this is only an approximatetangent, the global Newton iterations may not achieve true quadratic convergence. Users shouldexpect the potential of additional Newton iterations per load step, and generally must specifysmaller increments of load per step to achieve good convergence rates.

Work Hardening

We have not yet defined the slip system strength τ . This value represents both the initialstrength of the system from inherent obstacles to dislocation motion (the yield stress), and theincrease in strength due to forest dislocation hardening (work hardening). The total strengthis 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 (τ) mightdepend 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 StageI behavior characteristic of Luders bands is not considered here with efforts focused on StagesII, 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 defines theStage III transition. For the moment, let the final, Stage IV slope be zero. Then the Voce Lawbecomes:

dt=∑

θ0

1− τ

τv (T, ε)

∣∣∣γ(s)∣∣∣ (3.12.8)

Chapter 3 (Updated: 4-22-2013) 3.12-3 Elements and Material Models

Page 285: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

Sta

ge II

Sta

ge III

Sta

ge IV

Figure 3.12.2: Simplified Voce Law evolution of work-hardening slope. Here Stage II is theinstantaneous starting slope θ0 and the final 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 theinitial Stage II hardening slope. Determining the slip system strength then reduces to choosingfunctional 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 MTSis the value τy or τv would have with no thermal or rate activation energy, that is τ (0, 0).Define this value to be τ (the MTS). Kocks, Argon, and Ashby proposed an Arrhenius-typescaling law to bring this MTS to a given combination of rate and temperature:

τ = τ

1−

(kT

µ (T ) b3g(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

Burger’s 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 thisconcept to the work hardening model (Eqs. 3.12.7 and 3.12.8) we have:

τy (T, ε) = τy

1−

(kT

µ (T ) b3g0,ylnε(i)0,y

γ0

) 1

qy

1

py

(3.12.10)

Chapter 3 (Updated: 4-22-2013) 3.12-4 Elements and Material Models

Page 286: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

Sta

ge II

Sta

ge III

Sta

ge IV

Figure 3.12.3: Voce law modified for empirical Stage IV hardening. θf and τt are new parame-ters.

τv (T, ε) = τv

1−

(kT

µ (T ) b3g0,vlnε(i)0,v

γ0

) 1

qv

1

pv

(3.12.11)

In these equations the τ , g0, ε0, q, and p terms are parameters, b and k are physical constants,and we adopt the form:

µ (T ) = µ0 −D0

exp (T0/T )− 1(3.12.12)

for the temperature-dependent shear modulus, where µ0, D0, and T0 are all parameters. TheCP model in WARP3D implements this hardening formulation with an implicit integration ofEq. 3.12.7. This introduces an additional equation into the local (material) nonlinear system ofEq. 3.12.5, which in turn expands its linearization in Newton’s method by one row and column.

Stage IV Hardening

The CP model provides two approaches to Stage IV hardening. The first adopts a constant,terminal Stage IV hardening slope, much like the model specifies the Stage II slope in Eq.3.12.8. In addition, to avoid a sharp transition in slope between Stage III and Stage IV, wesmooth the transition with a cubic spline (see Fig. 3.12.3). This requires some modification toEq. 3.12.8 and introduces the parameters θf (the terminal Stage IV slope) and τt (the widthof the transition region). This simple model is integrated implicitly.

A second approach includes the effect 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

Page 287: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

see [3]). Researchers argue these necessary dislocations are distinct from the statically storeddislocations associated with forest hardening, and therefore contribute to a different hardeningmechanism. Acharya et al. associate these geometric dislocations with Stage IV hardening [4].Omitting some derivation and theory (see references for details), the Nye’s tensor of geometri-cally necessary dislocations is:

α = −∇× Fe−1

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:

dt=∑

θ0

1− τ

τv+τ(s)λ

τ

∣∣∣γ(s)∣∣∣ (3.12.13)

τ(s)λ =

k0k1ηµλ(s) (3.12.14)

In Eq. 3.12.14 k1 = 2θ0/ (ηµ (T ) b), η = 1/3, and k0 is a parameter (reasonable values are onthe order of 1). Calculating the curl of the elastic deformation through an implicit integration

is very difficult; 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 finiteelements. Such models enforce compatibility of deformation via shared nodal displacements anddisplacement compatible element formulations. Stress equilibrium is enforced weakly throughthe Galerkin weak form.

In other computational models, techniques are employed that group many crystals into asingle polycrystal – often at an integration point in a finite element model. These are termedpolycrystal homogenization methods; they represent a natural approach to create reduced,multi-scale models. With an appropriate homogenization technique, single finite elements onthe scale of centimeters can represent an aggregated microstructure of grains with a length-scaleon the order of microns.

The CP model in WARP3D provides Taylor-homogenized (constant-deformation/strain )polycrystals, where each finite element represents multiple crystals. With the Taylor approx-imation, the strain (rate of strain) in each grain remains fixed at the global value, and theresulting (not necessarily equilibrium) stresses are averaged.

Chapter 3 (Updated: 4-22-2013) 3.12-6 Elements and Material Models

Page 288: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

3.12.2 Crystal Definition

A crystal defines a set of elastic, flow, and hardening properties. Commonly, each phase in thematerial will be a different crystal. Crystals are defined in the analysis input file and assigned anumber by the user. Crystal numbers must start at 1 and increase sequentially. The followingshows an example crystal definition:

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 definitions. Note that elasticproperties of the material are temperature invariant at this time, while the plastic propertiesvary with temperature. Since the shear modulus of the material is both a plastic materialproperty and an elastic property, it must be defined twice for cubic, elastic anisotropy.

The keywords mu_0, D_0, and t_0 set properties in Eq. 3.12.12 above to define 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 usingthe keyword mu. This second value is only for the purpose of defining the constant elasticitytensor.

If the shear modulus in the hardening equations and in the elasticity tensor both should beconstant, set mu_0 to the constant value and set D_0 = 0.

The definition of the remaining properties should be clear with reference to the notedequations and the previous section on the model formulation. The model implementation is notrestricted to FCC, BCC, and HCP systems. Research users of WARP3D can add additionalslip system types by altering the source file mod crystals.f. Similarly, users could add additionalconstant elasticity tensors by altering the same file.

3.12.3 Material Definition

A complete material definition to set properties of finite elements in WARP3D for the CPmodel requires: (1) at least one crystal, (2) crystal orientation, and (3) some miscellaneousproperties. Users can provide crystals (see 3.12.2) and orientation Euler angles through twomechanisms – either directly in the definition of the material in the analysis input file or usinga separate (flat) text file.

These parameters can be specified using combinations of both mechanisms as proves mostconventient: (1) direct specification of the crystal number, with a file for the angle specifications,

Chapter 3 (Updated: 4-22-2013) 3.12-7 Elements and Material Models

Page 289: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

Property Keyword Options/type

Slip system type slip type fcc, bcc, hcp

Elastic type elastic type isotropic, cubic

Young’s modulus e real

Poisson’s ratio nu real

Shear modulus (elastic) mu real

µ0 (Eq. 3.12.12) mu 0 real

T0 (Eq. 3.12.12) T 0 real

D0 (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

g0,y g 0 y real

qy q y real

py 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 specification of both the crystal number and the Euler angles, or(4) a separate file for both.

The main drawback to direct specification of one set of parameters in the material definitionis that only a single crystal or orientation can be entered – using this option for both the crystalnumber and orientation precludes the definition of a homogenized polycrystal. In addition, in amodel with many grains (regions of different orientations) assigning each grain its own materialmodel will quickly become cumbersome. Defining orientations (and/or crystal types) througha separate file avoids both difficulties and is the recommended approach.

The keyword crystal_input determines how the material specifies the crystal numbers. If

Property Keyword Options/type

τv tau hat v real

g0,v g 0 v real

qv q v real

pv 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

Page 290: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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

k0 (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 filename of a flat ASCII file with format described in the next paragraph.

The keyword angle_input similarly defines how the orientation(s) for the material modelare input. If angle_input is followed by single then the command angles <float> <float>

<float> must subsequently appear in the material definition, where the three floats are theEuler angles defining the material’s crystallographic orientation. If angle_input is followed byfile then filename <string> must be a flat file, with format defined below. Currently, Eulerangles must use the symmetric Kocks convention. The model uses this convention internally.

The file referenced by the filename command should be a (flat) ASCII file with one or morerecords for each finite element using the material, one record per line, with records generatedusing the format:

< int > < int > < float > < float > < float >

The first integer is the finite element number. The second integer is the crystal number for thiselement. This part of the record is present only if the crystal_input file specification wasused. The next three floating point numbers are the Euler angles for this element. This part ofthe 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 assumesthe 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. eachelement number must appear n_crystals times) and (2) elements must appear in sequential,numerical order (all crystals in the first element using the material, then all crystals in thesecond element, and so on in numerical order).

Table 3.5 describes the remaining material options. The tolerance parameter refers tothe 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 currentlyoutputs a single material model state variable into mat val1, the Mises equivalent plastic strain,from the integral:

εp =

∫ √2

3Dp : Dp dt (3.12.15)

Chapter 3 (Updated: 4-22-2013) 3.12-9 Elements and Material Models

Page 291: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

Property Keyword Options/type

Euler angle convention angle convention kocks

Isotropic thermal expansion coefficient 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, file

Crystal number (if single input) crystal type integer

Euler angle input type orientation input single, file

Euler angles (if single input) angles real, real, real

Name of input file (if file input) filename stringDebug flag debug on, off

Table 3.5: Material model properties and options.

In addition to this material state variable, the CP model introduces an entirely new Patranelement result file (see Section 2.12 for an overview on Patran compatible result files). Thisresult file can be requested with the WARP3D output command:

output patran

binary

formatted

element states

The element state files have filenames we(b/f)m######where (b/f) is b if binary files arerequested or f if formatted files are requested and ###### is the step number. The pa-tran templates directory in the WARP3D distribution contains a file (warp elem mm10.res tmpl)which has natural language descriptions of each column of output in the webm and wefm files.The variables output are listed in Table 3.6.

The file contains one record for each finite element assigned a CP material. Computedvalues 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 Fe 9

curl-Fe Components of ∇× Fe−1 9

e-stretch Components of ε (Voigt notation) 6

e-rot Components of Re 9

euler Updated Euler angles, in Kocks convention 3

Table 3.6: Variables output in Patran style element state file.

Chapter 3 (Updated: 4-22-2013) 3.12-10 Elements and Material Models

Page 292: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Material: crystal plasticity

3.12.5 Examples

Crystal Definition – Isotropic Elasticity and Empirical Stage IV Hardening

This crystal is isotropically elastic, with a constant value of µ for the hardening equations. Thisexample employs the empirical Stage IV hardening option.

Note that all values are defined on a single, logical line of input continued across multiplephysical 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 Definition – Anisotropic Elasticity and Geometric Hardening

This crystal definition 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 Definition

This example defines a simple, single crystal material with a single orientation. The materialis defined completely inside the WARP3D input file – it does not refer to an external flat file.

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

Page 293: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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. Aseparate data file provides the material orientation for each finite 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 file 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 flat file to specify both the crystal number and the orientation for a sixcrystal, 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 flat file:

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

Page 294: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 verification directory inthe sub-directory test74. The simulation models a cube composed of 5×5×5 cubic grains, eachgrain with its own orientation and discretized with 5× 5× 5 elements. The assembled elementsare loaded in uniaxial tension. All the grains have the same crystal definition and orientationsare read from the file ‘angle input’.

3.12.6 References

[1] S. Kok, A. J. Beaudoin, and D. A. Tortorelli. A polycrystal plasticity model based on the mechanicalthreshold. 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

Page 295: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 asimple gradient theory of crystal plasticity. Scipta Materialia, 48:167-172, 2003.

Chapter 3 (Updated: 4-22-2013) 3.12-14 Elements and Material Models

Page 296: WARP3D 17.4.0 Manual Updated June 5 2013

4.1--1Chapter 4 Domain Integrals

Chapter 4

Domain Integrals

4.1 IntroductionFinite element methods are especially powerful for computing linear and nonlinear frac-turemechanics parameters. For linear analyses, the stress-intensity factors, KI, are readi-ly determined from the energy release-rate interpretation of the J-integral (Rice [83],Knowles andSternberg [58], Budiansky andRice [10]). For nonlinear analyses, the intensi-ty of deformation along the crack front is generally characterized by the Crack TipOpeningDisplacement (CTOD) andor a pointwise value of the J-integral. In two-dimensions, theJ-integral sets the amplitude of the singular field near a sharp crack tip, as given by theHRR solutions (Rice and Rosengren [82], Hutchinson [48]), under certain limiting condi-tions involving material constitutive behavior and the extent of plastic deformation rela-tive to the uncracked ligament size. In three-dimensions, the situation is not nearly soclear; the nature of near-tip fields in 3-D remains a focus of current research. Remote fromtraction free surfaces, the crack front fieldsmay closely resemble those of plane-strain; nearfree surfaces the fields exhibit strong 3-D effects. However, purely mechanical argumentsconcerning the energy flux show that the J-integral provides a local energy release rate in-dependent of the exact singular formof thenear tip fields.Under these conditions,J charac-terizes the crack driving force.

This chapter describes the Domain Integral (DI) capabilities implemented inWARP3Dto compute J-integral values in 3-D (Mode I) following the solution for a load step (Li, et al.[60], Moran and Shih [65][66], Shih, et al. [89]). It also describes Interaction Integral (II)capabilities to computemixed-mode stress intensity factors andT-stresses (Yau et al. [108],Nakamura and Parks [110][109]). Both theDI and II procedures aremore general and sim-pler for the analyst to specify than the earlier Virtual Crack Extension (VCE) technique(Parks [80], Helen [37]). The analyst defines nodal values of a weight function which maybe interpreted as the motion of material near the crack front due to a virtual crack exten-sion. The numerical computations then require evaluation a volume integral over elementsin 3-D which includes the energy density, the stress field, the displacement, velocity, accel-eration fields and the weight functions. Weight functions over elements are constructedfrom the specified nodal values using conventional isoparametric procedures. This quicklybecomes an onerous task; however, capabilities are included for automatic generation of theweight function values which greatly simplify computations in 3-D crack configurations.An option for the user to specify directly theweight function values on a node-by-node basisremains available.

The J-integral procedures described in this chapter may be invoked following a linearor nonlinear solution for a load step (staticdynamic). Interaction procedures yield validstress intensity factors and T-stresses only for linear analyses. The user provides inputcommands to define a ‘‘domain” for evaluation of J or I followed by a compute domainintegral command, or a compute interaction integral command. The specification of a single‘‘automatic” domain by the user typically causes DI and II evaluations over many separatedomains of increasing distance from the crack front. The computedJ-value for each domainand the variation of J-values between the domains are printed (minimum J, maximum J

Page 297: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide —WARP3D

4.1--2Chapter 4 Domain Integrals

and average J for assessment of path independence). WARP3D also outputs these values

for II calculations for each loading mode (I, II, III) and the T-stresses (currently T11 andT33). The T-stress T13 will be included in a future release of WARP3D.

The DI procedures currently implemented have these featureslimitations:D the material response is considered nonlinear elastic when the material model employs an

incremental plasticity theory (this is a very common assumption and avoids unnecessary

complications that arise from the explicit partial derivative of the stress work density)

D the kinetic energy and accelerations of crack region material in dynamic loading are in-

cluded in JD body forces, other than caused accelerations, are ignored during J computationsD the effects of finite strains and finite rotations at material points are included in JD the effects of rapid crack growth are not included in J (‘‘slow” crack growth under dynamic

loading is supported)

D the effects of user specified loads applied to the crack faces are included in J using an

approximate technique (these termsmaintain path independence for domains remote from

the front). The J processor cannot properly distinguish between simultaneously applied

crack face loads and temperature loads (for crack face elements)

D initial strains caused by imposed thermal loading are included in J; the thermal expansioncoefficientsmay have anisotropic values (J-values for thermal loading neglect finite straineffects)

D J-integral routines account for smooth, arbitrary spatial variations inYoung’smodulus andPoisson’s ratio

D the material properties may be temperature dependent (as described in Section 2.2.3)

D elements along the crack front may be “collapsed” (hexes degenerated to wedges). The col-

lapsed element facemayhaveuniquenodenumbers that aregeometrically coincident (used

for nonlinear analyses to allow blunting) or repeated node numbers (used for linear analy-

ses)

D in analyses executed using parallel computations (see Chp. 7), WARP3D performs the DI

computations in parallel aswell. The elements present in a domain forJ computations gen-erally reside onmultiple processors.This enablesparallel computationof element contribu-

tions to the J value. In large 3-D models, the speed up attained with parallel operation be-

comes significant

The II procedures currently implemented have these featureslimitations:D the material response is considered linear elastic and isotropic

D the kinetic energy and accelerations of crack regionmaterial in dynamic loading are not in-cluded in I. Body forces are also ignored during I computations

D finite strains and finite rotations violate the theory behind the II method

D the effects of rapid crack growth are not included in I (crack growthunder quasi-static load-ing is supported)

D the effects of user-specified loads applied to the crack faces are included in I using the sameapproximate integration technique used for J calculations. For constant crack-face trac-

tions, users may invoke an alternative, exact integration scheme

D strains caused by imposed thermal loading are not currently included in ID I-integral routines account for smooth, arbitrary spatial variations inYoung’smodulus and

Poisson’s ratio, and provide KI, KII, KIII, T11 and T33 values for FGMs

D elements along the crack front may be “collapsed” (hexes degenerated to wedges). The col-

lapsed element face may have unique node numbers that are geometrically coincident or

repeated node numbers.

D in analyses executed using parallel computations (see Chp. 7), WARP3D performs the II

computations in parallel as well. The elements present in a domain for I computations gen-

Page 298: WARP3D 17.4.0 Manual Updated June 5 2013

4.1--3Chapter 4 Domain Integrals

erally reside onmultiple processors.This enablesparallel computationof element contribu-

tions to the I value. In large 3-D models, the speed up attained with parallel operation be-

comes significant.

D I-integral routines compute the T-stress component T11 for in-plane mixed-mode (mode I,mode II) loading. Computed T-stresses T11 and T33 are currently valid only for general,

mode-I loading.

The next section of this chapter provides a summary of the theoretical basis forDImethods.

Other sections describe the numerical algorithms to evaluate the volume integrals and in-

put commands. Sample output from a computation illustrates the various information

available. A section on the interaction integral discusses theory behind themethod, and de-

scribes numerical procedures, input commands and output generated by WARP3D.

Page 299: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-1Chapter 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,non!growing crack front under general dynamic loading is given by

J(s) ! lim! " 0

#!

$%W & T' "n1 ( Pji

)ui

)X1

nj*"d! (4.1)

where W and T are the stress!work density and the kinetic energy density per unit volumeat t!0; ! is a vanishingly small contour which lies in the principal normal plane at s, andn is the unit vector normal to ! "see Fig. 4.1). P

ji denotes the non!symmetric 1st Piola!Kirch!

hoff (1st PK) stress tensor which is work conjugate to the displacement gradient expressedon the t!0 configuration, )u

i+)X

j, i.e., the stress!work 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,X1(X2(X3, 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 X1 direction (Mode I). Any form of loading (including crack facetractions) and arbitrary material behavior is permitted when ! " 0. All proposed forms ofpath independent integrals (contour, area, volume) for application in fracture mechanicsderive 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 etal. [55]).

Moran and Shih [65][66] have proven the local path independence of J on the actualshape of ! in the limit as ! " 0&# To have both path independence and a non!vanishing,finite value, the integrand of Eq. (4.1) must have order 1+r. The quantity J defined by Eq.(4.1) has no direct relationship to the form of the near!tip strain!stress fields, except for verylimited circumstances. For plane!stress and plane!strain conditions, with nonlinear elasticmaterial response and small!strain theory, J of Eq. (4.1) simplifies to the well!known J!in!tegral due to Rice [83] that exhibits global path independence. Under the additional limita!tion of small!scale yielding (SSY), J sets the amplitude of the HRR singular fields. The roleof J as a single parameter which characterizes the near tip strain!stress fields for arbitraryloading (static, thermal, dynamic) and 3!D configurations is a topic of much current re!search.

The stress!work density (W) per unit initial volume at t!0 may be defined in terms ofthe mechanical strains as

W ! |F|#t

0

t : %d ( dth'#dt (4.2)

where|F| denotes the determinant of the deformation gradient F!)x+)X (such thatdV!|F|dV0), t denotes the unrotated Cauchy stress and d is the unrotated rate of de!formation tensor computed from the displacement gradients. dth

denotes the contributionarising from specified thermal strains. The kinetic energy density is given directly by

T ! 12!%)u

i

)t'

2

(4.3)

Page 300: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-2Chapter 4 Domain Integrals

where " 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 thegeometric 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 quantitiesare 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.

!

nA

X1

X2

X3

FIG. 4.1$Local J!integral in 3!D.

s

4.2.2 Domain Integral Formulation

By using a weight function, which may be interpreted as a virtual displacement field, thecontour integral of Eq. (4.1) is converted into an area integral for two dimensions and intoa volume integral for three dimensions (Li, et al. [60], Nikishkov and Atluri [77]). The re!sulting expressions are (see Fig. 4.2):

Ja(c# !# #sc

sa

[#J(s)#qt(s)#]#ds# !# J1# &# J2# &# J3 (4.4)

where each integral is defined by

J1# !# #V0

%#Pji

)ui

)Xk

)qk

)Xj

# (# W)q

k

)Xk

'#dV0 (4.5)

J2# !# (#V0

%)W

)Xk

( Pji

)2ui

)Xj)X

k

'#qk#dV0 (4.6)

J3# !# (#V0

%#T)q

k

)Xk

# (# !)2u

i

)t2

)ui

)Xk

qk# &# !

)ui

)t

)2ui

)t)Xk

qk'#dV0 (4.7)

Page 301: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-3Chapter 4 Domain Integrals

qk denotes a component of the vector weight function in the k coordinate direction, qt(s) rep!

resents the resultant value of the weight function at point s on the crack front, V0 repre!sents the volume of the domain surrounding the crack tip in the (undeformed) configurationat 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 allfield 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 q1 term of the weightfunction is non!zero. In subsequent discussions, this transformation to the (local) crackfront coordinate system is assumed to hold; the k subscript on q terms is thus dropped withq alone implying the q1 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) isthe local energy release rate that corresponds to the perturbation at s, qt(s). Figure 4.2shows a typical domain volume defined for an internal segment along a three!dimensionalsurface crack.

a

b

c

s

crack faces

A1

V

A2

A3

FIG. 4.2$Finite volume for use in Domain Integral formulation

A3, A4

X1

X2

X3

The q!function must vanish on the surfaces A1, A2# and A3 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 variationin amplitude of a valid q!function for the domain shown in Fig. 4.2. All material over whichthe q!function and its first derivative are non!zero must be included in the volume inte!grals. The value of q at each point in the volume, V0", is readily interpreted as the virtualdisplacement of a material point due to the virtual extension of the crack front, qt(s).

An approximate value of J(sb) is obtained by applying the mean!value theorem over the

interval sa , s , sc. The pointwise value of the J!integral at sb is given by (see Fig. 4.3):

Page 302: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-4Chapter 4 Domain Integrals

ab

s

q-function

qtc

FIG. 4.3$Variation of weight function, q, over volume at crack front

X1

X2

X3

J(s ! b)# -#

#sc

sa

J(s)#qt(s)#ds

#sc

sa

qt(s)#ds

# !# J

Aq

(4.8)

where J is the energy released due to the crack!tip perturbation, qt(s). The increase incrack!area corresponding to this perturbation, Aq, is simply the integral of qt(s) along thecrack front from sa to sc.

For common through crack test specimens, e.g. SE(B), C(T), the crack front is generallystraight or only slightly curved. For such crack geometries, the average J for the entirecrack front value is obtained by the application of a uniform qt(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 techniquesfrom specified values of q at element nodes. The higher order derivatives are computed byeither: 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 J!Integral: Discussion

Thermal Loading

For infinitesimal strain theory, the J2 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

( Pji

)2ui

)Xj)X1

# -# ( #ij

)2ui

)Xj)X1

% . (4.9)

Page 303: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-5Chapter 4 Domain Integrals

After exchanging the order of differentiation, inserting the (symmetric) small!strain tensorand using symmetry of #

ij, the second term in Eq. (4.6) is rewritten as:

( #ij

)2ui

)Xj)X1

# !# ( #ij

))X1

%)ui

)Xj

'# !# ( #ij

)$ij

)X1

% . (4.10)

The chain rule is now invoked to expand the first term in Eq. (4.6), again assumingsmall!displacement gradients. The derivative of strain energy density with respect tostrain is the stress tensor for elastic materials. The result is:

)W

)X1

# !# )W)$

ij

)$ij

)X1

# !# #ij

)$ij

)X1

% . (4.11)

The two terms defining the integrand of J2 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 bere!written more explicitly as

)W

)X1

# !# )W)$e

ij

)$e

ij

)X1

# !# #ij

)$e

ij

)X1

# !# #ij

))X1

%$ij( $th

ij' (4.12)

where the total strain is now given by elastic (including nonlinear) and thermal componentssuch that $

ij!$e

ij& $th

ij. Upon combining Eqs. (4.10) and (4.12), we have

J2# !# #V0

#ij

)$th

ij

)X1

#q#dV0%. (4.13)

To simplify numerical implementation, re!write the thermal strains as $th

ij!%

ij#&, where &

denotes the temperature deviation from the specified reference temperature, i.e.,&!&(&0,. The above expression becomes

J2# !# #V0

#ij#$#%

ij)&)X1

&)%

ij

)X1

" &*#q#dV0%.

(4.14)

which somewhat simplifies implementation in a finite element context since temperaturesare known at element nodes (the combined effect of specified nodal values and any constantelement temperatures). Computation of the Cartesian temperature derivative followsstandard finite element procedures. Derivatives of the thermal expansion coefficients withrespect to the crack direction ( X1) must be obtained and this does complicate the computa!tions. Also, the symmetric tensor of thermal expansion coefficients, %

ij, requires trans!

formation into crack front coordinates. For materials with constant thermal expansion co!efficients within the domain of integration (V0), the above (kernel) expression simplifiesfurther to just q "% "#

ij")&+)X1.

Dynamic Effects

Dynamic loading effects appear in the J3 term of the domain integral representation of theJ!integral. The first term in J3 provides the flux of the kinetic energy in the direction of thecrack propagation. The second and third terms arise from the explicit partial derivative,()"[#]+)X1) ", of the kinetic energy density. The second term contains material accelerationsand the third term is identified with the spatial gradient of the velocities. The second term,

Page 304: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-6Chapter 4 Domain Integrals

containing the material accelerations, has been found to make significant contributions tothe total J!integral for non!propagating 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),J2 and J3 are identically zero. For incremental (load path dependent) plasticity, the devi!ation of J2 from zero indicates the degree of non!proportional loading experienced over thedomain of integration.

For many practical cases, the loading produces nearly proportional material historieswithin the domain of integration; in such cases the very small contribution of J2 is ne!glected. Shih, Moran and Nakamura [89] neglected J2 for J!integral calculations. Vargasand Dodds show that up to 15% of the J!integral in a 2!dimensional static case can be dueto J2 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 differencediminishes to less than 0.1%, which justifies the use of J2 & J3 as an approximation to Eq.(4.4) for large amounts of plastic deformation. However, the contribution of J2 in the pres!ence of thermal strain gradients within the integration domain can be essential to maintaindomain independence of computed J!values.

The derivation of Eqs. (4.4) through (4.7) is mathematically rigorous. Provided suffi!cient resolution of the crack!tip stress!strain fields exists for accurate numerical integra!tion, the calculated J!integral equals the weighted J(s), where J(s) is the contour definitionin the limit as the contour shrinks onto the crack tip. For a given qt(s), i.e., the crack frontvariation of the weighting function, many combinations of domain volume and distributionof the q!function are possible. Thus, similar to path independence arguments for the con!tour J!integral, domain independence arguments apply for the domain J!integral. In prac!tice, several domains defined concentrically about the crack tip are evaluated to insure do!main independence of the computed J!integral. In the general case of thermal loading andinelastic material response all three components of the J!integral are required for the cal!culated value to be domain independent.

Summary

Numerical evaluation of the J1 integral requires only straightforward application of iso!parametric element techniques once the computed field quantities are transformed fromthe global X(Y(Z coordinate system to the X1 ( X2 ( X3 (local crack front) system atpoint s on the front. In this simplified form, Eq. (4.5) becomes

J1# !# #V0

%#Pji

)ui

)X1

)q

)Xj

# (# W)q

)X1

'#dV0%. (4.15)

J2 makes a non!zero contribution in the WARP3D implementation only in the presence ofthermal strains (small strain formulation with a symmetric tensor of thermal expansioncoefficients)

J2# !# #V0

#ij#$#%

ij)&)X1

&)%

ij

)X1

" #&*#q#dV0%.

(4.16)

The kinetic energy and inertial loading terms from Eq. (4.7) become

J3# !# (#V0

%#T)q

)X1

# (# !)2u

i

)t2

)ui

)X1

q# &# !)u

i

)t

)2ui

)t)X1

q'#dV0 (4.17)

Page 305: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

4.2-7Chapter 4 Domain Integrals

WARP3D domain integral processors evaluate only the first two terms of this integral. Thethird term (velocity) is vanishing small unless high speed crack propagation takes place.

When crack face tractions are present, an additional contribution to the J!integral iscomputed using

J4# !# (#A3&A4

ti

)ui

)X1

q#dA0%. (4.18)

where ti denotes the face traction expressed in the front system and A3 & A4 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 finite!strains and finite!rotationsas 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 areconfined to the usual blunting zone ahead of the crack tip. An example is a pin loaded,single!edge notch tension specimen, SE(T), containing a deep notch, i.e., a+W.0.5. Underincreased loading, the specimen may undergo relatively large rotations as the line of actionof the axial load re!aligns with the center point of the remaining ligament. Finite strainsare confined to the near tip region. The present formulation includes the effects of suchlarge (rigid) rotations of the specimen on J!values (when thermal strains are absent).

Page 306: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

4.3-1Chapter 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 q!Function

Consistent with the isoparametric formulation, the q!function within an element has theform

q(',(, )) !/i!1

Ni(',(, )) "q

i(4.19)

where qi are the specified values of the q!function at the element nodes. The user defines:

(1) a list of nodes along the crack front included in the computations to evaluate Aq, (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 routineslocate 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 eachcrack front position to be treated as tip nodes. The computational routines then assign alllisted nodes at each front position the same value of q. The specified lists of front nodes alsoplay 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 specifythe components of a unit vector normal to the crack plane.

The specification of nodal q!values becomes exceedingly tedious for 3!D analyses. An‘‘automatic" procedure is available as an option for generation of q!values. This procedurerequires 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 thecrack plane. The domain processors create domains of increasing distance from the cracktip 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). Gaussquadrature applied to Eq. (4.15) yields the expression for numerical computations as

J1 ! (/p

$W )q

)X1

( Pji

)ui

)X1

)q

)Xj

*p

det#$)Xm

)(m

*p

wp (4.20)

where the summation extends over all Gauss quadrature points (p) and wp denotes theGauss weight values. The 1st PK stresses are computed from the unrotated Cauchystresses using the two step transformation

!! R 0 t 0 RT (4.21)

Page 307: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

4.3-2Chapter 4 Domain Integrals

P ! |F| "! 0 F(T (4.22)

Cartesian derivatives of q and the displacements are obtained in the usual manner usingthe chain rule

)q

)X1

!/n

I

/3

m

)NI

)(m

)(m

)X1

qI

(4.23)

and,

)ui

)X1

!/n

I

/3

m

)NI

)(m

)(m

)X1

uiI

(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 J2 integral, standard isoparametric procedures readily support com!putation of the first term which involves )&+)X1, since temperatures are known at thenodes of elements. The second term requires evaluation of spatial derivatives of the ther!mal expansion coefficients, )%

ij+)X1. Thermal expansion coefficients are specified for ma!

terials and materials are associated with lists of finite elements in the WARP3D input. Tocompute the required derivatives, nodal values for %

ij are constructed by averaging values

from elements incident on the nodes. Only elements with non!zero expansion coefficientsare included in the averaging process. Standard isoparametric techniques then yield)%

ij+)X1 at Gauss integration points within elements. The )%

ij+)X1 term maintains domain

independence of the J!values when the thermal expansion coefficient(s) are not constantwithin the integration domain.

4.3.3 Crack Face Traction Integral

The crack face traction integral, Eq. (4.18), is evaluated using the equivalent nodal forcesapplied to crack face nodes. These forces arise from user!specified element face pressuresand tractions. The code neglects forces applied directly to the model nodes in the evaluationof this integral. The crack face integral is thus evaluated numerically using the expression

%/k

/l

ql#1)u

i+)X1

2Tl#1P

i2l

#A3&A4

ti

)ui

)X1

# q#dA0 3 (4.25)

where k is taken over elements with non!zero crack face tractions; l is taken over all elementnodes on the loaded face; 1P2 is the vector of equivalent nodal forces acting element nodel (forces derived only from applied face pressures!tractions). Displacement derivatives atthe element nodes needed in Eq. (4.25) are obtained by extrapolating derivatives computedat the 24242 Gauss point locations. Lagrangian polynomials are again adopted for theextrapolation. 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 frontdue to the singularity is avoided (extrapolated derivatives are not singular).

The computational routines that evaluate Eq. (4.25) determine which element faces areloaded by examining the nodal forces for the complete element. They do not have access tothe original definition of applied face pressures!tractions$only 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 non!zero equivalent nodal forces, a body force load is as!sumed to exist and no domain integral contributions are computed.

Page 308: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

4.3-3Chapter 4 Domain Integrals

For user specified domains (not the automatic domains), the list of elements to processmust include all elements with crack face loading if any node on the face has a non!zero qvalue. The automatic domain procedure performs this task.

The domain integral processors for crack face loadings correctly recognize and computedomain terms for models with &collapsed" crack front elements. This includes both casesof (1) unique nodes on the collapsed faced generally used to allow blunting in nonlinearanalyses, 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 brick!type elements leads to meshes with (1) multiple, coincidentnodes 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 usedin linear analyses. To simplify specification of the q!function over the domain volume, theq!value for only one of the coincident nodes at such crack front positions is required. Theremaining coincident nodes at corresponding crack front positions are located and assignedthe 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 constructscoordinates 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 nodeand are assigned the same q!value. Dimensions for the cubical prism are defined as follows:for 2 or more nodes specified along the crack front (3!D models), the prism ex!tends5 R 4 tol about the node, where R is the distance between the first two listed nodeson the crack front.

The value 0.001 is currently specified for tol. While this value has proven adequate formost crack front meshes, models with exceptionally large element lengths along the frontmay 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 finite!strain effects, crack fronts are gen!erally modeled with a small, initial radius as illustrated in Fig. 4.4. For these models, theautomatic 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., thenodes indicated by open symbols in the figure. Each node is then assigned the same q!valueby the computational routines.

Only the node actually on the symmetry plane (53 in the figure) is required unless theautomatic domain option is invoked. The list of user!specified tip nodes provides the ‘‘seed"to start the automatic procedure for domain generation, i.e., elements in the first domainare those incident on the listed ‘‘tip" nodes.

4.3.5 Computation of Aq

The area under the q!function along the crack front, denoted Aq, is required to normalizeJ for arbitrary magnitudes of the specified q!function in Eq. (4.8), see also Fig.4.3. Thus,Aq may be interpreted as area of crack extension represented by a virtual crack extensionq. The value of Aq is defined by

Aq !#s!c

s!a

q(s)#ds (4.26)

Page 309: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

4.3-4Chapter 4 Domain Integrals

which is numerically evaluated using Gauss quadrature as

Aq !/p

#/I

NI(sp)#q

I#$ dX2

1 & dX22

6 #*p

wp (4.27)

where the functional form of q over the segment of crack front under consideration,a 7 s 7 c, 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 7 s 7 c is computed with the ex!pression

L !/p

#$ dX21 & dX2

26 #*

p

wp (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 ahierarchial 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 labeledDM1 through DM6 and correspond to the terms in Eqs. (4.15) through (4.18) as follows

DM1 !(#V

e(0)

W)q

)X1

# dV0 (4.29)

DM2 !%#V

e(0)

Pji

)ui

)X1

)q

)Xj

# dV0 (4.30)

FIG. 4.4$Typical blunt!tip model employed in finite!strain analyses

User-specified tip node

Initial Root Radius

Elements AddedTo Make Ring 2

53

Page 310: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

4.3-5Chapter 4 Domain Integrals

DM3!(#

Ve(0)

T)q)X

1

!dV0

(4.31)

DM4 !%#V

e(0)

!)2u

i

)t2

)ui

)X1

q#dV0 (4.32)

DM5 !% (#A3&A4

ti

)ui

)X1

q#dA0 (4.33)

DM6# !# #V

e(0)

#ij#$#%

ij)&)X1

&)%

ij

)X1

#&*#q#dV0%.

(4.34)

The sum of these integrals over all elements of the domain is displayed followed by Aq, thearea under the q!function along the crack front. The J!integral value is printed as the sumof the above integrals divided by Aq. The units of J are F!L+L2. The average, maximum,and minimum J values are summarized in tabular form. Separate sums are also printedfor static and dynamic contributions.

Page 311: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--1Chapter 4 Domain Integrals

4.4 Commands for Domain Integrals

4.4.1 Outline of ProcessOnce the analysis completes for the list of load steps appearing in the current compute dis-placements command, WARP3D command processors read the next data line. This can beanoutput command, another compute commandoradomain command (aswell asanumberof other valid commands).

The domain command initiates the input sequence to specify information about a do-main for computation of the J-integral. Following specification of a valid domain, the inputcommand compute domain integral invokes the domain integral processors to performJ-in-tegral computations using analysis results for themost recent (current) load step analyzed.WARP3D performs interaction integral calculations with the input command compute in-teraction integral. Both J-integral and interaction integral computations follow from thecommand compute domain interaction integrals, or compute interaction domain integrals.Commands described in this section to construct domains apply to computations of both Jand I-integrals. The examples here refer only to J-commands. Section 4.6 describes addi-tional features for I-evaluation.

To evaluate J, I over different domains using results for the current load step, simplyrepeat the domain ... compute domain integral sequence as often as desired. WARP3Dstores only the definition of the most recently defined domain. When J, I are evaluated us-ing the same domain definitions at many load steps, the *input from file command provesconvenient to eliminate repetition. The domain definitions and compute domain integralcommands are defined in a separate input file and simply referenced with the *input fromfile feature of WARP3D.

At completion of domain integral computations, other commands may be given to com-pute displacements for additional steps, request other output, alter solution parameters,etc.

4.4.2 Input Error CorrectionThe processor of domain integral commands recovers easily frommost syntax errors. Mes-sages indicating the error are displayed and a new input line read; simply re-enter the cor-rected form of the command. The new information overwrites previous values.

The input processor performs immediate checks for obvious errors in the specified data.More extensive consistency checking of the domain definition occurs during the actual nu-merical computations.

4.4.3 Components of a Domain DefinitionEach domain for J, I computation consists of the following information:

1. The alphanumeric name (id) of the domain as specified in a domain command.2. Components of a unit vector normal to the crack plane.3. Optional -- components of aunit tangent vectorto the crack front at thenodewhere theJ--in-

tegral value is being computed.4. A symmetry flag, if applicable. J, I-values are then doubled prior to printing.5. A list of nodes defining a portion of the crack front under consideration. Note that all ele-

ments along the crack front must be of the same type: l3disop, q3disop, ...6. q-values at nodes along the portion of the crack front under consideration and over the de-

sired volume of domain integration. Twomethods to specify nodal values of q are available:user-defined and automatic.

Page 312: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--2Chapter 4 Domain Integrals

a. User defined—users specify actual nodal values for q and the list of elements overwhich the domain integration is desired. A single value is printed for J and I.

b. Automatic—users specify the number of concentric rings of elements enclosing thetip over which J, I are evaluated at the crack front position. The q-values and listsof elementsaregeneratedautomaticallybyWARP3Ddomainprocessors.J, I-valuesare printed for each ring of elements requested.

7. Printing options. By default the total DMi values are printed for the domain (each ring ifautomatic); individual element contributions are not printed. Usersmay request printingof individual element values as well.

8. Order of Gauss quadrature for element volume integrals. The default integration order isthat used for element stiffness computation. A one-point rule is an optional order.

9. Crack face loadings option. By default, contributions to J, I from elements with detectablecrack face loadingare included. Anoption isavailable toneglect crack face loadingcontribu-tions. This option is needed for crack growth analyses in which the crack closing forces areslowly relaxed to zero behind the extending front. These forces are interpreted by the do-main processors as equivalent loads for crack face loading.

10. Debug output options. Two levels of debugging information may be requested.11. Verification of domain input. A ‘‘dump” option prints the definition of domain parameters

from internal storage.

4.4.4 Initiating a Domain Definition

The command to initiate a new domain has the form

domain < name: label >

where the domain name appears as a descriptor in printed output.

4.4.5 Crack Plane Orientation

The orientation of the local crack front system, X1-X2-X3, shown in Fig. 4.3 must be speci-fied. The user defines components of a unit vector normal to the crack plane (X1-X3) alignedin the positive direction ofX2.WARP3D then determines the direction ofX3 (the crack fronttangent vector) using the list of crack front nodes, where the positive direction of X3 is inthe direction from the first node to the second node in the list. See next section about situ-ations where WARP3D cannot compute the tangent vector. The direction X1 is found fromthe cross product X2X3.

The command to define crack plane normals has the form

normal (plane) < direction cosine: number >nxnynz

where nx, for example, defines the projection of the crack plane (unit) normal onto the glob-al X axis. If the global Z axis is normal to the crack plane, for example, use the command

normal plane nz 1.0

The direction cosines provided in the command must define a vector of unit length(nx2+ ny2+ nz2 ≡ 1).

When theJ, I-values are negative but have the correct absolute value, reverse the senseof the crack plane normal vector.

Page 313: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--3Chapter 4 Domain Integrals

This combined procedure in which the user specifies the X2 direction and the domainprocessors use the front node list to compute directions for X1-X3 naturally fits the point-wise computation of J, I along a curved crack front. Similarly, a thickness-average J, I-val-ue for a slightly curved or straight crack front in a through crack configuration is easily ob-tained with the automatic method of q specification. Note, however, that the X3 directionfor the domain is defined by the first two nodes given in the front node list.

4.4.6 Crack Front Tangent Vector (Optional)

WARP3D uses coordinates of the provided list of crack front nodes to compute a unit vectorthat lies tangent to the crack front in the +X3 direction at the node where the J--integralvalue is computed by the domain approach. Consider Fig. 4.5 and the computation of J atnode 14. The provided list of crack front nodes is 10, 14, 18 in this order which defines thepositive sense of X3. The q--value function type is specified as “b” (see subsequent section).The elements along the front in this example are type l3disop having linear geometry anddisplacement interpolation.WARP3D computes two tangent vectorsat node14: fromnodes10, 14 and 14, 18. The average of these two tangents is taken to define the unit tangent forJ computations at node 14. For quadratic crack front elements, the two tangents at node14 are computed using separate quadratic interpolation of the crack front shape over thetwo adjacent elements. The average tangent is then again formed.

This process works very well for “interior” nodes along the crack front. At the “external”front nodes, only one tangent can be computed. If the crack front shape defined by the ele-ments and nodes adequately represents the actual (generally smooth) shape, the single(computed) tangent vector is satisfactory and no further user input is needed. This situ-ation occurs when a smoothly curved crack front is modeled with quadratic elements hav-ingmid-sidenodes locatedon the curved front (not a “chordal” approximation). In constrast,consider Fig. 4.3 again. Suppose node 10 is an “external” node on the front as shown. Thecorrect tangent is shown in the figure. However, the computed tangent at node 10 (basedon nodes 10 and 14) lies along a straight line from node 10 to 14 and is not correct (intro-duces a kinkwith the correct tangent as show). Ifused, the incorrect tangent leads toJ-val-ues that vary for each domaindefined atnode 10.The user should provide the correct tangetat node 10 for this case.

The user may override the computed tangent with a replacement tangent vector. Thecommand is

tangent (vector) < direction cosine: number >txtytz

where tx, for example, defines the projection of the tangent vector onto the global X axis.The direction cosines provided in the command must define a vector of unit length(tx2+ ty2+ tz2 ≡ 1).

4.4.7 Symmetric Option

The symmetric option is provided as a convenience since many finite element models aredefined for symmetric geometries, loading and constraints.When this keyword is specified,all J, I-values are double prior to printing. An output message signals when J, I-values aredoubled as well.

The command to request doubling of J, I-values for symmetry has the form

Page 314: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--4Chapter 4 Domain Integrals

symmetric

4.4.8 Crack Front Nodes

Fronts Defined by Collapsed Elements

The command to define nodes on the crack front for the domain has the form

front (nodes) l3disopq3disop< integerlist > (verify) tolerance (=) < real >

where the ordering of front nodes in the list must follow increasingX3. The type of elementsalong the crack front (l3disop orq3disop)must be specified to support error checking.Whenq3disop elements are used along the crack front, the number of front nodes listedmust al-ways be an odd number (3, 5, 7, ...).

When the crack front is modeled with collapsed elements, two cases arise: (1) there aremultiple coincident nodes at locations along the front (used for nonlinear analyses) and (2)the collapsed face has repeated nodes (used for linear analyses). For case (1), only one ofthe coincident nodes should be specified at these locations in this command. The remainingcoincident nodes are located automatically and included in subsequent processing. A listof the other nodes coincident with each front node specified in this command is printed ifthe keyword verify appears as the last item of the command. If the list of these coincidentnodes is incorrect, the user may need to adjust the tolerance used to identify coincidentnodes.

To locate coincident nodes, WARP3D constructs a box around each user-defined crack--front node. The box has faces at a distance of tolerance×L from the enclosed node. Here,L represents the distance between the first two user-specified crack-front nodes for the do-main. WARP3D considers all nodes that lie within a box to be coincident with the enclosednode. The default for tolerance is 0.0003, but the usermay specify a new value as describedabove. The verify keyword causes output of tolerance and tolerance×L.

To illustrate the use of this command, consider the curved crack front sketched in Fig.4.5. Crack front elements are linear isoparametrics (l3disop). Let node10 lie on a symmetryplane; node 22 lies on the outside (free) surface. To compute J, I at node 10 on the front, thecrack front segment in the domain includes nodes 10 and 14. The input command is

front nodes 10 14 l3disop verify

To compute J, I at node 14, the crack front segment in the domain includes nodes 10,14 and 18. The input command is

front nodes 10 14 18 l3disop verify tol = 0.0001

Here, q varies linearly (piecewise) along the front between nodes 10, 14 and 18 (q will bezero at 10 and 18 and > 0 at 14). To identify nodes coincident with nodes 10, 14 and 18,WARP3D generates a box around each of these three nodes. Faces of each box lie at a dis-tance of 0.0001×L from the enclosed front node, where L is the distance from node 10 tonode 14.Model nodes that liewithin each box receive the same q-value as the enclosed frontnode.

Fronts Defined With Initial Root Radius

The user first defines lists of ‘‘tip” nodes for each crack front position needed in the domainusing commands of the form

Page 315: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--5Chapter 4 Domain Integrals

node set <set id:integer> < integerlist >

where the set id is simply a convenient identifier in the range of 1-30 for later reference.If the mesh has 9 elements defined along the crack front, for example, 10 such lists of tipnodes are usually defined. The first node appearing in the<integerlist> should be the ac-tual frontnodeon the symmetryplane, i.e., node53 inFig. 4.4. The correspondencebetweenthe set id and a specific crack front position ismade explicit in themodified front nodes com-mand.

The command to define nodes on the crack front for the domain has the form

front (node) sets < integerlist > l3disopq3disop

where the ordering of front node sets in the list must follow increasing X3. The type of ele-ments along the crack front (l3disoporq3disop)must be specified to support error checking.In this context, these are “generic” element typeswhich simply indicatewhether crack frontelement edges are linear or quadratic. For transition elements which have both linear andquadratic edges, use the appropriate keyword: l3disop for linear andq3disop for quadratic.When q3disop elements are used along the crack front, the number of front sets listedmustalways be an odd number (3, 5, 7, ...).

To illustrate the use of this command, consider again the curved crack front sketchedin Fig. 4.5. Crack front elements are linear isoparametrics (l3disop). Let node set 1 lie ona symmetry plane; node set 4 lies on the outside (free) surface. Let nodes 10, 14, 18 and 22in the figure now denote the symmetry plane node at the blunt notch tip at each front posi-tion (the same asnode 53 inFig. 4.4). To computeJ, I at the front position identified by nodeset 1, the crack front segment in the domain includes node sets 1 and 2. The input com-mands are (define the needed sets of nodes first followed by the front command)

node set 1 10 3 42 64 ...node set 2 14 43 29 31 ...node set 3 18 21 24 83 ...node set 4 22 41 39 44 ...

front node sets 1 2 l3disop

The definition of all front node sets is included above for illustration even though only sets1 and 2 are referenced in the front node sets command.

To compute J, I at the front position 14, the crack front segment in the domain includesnode sets 1, 2 and 3. The input command is

front node sets 1 2 3 l3disop

Here, q will vary linearly (piecewise) along the front between node sets 1, 2 and 3 (q willbe zero for nodes in set 1 and 3 and 1.0 for nodes in set 2).

4.4.9 Specification of q-ValuesTwo methods for defining the q-values are available: automatic and fully user-specified.Eachmethod is described in a section below. The automaticmethodwill suffice formust ap-plications.

Automatic q DefinitionThe automatic method supports J, I computation for the following situations:

Page 316: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--6Chapter 4 Domain Integrals

1. Pointwise evaluation at a crack front location on a symmetry plane or on a free surface(there are elements only to one side of the crack front location).

2. Pointwiseevaluationatan interiorcrack front location correspondingtoacornernode(ele-ments exists on both sides of the crack front location).

3. Average J, I-value for the complete crack front (straight or slightly curved fronts).

22

Symmetry Plane

Free Surface

l3disop elements

X3 Direction

FIG. 4.5—Example crack front to illustrate front nodes specification.

18

10

14

Yg

Xg

Front NodesOn SymmetryPlane1

23

4

Node Sets

Correct tangentat node 10

At a crack front location, the automatic method constructs one or more domains for in-vestigation of domain independence of computed J, I-values. The concept of a ring of ele-ments is adopted to describe the domains generated at a crack front location (see Fig. 4.6).Ring 1 contains those elements incident on the nodes defined in the list of front nodes orin the referencednode sets. Figures 4.4, 4.5 illustrate theRing 1 elements for initially bluntcrack tips and collapsed crack tips. Additional rings are constructed by examination of ele-ment connectivities. Ring 2 contains the front elements plus the next ring of elements en-closing the tip. Again, Figs. 4.4, 4.5 illustrate the additional elements for the two types ofcrack tips. For the initially blunt-tipmodel, the user exercises full control over the elementsincluded in the rings by selection of the ‘‘seed” nodes specified in the node sets.

J, I-values for the first few rings usually have the greatest error (especially for theblunt-tip models) and should be avoided if possible. J, I-values for rings 4, 5, ... should bereasonably similar. For a nonlinear elastic (deformation plasticity) model, the values inrings 4, 5, ... often show less than 1% variation.

The command to specify automatic generation of q-values has the form

q(-values) automatic (rings) < integerlist >

and must be followed by the command

where a-d denotes the variation (function type) of q along the crack front. The four functiontypes are illustrated in Fig. 4.7. Types a and c are used to evaluate J, I at end points of acrack front, e.g., at nodes 10 and 22 in Fig. 4.5. Type b is used to evaluate J, I at an interior

Page 317: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--7Chapter 4 Domain Integrals

function (type)

abcd

node, e.g., nodes 14 and 18 in Fig. 4.5. Function type d is used to compute a ‘‘through-thick-ness” average J, I for a straight or slightly curved crack front.

When q3disop elements are used along the crack front, the automatic method supportsJ, I computation only at the element corner nodes. In this case, the automatic procedureto construct q--values sets themid-side node value to the average value of the adjacent twocorner node values (as illustrated in Fig. 4.7).

Crack Front Elements Define Ring 1

Elements Added to Define Ring 2Elements Addedto Define Ring 3

X2

X1

FIG. 4.6—Concept of rings used in automatic domain generation.

For function typesa-c, theautomatic algorithmsconstruct nodalvalues forqwhichvarylinearly in the X3 direction. For function type d, q maintains a constant value in the X3direction along the front. Nodal values for q are generated automatically such that the fol-lowing conditions hold:

Ring 1: q derivatives: ∂q∂Xj = constant.

Ring i: for elementsappearing in rings1, 2, 3, ... i-1, the qderivatives: ∂q∂X1 =0, ∂q∂X2 =0and ∂q∂X3 ≠ 0. For elements added to ring i-1 to define ring i, the q derivatives are∂q∂Xj = constant.

As a consequence of these q-derivative properties, element rings 1, 2, 3, ... i-1 haveDM1=DM3=0. These elements make a small contribution to DM2 since the variation ofu3 with X1 is non-singular. The acceleration forces which define DM4 and the thermalstrainswhich define DM6 make significant contributions in near front rings since q, rather

Page 318: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--8Chapter 4 Domain Integrals

than q-derivatives, appear in the integral. For function type d, the terms DM1, DM2 andDM3=0 for elements in rings 1, 2, 3, ... i-1.

X2

X1

q-Function Type ‘b’

q-Function Type ‘a’

q-Function Type ‘c’

q-Function Type ‘d’

Note: open circles indicate mid--side nodes that appear in acrack front modeled with q3disop elements

symmetry plane outside surface

FIG. 4.7—Types of q-functions available for automatic domain generation.

The automatic generation process creates one additional domain for each ring re-quested by the user. The J, I-value for each of these domains is printed and included in theaverage, minimum, maximum statistics. If the element printing option is also on, the con-tribution for each element to each domain is printed. The list of rings specified in the auto-matic domainmethod can be of the form rings 2 4 6 10 15 .... While the domains for all rings(through themaximum ring listed) are created internally,J, I is computed and printed onlyfor the ring numbers in the list. In this way, for example, the usermay request computationand output for a few rings far from the crack front, e.g., rings 10-15. The domain processorsinclude the contributions of all elements in rings nearer the tip as required for each termof J, I, e.g., crack face loading and inertia terms which involve q and not q-derivatives.

Consider the following example of automatic domain generation (refer to Fig. 4.5). Letthe crack plane be normal to the global Z-axis.

Page 319: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--9Chapter 4 Domain Integrals

domain symm_cornernormal plane nz 1.0front nodes 10 14 linear verifyq-values automatic rings 2-4function type a...

compute domain integral

Function type a is specified since node 10 is on the symmetry plane. Automatic domains areconstructed for rings 1-4 but J, I is computed and printed only for rings 2-4 to omit ring 1which usually has the most error.

To compute J, I at the front location of node 14 and18, the following automatic domainsand compute commands are used

domain front_14normal plane nz 1.0front nodes 10 14 18 l3disop verifyq-values automatic rings 2-4function type b...

compute domain integral

domain front_18normal plane nz 1.0front nodes 14 18 22 l3disop verifyq-values automatic rings 2-4function type b...

compute domain integral

At the intersection of the crack front with the outside free surface (at node 22), the fol-lowing domain is specified

domain outside_22normal plane nz 1.0front nodes 18 22 l3disop verifyq-values automatic rings 2-4function type c...

compute domain integral

For a crackwith the front curvature indicated inFig. 4.5, a thickness-averageJ, Iusingfunction type d would seem to be of questionable value.

Computations for Side-Grooved Specimens

Fracture testing programs often utilize side-grooves to maintain better crack-frontstraightness during crack extension. The depth of side-grooves typically equals 10% of thethickness on each side of the specimen. Let the full specimen thickness be denoted B andthe net thickness between the side-grooves be denoted BN. J-values are often computedpointwise at nodes across the front, BN, using function types a and b. The J, I-value at the

Page 320: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--10Chapter 4 Domain Integrals

node coinciding with the root of the side-groove should be computed using function type b.The crack-front average J, I-value should be computed using function type dwith the frontnodes including the node at the root of the side-groove.

User Specified q-Values and Elements

All nodal values of q are zero by default. Non-zero nodal values of q over the domain are de-fined with the command

q(-values) < node list > < q: real >

where the nodal q-values must be of class <real> to be distinguished from the list of nodenumbers. This command may be repeated as needed to define all nodal values for q in thedomain. q-values must be specified for all element corner nodes in the domain and for allnodes along the crack front segment under consideration. Computational routines forquadratic elements employ a linear variation of q between corner nodes (they override thespecified mid--side node values including those along the crack front).

The list of all elements to be included in the computations is definedwith the command

elements <integerlist>

Elements that should be included are: (1) those over which q is not constant, (2) those withloaded crack faces and non-zero q-values, (3) those with inertia forces and non-zero q-val-ues, (3) those with thermal loading and non-zero q-values.

The following example illustrates the definition of a domain to compute J, I at node 14for the crack front illustrated in Fig. 4.5.

domain outsidenormal plane nz 1.0front nodes 10 14 18 l3disop verifyq-values 10 18 0.0q-values 14 1.0elements 10-14..

compute domain integral

In this example, only the crack front elements incident on node 18 make contributions toJ, I (this isnot recommended!).q-values atnodes 10and18default to 0.0 andcan beomittedfrom the above commands (they are included for readability). The normal plane and frontnode specifications are identical to automaticdomains. Only elements appearing in the spe-cified list are evaluated during J, I computations.

4.4.10 Printing OptionsBy default, the total contributions (DM1,DM2 ) and the sum of DM1,DM2 are printedfor the domain (each ring of an automatic domain). The domain values are followed by theminimum J, I, maximum J, I and average J, I for the domains. When inertia effects arepresent,DM3,DM4 ≠ 0, separate totals for static and dynamic terms are provided tomakeobvious the relative importance of these terms in the total J-value.

To explicitly request this level of output, use the command

print totals

More detailed output listing the contribution from each element is requestedwith the com-mand

Page 321: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--11Chapter 4 Domain Integrals

print element (values)

This option also provides the information of the print totals default.

4.4.11 Integration Order

The volume integrals contributing to J, I are evaluated using the same order of Gauss in-tegration as is used for stiffness computation. For l3disop elements, J, I-values with agreater level of domain independence are often obtained by using one-point Gauss integra-tion. This option is requested with the command

use 1 (point rule)

4.4.12 Face Loading

By default, crack face loadings if present are included in the domain integral computations.The crack face loadings may be omitted with the command

ignore (crack) (face) loading

As noted previously, this option should be invokedwhen crack growth ismodeled by releas-ing the closing forces to zero over a number of load steps. Such forces are mistakenly inter-preted as crack face tractions by the domain integral processors.

4.4.13 Domain VerificationThe definition of a domain as stored in internal tables may be printed with the commanddump. This commandmay be given at any time during the domain definition and asmanytimes as desired.

4.4.14 Debugging Domain Computations

The actual domain computations may be traced with printed output detailing each step ofthe computations. Thismay prove convenient tomore closely examine J, I-values. To tracethe primary domain integral processor (but not element integration routines), use the com-mand

debug driver

To debug element integration routines, use the command

debug elements

Both commands may be specified in the domain definition.

4.4.15 Packet Output

Section 2.12.2 describes the use of binary packet files used to store data for easy retrievaland post-processing. Once a packet file has been enabled with the binary packets on file<filename> command in the nonlinear solution parameters section, the following commandmay be included in any domain definition.

This causes domain-integral (J) and interaction-integral (I) information and results to bewritten to the binary packets file. Appendix Fprovides a description of the contentswritten

Page 322: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--12Chapter 4 Domain Integrals

output (packets)JI

to the packets file. A sample subroutine to extract domain- and interaction-integral datafrom the packets file is also included.

4.4.16 Conversion of J-Values to Single-Mode Stress Intensity FactorsUsers can compare DI and II results by causingWARP3D to output stress intensity factorscalculated from J-integral values. These stress intensity factors are valid only for linear--elastic analyses, and assumepuremode-I,mode-II ormode-III loading conditions. The con-versions follow the relationships:

KI = JE* , (4.35)

KII = JE* , (4.36)

KIII =JE1+ ν

, (4.37)

where E*=E(1−ν2) for plane-strain, andE*=E for plane-stress assumptions. For FGMs,values ofE and ν correspond to the crack-front node at position swhere DI calculations aremade. Although the J to K conversion for KI and KII is identical, WARP3D outputs stressintensity factor values for each case: KI for plane stress, KI for plane strain, KII for planestress, KII for plane strain, and KIII for anti-plane shear. The command

J to K

causes WARP3D to print this data to the output file. WARP3D automatically writes thisdata to the binary packet file for J-integral results.

4.4.17 Complete ExamplesThe following are two complete examples illustrating all commands for domain definitionusing automatic procedures. Additional options for interaction-integral computations andfunctionally graded material are discussed in Sections 4.5.6 and 4.6.7.

domain symm_cornersymmetrynormal plane nz 1.0front nodes 10 14 l3disop verify tolerance = 0.1e-3q-values automatic rings 2-10function type aprint totalsprint element valuesuse 1 point ruleignore crack face loadingJ to Kdebug driverdebug elementsdump

compute domain integral

Page 323: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D DI Commands

4.4--13Chapter 4 Domain Integrals

domain free_edgesymmetrynormal plane nz 1.0node set 1 32 54 90 31 63node set 2 87 43 21 76 34front node sets 1 2 l3disop tol 0.0001q-values automatic rings 2-10function type cj to kprint totalsprint element valuesoutput packets juse 1 point ruleignore crack face loadingdebug driverdebug elementsdump

compute domain integral

Page 324: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D FGM Contributions to J

4.5-1Chapter 4 Domain Integrals

4.5 J!Values for Functionally Graded Materials

When the constitutive material properties (E, *, %, yield stress, hardening parameters, etc.)vary spatially, the J!integral described in Section 4.2 requires an additional term to main!tain path (domain) independence. This section describes the form of this term, its numericalevaluation, and related options in WARP3D. Walters et al. [105] discuss this topic in greaterdetail, and use the methods presented here to calculate stress intensity factors along semi!elliptical surface cracks under mode!I 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 tothe crack front (normal) direction, X1, is given by (compare with Eq. 4.12)

)W

)X1

! )W)$e

ij

)$e

ij

)X1

&%)W

)X1

'explicit

, (4.38)

%%%%! #ij

))X1

%$ij( $th

ij'&%)W

)X1

'explicit

, (4.39)

%%%%! #ij

)$ij

)X1

( #ij%%

ij

)&)X1

&)%

ij

)X1

&'& %)W

)X1

'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, ()W+)X1)

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 J2 (defined by Eq. 4.6), with the result

J2 !#V0

%#ij$%

ij)&)X1

&)%

ij

)X1

&*(%)W

)X1

'explicit

' "q "dV0 . (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 dependentportion of J2 as term DM6 (see Eq. 4.34) of the domain integral. For materials having a non!zero ()W+)X1)

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 ()W+)X1)explicit

For a small displacement formulation, the work density in Eq. 4.2 for a nonhomogeneouslinear!elastic, isotropic material under quasi !static loading simplifies to the form

W%$ij, x,&' ! #

$e

ij

0

Cijkl

(x) " "$e

kl"d$e

ij . (4.42)

Here, (x)!(x1, x2,x3) denotes the global position vector, and Cijkl

(x) is the spatially varying,isotropic elastic constitutive tensor defined by

Page 325: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D FGM Contributions to J

4.5-2Chapter 4 Domain Integrals

Cijkl

(x) ! +(x) ",ij",

kl& -(x) "%,

ik,

jl& ,

il,

jk' , (4.43)

where ,ij is the Kronecker delta, and the spatially varying Lamé constants +(x) and -(x)

are given by

+(x) !E(x) "*(x)

[1 & *(x)][1 ( 2*(x)]) , and -(x) !

E(x)

2[1 & *(x)] . (4.44)

Using the definition of work density given in Eq. 4.42, ()W+)X1)explicit

may be written direct!ly as

%)W

)X1

'explicit

! )W

)E

)E

)X1

&)W)*

)*)X1

. (4.45)

Consider also the following example of a simple nonlinear (elastic) constitutive modelof the form #

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,&' ! #

$ij

0

m(x)%$ij'

n(x)

d$ij , (4.46)

and ()W+)X1)explicit

is given by

%)W

)X1

'explicit

! )W)m

)m

)X1

&)W)n

)n

)X1

. (4.47)

These two examples illustrate that the analytical expressions for ()W+)X1)explicit

mayhave a variety of problem!dependent forms and that a more general computational proce!dure is desirable.

For a functionally graded material with ()W+)X1)explicit

defined by Eq. 4.45, the partialderivatives must be evaluated at each integration point within the volume of material usedto compute J2. For the simple isotropic material, the analytical forms of )W+)E and )W+)*follow directly from Eqs. 4.42!4.44. If E and * have smooth spatial gradations described byanalytical functions, the derivatives )E+)X1 and )*+)X1 may be evaluated exactly at eachintegration point over the volume used to compute J2. Suppose, for example, that the direc!tion of material gradation coincides with the X1!axis of the crack!front coordinate system,e.g. E(X)!E0e.X1. Evaluation of the spatial derivative term becomes straightforward, i.e.)E+)X1! .E0e.X1. Similarly, when the direction of material gradation coincides with eitherthe X2 or the X3 crack!front axis, )E+)X!0 and )*+)X1!0, and evaluation of the J ! inte!gral simplifies to the procedure for a homogeneous material. When the direction of materialgradation does not coincide with any axis of the crack!front coordinate system, computa!tions of the derivatives with respect to X1 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 ()W+)X1)explicit

A general expression for ()W+)X1)explicit

is obtained by rearranging Eq. 4.40 as follows:

%)W

)X1

'explicit

! )W

)X1

( #ij

)$ij

)X1

& #ij%%

ij

)&)X1

&)%

ij

)X1

&' . (4.48)

Page 326: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D FGM Contributions to J

4.5-3Chapter 4 Domain Integrals

All quantities on the right side of Eq. 4.48 are available directly from the finite elementsolution or can be computed using general isoparametric interpolation and derivative eval!uation. When Eq. 4.48 is substituted into J2 (as defined by Eq. 4.6), the result is (comparewith Eq. 4.41)

J2 !#V0

%#ij$%

ij)&)X1

&)%

ij

)X1

&*( )W

)X1

& #ij

)$ij

)X1

( #ij$%

ij)&)X1

&)%

ij

)X1

&*' "q "dV0

,

which simplifies immediately to

J2_FGM!#

V0

%#ij

)$ij

)X1

( )W

)X1

'"q "dV0 . (4.49)

When the user specifies material gradations for the model via nodal values of theconstitutive parameters (see Section 2.2.5), Eq. 4.49 replaces Eq. 4.34 (even when thermalstrains are present), and is therefore labeled J2_FGM

. Otherwise, WARP3D uses J2.

The use of Eq. 4.49 to calculate ()W+)X1)explicit

remains (strictly) valid for nonlinearelasticity and deformation plasticity, and maximizes the computational generality foranalyses having material gradients. For these reasons, WARP3D always uses Eq. 4.49 toinclude material gradation effects in the domain integral calculations. For analyses usingflow!theory constitutive models with parameters that vary spatially, WARP3D again usesEq. 4.49 even though the strict validity is not retained (this is the same issue of computingthe ordinary J for incremental!flow theory of plasticity vs. deformation plasticity).

The use of Eq. 4.49 does introduce a computational issue. An explicitly!definedderivative, ()W+)X1)

explicit, has been exchanged for derivatives (including a second

derivative of displacement) obtained via potentially less accurate, mesh!dependentinterpolation schemes. Numerical studies to date suggest that the loss of accuracy may bemitigated with increased mesh refinement.

4.5.4 Numerical Evaluation of J2_FGM

The numerical evaluation of J2_FGM, defined by Eq. 4.49, uses the same quadrature

schemes employed for element stiffness computation. Gauss quadrature over the volumeof an element yields the following expression for Eq. 4.49:

J2_FGM! /

elems

/p

$%#ij

)$ij

)X1

( )W

)X1

'q*p

det$)Xj

)(m*

p

wp , (4.50)

where the inner element!level summation ranges over all integration points p, wp denotesthe 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 integrationpoints proceeds as follows:

! 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]) forall elements;

! Average these extrapolated nodal values with contributions from adjoining elements;

! Use these nodal values with standard isoparametric shape functions!procedures to calcu!late derivatives at integration points, i.e.

Page 327: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D FGM Contributions to J

4.5-4Chapter 4 Domain Integrals

)$ij

)X1! /

n

I

/3

m

)NI

)(m

)(m

)X1$

ijI , and

)W

)X1! /

n

I

/3

m

)NI

)(m

)(m

)X1W

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 onlyfor 20!noded and 8!noded hexagonal elements integrated with the 24242 quadrature ru!le. For all other elements, Gauss!point values within an element are first averaged andused at the element nodes rather than extrapolated values. Averaging with similar valuesfrom adjacent elements and interpolation to compute the derivatives then occurs as de!scribed above. New work will explore schemes for extrapolation of integration point valuesfor 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 J!value for a domain. The useof Eq. 4.50 to include material gradation effects introduces two additional output values:

DM7 !#V0

%#ij

)$ij

)X1

'qdV0 , (4.52)

DM8 !(#V0

%)W

)X1

'qdV0 . (4.53)

When the user specifies functionally graded material properties, WARP3D sets DM6 (Eq.4.34) to zero. When functionally graded material properties are not specified, WARP3D setsDM7 and DM8 to zero.

4.5.6 Domain Definition Options

Because the numerical approximations to evaluate derivatives in Eq. 4.50 may not yieldreliable values right at the crack front, WARP3D provides an option to omit the contribu!tions to DM7 and DM8 from crack!front elements. During the domain definition, this optionis invoked with the command

omit (crack front elements for fgms) yesno

Depending upon the level of mesh refinement at the crack front, the element type and theseverity of material gradients, the omission of crack!front elements may or may not im!prove the path independence of the computed J!values.

4.5.7 Automatic and User!Defined Domains

The &automatic" domain builders for function types a!d described in Section 4.4.8 detect thepresence of functionally graded material properties to affect the J!integral evaluation. Forexample, all elements within the domain over which the explicit derivatives do not vanishare included in the computations. Moreover, nodes are assigned a constant q!1 value with!in the domain.

For user!defined domains, the analyst must specify the list of elements which contrib!ute to the explicit derivative terms and set the desired q!values. This is identical to the re!quirements for user!defined domains in models having thermal and dynamic loading.

Page 328: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-1Chapter 4 Domain Integrals

4.6 The Interaction Integral

The interaction!integral method post!processes actual displacement, stress and strainfields of an equilibrium state for a boundary!value problem. Another selected equilibriumstate supplies auxiliary fields that involve sought quantities such as stress intensity factorsor T!stresses. 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 T!stresses [111]. This sec!tion describes the formulation and application of the interaction integral technique to de!termine mixed!mode stress intensity factors and T!stresses along crack fronts in 3!D homo!geneous and functionally graded material (FGM) specimens.

4.6.1 Formulation

The interaction integral method constitutes a post!processing step that utilizes thestresses, strains and displacements generated during the solution of a boundary!valueproblem. We refer to numerically!calculated quantities as actual fields. By superimposingactual fields with auxiliary fields corresponding to a second, arbitrary equilibrium state,we obtain fields for the superimposed state. For this superimposed state, Eqs. 4.15!4.18 be!comes

J(S)

(s) ! "V

#$!(1)ij

% !(2)ij&$u(1)

j,1 % u(2)j,1&' W(S)"1i

("q,i" dV

######%"V

#$!(1)ij

% !(2)ij&$u(1)

j,1 % u(2)j,1& ' W(S)"1i

(,i" q "dV

######'"A3%A4

$t(1)j

% t(2)j&$u(1)

j,1 % u(2)j,1& "q "dA0 . (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 V0 and surface areas A3, A4 andA0. We must now examine the strain energy density for the superimposed state, W(S), toseparate Eq. 4.54 into useful components.

The strain energy density, W, is a function of position x!(x1, x2, x3, and a function ofstrain components #ij. For a linear!elastic, nonhomogeneous material, W(S) is

W(S)(x) ! 12$!(1)

ij% !(2)

ij&$#(1)

ij% #(2)

ij&

! 12!(1)

ij#(1)

ij% 1

2!(2)

ij#(2)

ij% 1

2$!(1)

ij#(2)

ij% !(2)

ij#(1)

ij&

! W(1) % W(2) % W(I) , (4.55)

where W(I) is

W(I) ! 12$!(1)

ij$#(2)

ij% !(2)

ij$#(1)

ij& . (4.56)

Page 329: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-2Chapter 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) ! "V0

#!(1)ij

u(2)j,1 % !(2)

iju(1)

j,1 '12$!(1)

jk#(2)

jk% !(2)

jk#(1)

jk&"1i("q,

i" dV0

####%"V0

#!(1)ij

u(2)j,1 % !(2)

iju(1)

j,1 '12$!(1)

jk#(2)

jk% !(2)

jk#(1)

jk&"1i(,

i" q " "dV0

####'"A3%A4

$t(1)j

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

j$u(1)

j,1& " "q "dA0 . (4.58)

For quasi!static, isothermal loading of homogeneous specimens in the absence of bodyforces and crack!face tractions, the second and third integrals of Eq. 4.58 vanish. Becauseauxiliary fields correspond to an arbitrary equilibrium state, Eq. 4.58 simplifies with theassumption that the auxiliary state includes no crack!face tractions. The surface integralin Eq. 4.58 thus becomes

"A3%A4

t(1)j

$u(2)j,1" "q "dA0 . (4.59)

Auxiliary fields must satisfy equilibrium, compatibility, and constitutive relations atcrack!front 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 crack!front location s, but over a finite domain of integration, material proper!ties at element integration points can be significantly different from properties at the crackfront. To account for this discrepancy, Dolbow and Gosz [113] define strains according to

#(2)ij

! Sijkl

(x)!(2)kl

, (4.60)

where Sijkl

(x) is the spatially!varying compliance tensor. At crack!front location s,#(2)

ij!S

ijkl(s)!(2)

kl!0.5(ui,j%uj,i), but for x)s, Eq. 4.60 violates strain!displacement compati!

bility because #(2)ij!S

ijkl(x)!(2)

kl)0.5(ui,j%uj,i). With consideration of this %incompatibility,"

Eq. 4.58 becomes

I(s) ! "V0

$!(1)ij

u(2)j,1 % !(2)

iju(1)

j,1 ' !(1)jk#(2)

jk"1i& "q,

i" dV0

####%"V0

$!(1)ij

u(2)j,1i

% !(2)ij#(1)

ij,1 ' !(1)ij,1#

(2)ij

' !(1)ij#(2)

ij,1& "q "dV0

####'"A3%A4

t(1)j

$u(2)j,1" "q "dA0 . (4.61)

Page 330: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-3Chapter 4 Domain Integrals

In this expression, !(1)ij,iu

(2)j,1!!(2)

ij,iu(1)j,1!0, because both actual and auxiliary stress fields sat!

isfy equilibrium. The following relationships enable us to further simplify the expressionfor I(s):

!(1)ij,1#

(2)ij

! Cijkl

,1 (x)#(1)kl#(2)

ij% C

ijkl(x)#(1)

kl,1#(2)ij

#######! Cijkl

,1 (x)#(1)kl#(2)

ij% C

klij(x)#(2)

ij#(1)

kl,1

#######! Cijkl

,1 (x)#(1)kl#(2)

ij% !(2)

ij#(1)

kl,1 . (4.62)

Using the relationship !(2)ij#(1)

ij,1!!(2)ij

u(1)j,1i

leads to the expression WARP3D employs to evalu!ate the interaction integral:

I(s) ! "V0

$!(1)ij

u(2)j,1 % !(2)

iju(1)

j,1 ' !(1)jk#(2)

jk"1i& "q,

i" dV0

####%"V0

#!(1)ij$u(2)

j,1i' #(2)

ij,1&' C

ijkl,1 (x)#(1)

kl#(2)

ij("q "dV0

####'"A3%A4

t(1)j

$u(2)j,1" "q "dA0 . (4.63)

For homogeneous materials and traction!free crack surfaces, the second and third integralsin Eq. 4.63 vanish. Equation 4.63 is valid for quasi!static, isothermal, linear!elastic loadingof FGMs in the absence of body forces. In this expression, auxiliary displacements are theonly quantities that employ material properties corresponding to crack!front 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:

#(2)ij,1 ! S

ijkl,1 (x)!(2)

kl% S

ijkl(x)!(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 2!Danalyses, Yau et al. [108] employ Williams’ solution [107] for auxiliary fields. Nakamuraand Parks [110] and Gosz et al. [114] use these auxiliary fields to determine stress intensityfactors for cracks in 3!D solids. To justify the use of 2!D auxiliary fields for 3!D problems,they assume that near!plane!strain conditions exist near the crack front, and their accu!rate results demonstrate the adequacy of this approximation.

Because near!tip fields in homogeneous and graded material exhibit similar asymptoticbehavior [112], the leading terms of Williams’ 2!D asymptotic solutions for stress and dis!placement near a crack tip are valid for both homogeneous and graded material. Excludingnon!singular and higher!order terms, auxiliary stresses and displacements defined accord!ing to Williams’ expressions are:

!(2)ij

!K(2)

I

2$r*f$Iij"(%) %

K(2)II

2$r*f$IIij

"(%) %K(2)

III

2$r*f$IIIij

"(%) , (4.65)

Page 331: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-4Chapter 4 Domain Integrals

u(2)j

!K(2)

I

2&(s)r

2$* g$I

j"(%) %

K(2)II

2&(s)r

2$* g$II

j"(%) %

K(2)III

&(s)2r$

* g$IIIj

"(%) . (4.66)

where fij(%) and gj(%) are functions of r and %, and KI, KII and KIII are the stress intensityfactors for modes I, II and III. For 2!D graded materials, shear modulus & corresponds tothe crack!tip location, and for cracks in 3!D specimens, the shear modulus and stress inten!sity factors correspond to crack!front location s. Full expressions for stress and displace!ment components are [119]:

!(2)11

! 1

2$r*#K(2)

Icos %

2$1 ' sin %

2sin 3%

2&' K(2)

IIsin %

2$2 % cos %

2cos 3%

2&( (4.67)

!(2)22

! 1

2$r*#K(2)

Icos %

2$1 % sin %

2sin 3%

2&% K(2)

IIsin %

2cos %

2cos 3%

2( (4.68)

!(2)12

! 1

2$r*#K(2)

Icos %

2sin %

2cos 3%

2% K(2)

IIcos %

2$1 ' sin %

2sin 3%

2&( (4.69)

!(2)13

! 'K(2)

III

2$r*sin %

2 (4.70)

!(2)23

!K(2)

III

2$r*cos %

2 (4.71)

!(2)33

!'(s)$!(2)

11% !(2)

22&

0 plane stress,

plane strain

(4.72)

u(2)1

! 12&(s)

r

2$* +K(2)

Icos$%

2&#(' 1 % 2 sin2$%

2&(% K(2)

IIsin$%

2&#(% 1 % 2 cos2$%

2&(,(4.73)

u(2)2

! 12&(s)

r

2$* +K(2)

Isin$%

2&#(% 1 ' 2 cos2$%

2&(' K(2)

IIcos$%

2&#(' 1 ' 2 sin2$%

2&(,(4.74)

u(2)3

!K(2)

III

&(s)2r$

* sin %2

(4.75)

where '(s) and &(s) are respectively Poisson’s ratio and the shear modulus at crack frontlocation s, and

##( !3 ' 4'

plane stress.

plane strain

3 ' '(s)1 % '(s) (4.76)

The symmetric gradient of auxiliary displacement components defines auxiliary straincomponents:

Page 332: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-5Chapter 4 Domain Integrals

#(2)ij

! 12$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.65!4.77 to define auxiliary fieldquantities. 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)$ -$

"sc

sa

I(s)$qt(s)$ds

"sc

sa

qt(s)$ds

$ !$I(s)Aq

. (4.78)

The energy release rate, J, for a smoothly!graded solid under mixed!mode loading andthe stress intensity factors are related through

J(s) !K2

I% K2

II

E*(s)%

1 % '(s)E(s)

K2III

, (4.79)

where stress intensity factors correspond to crack!front location s. For plane!stress condi!tions, E*(s)!E for plane stress conditions, and E*(s)!E.(1 !'2) for plane!strain conditions.For the superimposed equilibrium state, the energy release rate is

J(S)(s) ! 1E*(s)

#$K(1)I

% K(2)I&

2% $K(1)

II% K(2)

II&

2(% 1 % '(s)E(s)

$K(1)III

% K(2)III&

2

######! J(1)(s) % J(2)(s) % I(s) , (4.80)

where

I(s) ! 1E*(s)

$2K(1)I

K(2)I

% 2K(1)II

K(2)II& % 1 % '(s)

E(s)$2K(1)

IIIK(2)

III& . (4.81)

Equations 4.63, 4.78, and 4.81 define the relationship between the interaction integral andstress 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)

2I(s) . (4.82)

This procedure yields point!wise stress intensity factors along a 3!D 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)

2I(s) , (4.83)

Page 333: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-6Chapter 4 Domain Integrals

and

K(1)III

!E(s)

2(1 % '(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 T!Stresses

Williams’ solution including non!singular T!stress terms is:

!ij!

KI

2$r*f$Iij"(%) %

KII

2$r*f$IIij

"(%) %K

III

2$r*f$IIIij

"(%)

##$% T11"1i"1j

% T13$"1i

"3j% "3i

"1j& % T33"3i

"3j . (4.85)

Equation 4.85 describes the mathematical linear!elastic variation of stresses for 3!D prob!lems. For 2!D problems, T13!0. For plane!stress conditions, T33!0, and for plane!strainconditions, T33!'T11.

Michell [115] determines the stress distribution generated by a line load applied to theapex of a wedge. For a crack, where the included angle of the wedge equals 2$, the stressfield under plane!strain conditions is described by:

!(2)11

! 'f

$rcos3 % ,

!(2)22

! 'f

$rcos % sin2 % ,

!(2)33

! ''f$r

cos % ,

!(2)12

! 'f

$rcos2 % sin % ,

!(2)13

! !(2)23

! 0 . (4.86)

Here, f indicates the force per unit length of the line load applied along the crack front, andsuperscript (2) denotes auxiliary!field quantities.

4.6.5 Calculation of T!Stresses

To calculate T!stresses, Cardew et al. [111] and Kfouri [116] consider a 2!D line integralanalogous to the first integral in Eq. 4.63:

I !"!

+!(1)jk#(2)

jk"1i

'$!(1)ij

u(2)j,1 % !(2)

iju(1)

j,1&, "n

i" "d! . (4.87)

When Eq. 4.85 defines actual fields, and Eq. 4.86 defines auxiliary fields, Eq. 4.87 yieldsthe following relationship:

T11 !E*I

f . (4.88)

For WARP3D simulations of 2!D problems, Eqs. 4.63 and 4.78 yield a value for I(s) that canbe used in Eq. 4.88 when actual fields are taken from the finite!element solution, and auxil!

Page 334: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-7Chapter 4 Domain Integrals

iary fields follow Eq. 4.86. Values of T11 calculated in this manner are valid for simulationsof 2!D problems with in!plane mode!I or mode!II loading.

For 3!D mode!I problems, Nakamura and Parks [109] use the plane!strain definitionof !33:

!33 ! '(!11 % !22) !K

I

2$r*2'(s) cos %

2% T33 ,

where T33!'T11. They redefine T33 as T33!!*%'T11, and identify !* with a state of simpletension tangent to the crack front that causes extensional strain #33!!*.E, and Poissoncontractions #11!#22!''!*.E!''#33. After deriving displacements from Eq. 4.85 in!cluding the effect of these strains, Nakamura and Parks [109] use actual and auxiliaryfields based on Eqs. 4.85 and 4.86, respectively, as input to Eq. 4.87 in order to obtain therelationship

T11(s) ! E

(1 ' '2)#I(s)

f% '#33(s)( , (4.89)

In Eq. 4.89, '#33 acts as a penalty term that reduces T11 when contraction tangent to thecrack front, '#33, leads to an increase in #11 due to the Poisson effect. Equation 4.89 is validfor mode!I loading. Currently, WARP3D results for T!stress have been verified against pu!blished simulations of 2!D FGMs under mixed!mode in!plane loading, and against ABA!QUS 6.3 benchmark problems for 3!D geometries in homogeneous materials under mode!Iloading with traction!free crack surfaces.

4.6.6 Numerical Procedures

Within a finite!element setting, numerical procedures to evaluate the interaction integralare the same as those used to solve the boundary!value problem. This section first describesthe evaluation of volume integrals and material!property derivatives. A description of themeasurement of r and % for auxiliary!field quantities is then followed by a procedure forexact integration of the surface!traction integral.

Evaluation of volume and surface integrals

Numerical evaluation of the integrals in Eq. 4.63 follows the same Gaussian quadratureprocedures employed for the computation of element stiffnesses:

I(s) !/V0

/p

#$!(1)ij

u(2)j,1 % !(2)

iju(1)

j,1 ' !(1)jk#(2)

jk"1i&q,

idet J(

p

wp

####%/V0

/p

+#!(1)ij$u(2)

j,1i' #(2)

ij,1&' C

ijkl,1 (x)#(1)

kl#(2)

ij(q det J,

p

wp

####'/A0

/p

$t(1)j

u(2)j,1q det J&

p

wp , (4.90)

where the sum over volume V0 includes all elements in the domain, and the sum over sur!face A0 includes elements in domain V0 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

Page 335: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-8Chapter 4 Domain Integrals

wp is the corresponding weight for that point. The determinant of the coordinate Jacobianmatrix, det J, corresponds to the transformation of coordinates for element nodes. Repeatedindices imply summation. The current implementation employs the q!function describedin previous sections of Chapter 4. Because the crack!face!traction integral contains an in!verse square!root singularity, a modified integration procedure is necessary to integrate itexactly.

Determination of material!property derivatives

Numerical evaluation of Eqs. 4.63!4.64 requires derivatives at element integration pointsof the compliance! and constitutive!tensor terms. We interpolate nodal material propertiesE(x) and '(x) and their X1!derivatives at integration points using the expressions

(E(x))p !/n

I

NI(E(x))

I ,

0(E(x))p

0X1

!/n

I

/3

m

0NI

0)m

0)m

0X1

(E(x))I , (4.91)

('(x))p !/n

I

NI('(x))

I , and

0('(x))p

0X1

!/n

I

/3

m

0NI

0)m

0)m

0X1

('(x))I , (4.92)

where (E(x))p and ('(x))p denote material properties at integration points, n is the numberof element nodes, (E(x))

I and ('(x))

I are material properties at node I, NI is the element

shape function for node I evaluated at integration point p, and )k are parent coordinates.

Integration!point values of E(x),1 and '(x),1 obtained from Eqs. 4.91!4.92 enable the directcalculation of tensor!term derivatives as

0Cijkl

(x)

0X1

!0C

ijkl(x)

0E(x)0E(x)0X1

%0C

ijkl(x)

0'(x)0'(x)0X1

, (4.93)

and

0Sijkl

(x)

0X1

!0S

ijkl(x)

0E(x)0E(x)0X1

%0S

ijkl(x)

0'(x)0'(x)0X1

, (4.94)

where the quantities 0(1).0E(x) and 0(1).0'(x) are explicit derivatives of the componentsof C

ijkl(x) and S

ijkl(x) with respect to E(x) and '(x).

Evaluation of surface!traction integral

For elements adjacent to the crack front, the integrand of Eq. 4.59 generally contains aninverse square!root singularity which standard Gaussian quadrature cannot integrate ex!actly. A change of variables permits the exact integration of Eq. 4.59 for elements withstraight edges along the crack front (linear elements or quadratic elements with front nodesplaced on a chordal approximation). For a 1!D function f(r) with an inverse square!root sin!gularity at one boundary of the domain of integration, the substitution t!2r, removes thesingularity [117]:

"b

a

f(r)dr ! "b'a

*

0

2t$f(t2 % a)$dt####(b 3 a). (4.95)

Page 336: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-9Chapter 4 Domain Integrals

For example, define f(r)!1.2r, and assign integration limits a and b as r!0 and r!Le, thelength of an element adjacent to the crack front. The relationship t2!r leads tof(t2%a)!1.t, giving

"Le

0

1

r*$ dr ! "

Le*

0

2t1t

dt ! "Le

*

0

2dt ! 2 Le* , (4.96)

which is the exact result. To evaluate Eq. 4.59 over a planar 2!D surface where coordinatez is tangent to the crack front, f(z,r) includes traction values, t(1)

j, auxiliary!displacement

derivatives, u(2)j,1, and q!function values. Integration in the z!direction 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(*, ))$d)d* !"1

'1

"2*

0

2t$f(*, t2 ' 1)$dtd*, (4.97)

where the inverse square!root singularity of f(*,)) in the parent coordinates corresponds tothe lower integration boundary )! !1. In Eq. 4.97 and in the steps that follow, we assumethat parent coordinate, *, is tangent to the crack front, and that ) corresponds to distancer from the crack front. Integrands in Eq. 4.97 include traction values, t(1)

j, auxiliary!dis!

placement derivatives, u(2)j,1, q!function 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 theinner integral of Eq. 4.97 over interval [0,22], it is necessary to employ the standard trans!formation [118]

t ! b ' a

2)% b % a

2 , (4.98)

where a and b are the new limits of integration, 0 and 22, respectively. Equation 4.98 gives

t ! 1

2*()% 1), and dt

d)! 1

2* , (4.99)

and the quadrature for Eq. 4.97 over one element face becomes

1

2*/

p

2t$f(*, t2 ' 1)wp, (4.100)

where the summation includes all Gaussian integration points at coordinates (*,t), whereEq. 4.99 defines t. Weights wp in Eq. 4.100 correspond to the standard Gauss!quadraturerule formulated over interval *!)![ !1,1], and 1.22 is the Jacobian of the interval trans!formation.

The following steps describe the procedure for evaluating Eq. 4.59 using the details justdescribed.

1) Collect data for element faces and nodes (coordinates, q!values, tractions etc.).

2) Loop over integration points. A 242 quadrature rule yields exact results for the constant face tractions employed in this study.

Page 337: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-10Chapter 4 Domain Integrals

3) For the current integration point, obtain weight and parent coordinates (*,)) basedon a standard rule for the interval *!)![ !1,1].

4) Shift the value of ) according to Eq. 4.99: )new!1.22()%1).

5) Redefine ) as in Eq. 4.97: )!()new)2'1.

6) Evaluate standard element shape functions, shape!function derivatives, the coordinate Jacobian matrix, and the determinant of the coordinate Jacobian matrix, det J, using * and ) obtained from the previous step.

7) Use element shape functions to determine the local coordinates, ( Xp

1, Xp

2, Xp

3), of the

current integration point, and the q!value and traction value at the integration point.

8) Calculate distance r and angle %!5$ from the crack front to the integration pointbased on the coordinates determined in step 7.

9) Evaluate the auxiliary!displacement derivative u(2)j,1 using &(s), r and % from the

previous step, and 1.0 for the stress intensity factor.

10) Evaluate the integrand in Eq. 4.100 as: wp4q(*,))4t(1)j

(*,))4u(2)j,1(*,))4det J,

where summation is implied by the repeated index.

11) Complete the quadrature in Eq. 4.100 by multiplying the result of 10 by 1.2242t.

12) Sum contribution from integration point, and cycle to next point.

In steps 1!11, 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 accuracyof stress intensity factors by 1!1.5%. Steps 4, 5 and 11 are required for the exact integrationof Eq. 4.59 for 8!noded elements with four nodes on each face, and for 20!noded elementswith 8 nodes on each face. When elements with quarter!point nodes border the crack front,steps 4, 5 and 11 should not be employed because the quarter!point nodes cause standardquadrature to integrate Eq. 4.59 exactly. Integration for elements not adjacent to the crackfront 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 evaluatesEq. 4.59 approximately.

Calculation of r and % for auxiliary fields

For the auxiliary fields, r represents the distance from the crack front to an integrationpoint. The angle between the integration point, the crack front, and the crack plane equals%. WARP3D computes r and % for each integration point using a procedure dependent uponthe element type and the geometric approximation of the local crack front shape. For linearelements and for quadratic elements with straight edges along the crack front, WARP3Duses a chordal line that connects the two closest crack!front nodes. For higher order ele!ments with a locally curved edge along the front (e.g. a 20!node hex element), WARP3D useseither 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 oneset of elements along the front resides in the domain. For domain type b, two sets of ele!ments (and thus 5 nodes for the 20!node hex elements) along the front reside in the domain.These details concerning the accurate computation of r affect the accuracy of domain valuescomputed over the first few rings of elements surrounding the crack front. Accurate r values

Page 338: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-11Chapter 4 Domain Integrals

for the integration points in these elements lead to accurate values of the auxiliary fieldsand corresponding increased accuracy in evaluation of the domain integrals. Small errorsin 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 #++ for T!stress

Domain!integral methods achieve good accuracy because they rely upon field quantities re!mote from the crack front. Calculation of T!stress for mode!I problems using Eq. 4.89, how!ever, requires an accurate evaluation of strain #33 at the crack front. WARP3D thereforecomputes #33 using nodal displacements. Standard element shape functions enable mea!surement of the crack!front length before and after the solution to the boundary!value prob!lem. An approximation of the tangential strain is #33!"L.L, where "L is the change inlength, 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 I!inte!grals. The additional commands described here apply only for evaluation of I!integrals.

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 Section4.6.6, when the user also includes the following command in the domain definition:

crack (face tractions)txtytz

< value: number > (,)(=)

This step requires that the user re!input here the tractions applied in the linear!elasticboundary!value problem. The user inputs the values of uniform traction components thatact over the entire crack surface that corresponds to X2!0+ in the local crack!frontcoordinate system. (Recall that %X2 corresponds to the crack!plane normal defined accord!ing to Section 4.4.5). Although the local coordinate system identifies the X2!0+ crack sur!face, traction values are defined with respect to the global coordinate system. Thereforethis definition of crack!face tractions is the same at every location along a curved crack. Thedomain processors apply automatically the opposite tractions to the X2!0' face. Tractionsare 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 1!1.5% increase in accuracy ofcomputed stress intensity factors and T!stress values.

Interaction integral output

The default output for the interaction integral includes domain values for stress intensityfactors KI, KII, and KIII, and T!stresses T11 and T33. In addition, WARP3D computes J!val!ues from the stress intensity factors to facilitate comparison with domain integral results.Evaluations of the interaction integral using plane!stress, plane!strain, or anti!plane shearauxiliary fields yield these quantities. The user may selectively reduce this output by usingthe command

Page 339: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-12Chapter 4 Domain Integrals

plane (output for interaction integral)stressstrain

The plane stress option restricts output to the following domain values:

! KI (plane!stress auxiliary fields)

! KII (plane!stress auxiliary fields)

! T11 (plane!stress auxiliary fields; T3360 for this case.)

The plane strain option restricts output to the following domain values:

! KI (plane!strain auxiliary fields)

! KII (plane!strain auxiliary fields)

! KIII (anti!plane shear auxiliary fields)

! T11, T33 (plane!strain auxiliary fields)

WARP3D outputs J!values computed from KI, KII, and KIII using the expression

J !K2

I

E*%

K2II

E*%

K2III

2& , (4.101)

where E*!E.(1''2) for plane!strain, and E*!E for plane!stress assumptions. For FGMs,values of E and & correspond to the crack!front node at position s where II calculations oc!cur. These J!values facilitate the comparison of II and DI results.

Packet output

Section 4.4.14 describes the command for domain!integral output to a binary packet file.To output interaction!integral values to a binary packet, the command is

output (packets) JI

This causes domain integral (J) and interaction integral (I) information and results to bewritten to the binary packets file. Appendix F provides a description of the contents writtento the packets file. A sample subroutine to extract domain! and interaction!integral datafrom 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 eachdomain, WARP3D outputs the value of individual terms in the following order:

II1 ! "V0

!(1)ij

u(2)j,1"q,

i" dV0 , (4.102)

II2 ! "V0

!(2)ij

u(1)j,1"q,

i" dV0 , (4.103)

II3 ! '"V0

!(1)jk#(2)

jk"1i

"q,i" dV0 , (4.104)

Page 340: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Interaction Integrals

4.6-13Chapter 4 Domain Integrals

II4 ! "V0

!(1)ij

u(2)j,1i

"q "dV0 , (4.105)

II5 ! '"V0

!(1)ij#(2)

ij,1"q "dV0 , (4.106)

II6 ! '"V0

Cijkl

,1 (x)#(1)kl#(2)

ij"q "dV0 (see below for II7), (4.107)

II8 ! '"A3%A4

t(1)j

$u(2)j,1" "q "dA0 . (4.108)

For homogeneous materials, term II4 equals term II5, and term II6 vanishes. For nonhomo!geneous material properties specified through the functionally graded materials command,WARP3D sets II4!II6 to zero.

In a future release of WARP3D, II7 will include thermal!strain effects.

4.6.9 Complete Examples

The following are complete examples illustrating domain definition commands for interac!tion!integral features. Additional options for interaction!integral computations and func!tionally graded material are discussed in Sections 4.5.6 and 4.6.7.

domain domain_7normal plane nz 1.0front nodes 23 456 33 465 27 q3disop verify tolerance = 0.1e-3q-values automatic rings 1-10function type bprint totalsplane strain output for interaction integralcrack face tractions tx 1.0 ty = 1.0output packet I Jdebug driverdump

compute domain interaction integrals

domain thin_platesymmetrynormal plane nz 1.0front node sets 1 2 3 l3disop verifyq-values automatic rings 5-10function type dprint element valuesoutput packets i jJ to Kplane stress output for interaction integralcrack face traction tz = 33.2dump

compute interaction domain integrals

Page 341: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Crack Growth

Chapter 5

Crack Growth Procedures5.1 Introduction

This chapter describes commands to invoke all three crack growth procedures and additionaldetails of their implementation in WARP3D. The three procedures provided in WARP3D tomodel crack extension are summarized below.

Extinction of Solid Elements

WARP3D provides three procedures are provided to include the e!ects of crack extension.In the first type of crack growth, termed element extinction, solid elements in the model aredeleted when a critical condition (damage) is reached under increased loading. The elementsti!ness is set to zero and the remaining forces exerted by the element on adjacent nodes arerelaxed to zero over a user-specified number of load steps or using a simple traction-separationmodel. In this procedure the element is not topologically deleted from the model but it no longercontributes any resistance to loading. In other codes, this technique of element extinction isoften referred to as an element “death” option.

Node Release

In the second type of crack growth, termed node release, an increment of crack extension alonga symmetry plane is achieved by the traditional node release procedure. When conditions forgrowth are achieved, the displacement constraint holding the crack closed at that point onthe front is replaced by the corresponding reaction force, which is then relaxed to zero. Theforce release process occurs over a user-specified number of steps or using a simple traction-separation model. Elements behind the growing crack remain in the model and most oftenundergo inelastic unloading and then re-yielding as the crack front continues to extend. Thenode release procedures support growth along multiple crack fronts on the symmetry plane andreadily model non-uniform growth along the front, e.g., tunneling. Alternatively, the user canrequest uniform growth over the thickness at each crack front; the user selects the nodes oneach front which govern growth. Currently, the conditions for growth are specified by criticalcrack-tip opening angles (CTOA) for initiation and for continuation of growth. The growthprocessor examines each possible CTOA value using element edges incident on an active frontnode and grows the crack when any of those angles exceeds the specified critical value. The usercan 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 thenode release procedures. Other element types may be used to construct the finite element modelbut 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 thematerial model type cohesive (see Chapter 3). With this approach, crack extension evolves as

Chapter 5 5.1-1 Crack Growth

Page 342: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Crack Growth

a natural outcome of the computations. Once the cohesive tractions reduce to a small fractionof their peak values (and displacements of the interface elements grow large), the elementextinction procedures e!ectively remove the element from the model and initiate the processto relax the remaining (small) nodal forces to zero over a fixed number of subsequent loadincrements. This final process generally occurs simultaneously over several interface elementsand concurrently with continued, global loading of the model. This completes the process tocreate new, traction-free surfaces in the model.

An extinct interface element remains topologically in the model but makes no contributionto the response (it has no sti!ness and contributes no nodal forces). For crack extension alongsymmetry planes, the crack growth processors impose new displacement constraints as neededon nodes of extinct interface elements to prevent singular solutions.

Chapter 5 5.1-2 Crack Growth

Page 343: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Extinction

5.2–1Chapter 5 Crack Growth

!"# $%&'()*%+,-.)/0)123435-)16-75'-7+5)8!"!#!$%&'!(%)9

!"#$#%&'()*#(#++#,&-.#"/(0#"#&#0(+*1$(&2#('1"3&-1%(42#%()(3'#*5'6#,-+-#0("#.#"(1+(0)$)7#0#.#"16'(3%0#*(-%,*#)'#0("1)0-%78(93*-%7('3:'#;3#%&("1)0('&#6'<(&2#(#"#$#%&('&-++%#''(-'&)=#%()'(>#*1()%0(&2#(%10)"(+1*,#'(#?#*&#0(:/(&2#(#"#$#%&(1%()0@),#%&(%10#'()*#(*#")?#0&1(>#*1(1.#*A(BC()(3'#*5'6#,-+-#0(%3$:#*(1+("1)0('&#6'(1*(DC()('-$6"#("-%#)*<(&*),&-1%5'#6)*)5&-1%($10#"8(E2#(6*#'#%&"/().)-"):"#($#)'3*#'(1+(0)$)7#(-%,"30#A(FBC()&&)-%$#%&(1+()(,*-&-,)".1-0(+*),&-1%<(!<(-%(#"#$#%&'(42-,2(2).#(&2#(G3*'1%5E.#*7))*0(0-")&)%&(6")'&-,-&/($)&#*-)"$10#"(F&/6#("#$%&'C<()%0(FDC()&&)-%$#%&(1+()(,*-&-,)"(6")'&-,('&*)-%(0#+-%#0(:/(&2#('&*#''5$150-+-#0(,*-&-,)"($10#"(-%((#"#$#%&'(42-,2(2).#(&2#($-'#'(F(DC(6")'&-,-&/($)&#*-)"($10#"(F&/6#)*%+%C8

E2#(3'#*(),&-1%'(*#;3-*#0(&1(-%.1=#(&2#(#"#$#%&(#?&-%,&-1%(16&-1%(03*-%7()%()%)"/'-')*#A

! '6#,-+/(&2#("17-,)"(6*16#*&/(,*--./-+0-%(&2#(0#+-%-&-1%(1+()($)&#*-)"(&2)&(-%.1=#'(&2#("#$%&'1*()*%+%0 $)&#*-)"($10#"( F-%( &2#(')$#()%)"/'-'<( &2#*#(,)%(:#(1&2#*($)&#*-)"'(3'-%7(&2#"#$%&'()%0()*%+%0$10#"(&2)&(01(%1&(2).#(&2#(,*--./-+(6*16#*&/C8

! +1""14-%7(&2#(6*1,#03*#'(+1*(1&2#*(%1%"-%#)*()%)"/'#'<(0#+-%#(&2#(+-%-&#(#"#$#%&($10#"<"1)0-%7<(,1%'&*)-%&'()%0(%1%"-%#)*('1"3&-1%(6)*)$#&#*'8

! 3'#(&2#(,1$$)%0'(0#',*-:#0('3:'#;3#%&"/(-%(&2-'('#,&-1%(&1(0#+-%#(6)*)$#&#*'(,1%&*1""-%7&2#(,*),=(7*14&2(6*1,#03*#'( F,*-&-,)"(61*1'-&/<(,*-&-,)"(6")'&-,('&*)-%<(%3$:#*(1+(*#"#)'#'&#6'<(6*-%&-%7(16&-1%'<(#&,8C8(E2#'#(6)*)$#&#*'()*#('6#,-+-#0(-%()($)%%#*()%)"1713'(&1'6#,-+-,)&-1%(1+(&2#(%1%"-%#)*('1"3&-1%(6)*)$#&#*'H('1$#(,*),=(7*14&2(6)*)$#&#*'($)/(:#)"&#*#0(03*-%7(&2#()%)"/'-'()'(%1&#0(-%(&2#(,1$$)%0(0#',*-6&-1%'(&2)&(+1""148

! 3'#(.)*-13'(,1$:-%)&-1%'(1+(1&)2#3+()%0(&#32#3(,1$$)%0'(&1(,1%&*1"(&2#(%1%"-%#)*('1"35&-1%(1.#*("1)0('&#6'8(E2#(,*),=(7*14&2(6*1,#03*#'()*#()3&1$)&-,)""/(-%.1=#0(:/('1"3&-1%$)%)7#$#%&(*13&-%#'(-%(IJKLM98

! &2#()%)"/'-'(*#'&)*&(+#)&3*#'(1+(IJKLM9(+3""/('3661*&(,*),=(7*14&2($10#"-%78(K#'&)*&(+-"#',1%&)-%(&2#(.)"3#'(1+(7*14&2(6)*)$#&#*'()%0(&2#('1"3&-1%('&)&#(*#;3-*#0(&1(,1%&-%3#()%)%)"/'-'(4-&2(,*),=(7*14&28

!"#": ;&4&<3)$%7-3%7&

*+,-.$/01!,2((,'&3.'!"&4*05

N1*(&2-'(0)$)7#($10#"<(#"#$#%&(#?&-%,&-1%(&)=#'(6"),#(42#%(&2#(,3**#%&(.1-0(+*),&-1%<(!<*#),2#'()(3'#*5'6#,-+-#0(,*-&-,)"(.)"3#<( !18(E2#(6*#'#%&(-$6"#$#%&)&-1%(1+(&2#(GE($10#"("-$5-&'(&2#(OO+)-"3*#P(,1%0-&-1%(&1()(&*-)?-)"-&/(-%0#6#%0#%&<(,*-&-,)"(.1-0(+*),&-1%8(E/6-,)"(.)"3#'1+( !1(+1*('&*3,&3*)"()%0(6*#''3*#(.#''#"('&##"'()*#(Q8BRQ8DS<(,1$6)*#0(&1(-%-&-)"(.1-0(+*),5&-1%'<( !Q<(1+(Q8QQQSRQ8QQS8(E2#(,3**#%&(.)"3#(1+(!(+1*(,1$6)*-'1%(&1( !1(-'(1:&)-%#0(+*1$(&2#'-$6"#().#*)7#(1+(&2#(#"#$#%&(G)3''(61-%&(.)"3#'8

6%,!--/3.'787!'&9,7%7:("&6%,(7$&463965

N1*(&2-'(0)$)7#($10#"<(#"#$#%&(#?&-%,&-1%(&)=#'(6"),#(42#%(&2#(#;3-.)"#%&(6")'&-,('&*)-%<!2<(*#),2#'()(,*-&-,)"(.)"3#(,1$63&#0(4-&2(&2#(TUVT(,*-&#*-1%<(-8#8<

!21 ! "#?6"# #

$)$+$ FS8BC

42#*#("0)%0(#0)*#(3'#*5'6#,-+-#0<($)&#*-)"(0#6#%0#%&(,1%'&)%&'H( $)(0#%1&#'( &2#($#)%'&*#''()%0($+(0#%1&#'(&2#(U-'#'(#;3-.)"#%&('&*#''8(U1'&(1+&#%(#(-'(&)=#%(#;3)"(&1(B8S(-%(),5,1*0(4-&2(&2#(,1%&-%33$(21"#(7*14&2($10#"(1+(K-,#()%0(E*),#/(WXYZ8(U),=#%>-#<(#&()"8(W[BZ)%0(\)%,1,=()%0(V14"-%7(WMSZ(6*161'#0(&2#():1.#(+1*$(1+(&2#(TUVT($10#"(:)'#0(1%(#?6#*5-$#%&)"('&30-#'(1+(%1&,2#0(&#%'-"#('6#,-$#%'(F'&##"C8(L)%1%&-%()%0(T2#6)*0(W]^Z(0#',*-:#

Page 344: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Extinction

5.2–2Chapter 5 Crack Growth

)(,1$6"#&#('&30/(1+(&2#(,)"-:*)&-1%(6*1,#''(&1(#'&-$)&#("0)%0(#(+*1$(%1&,2#05&#%'-"#(0)&)+1*()%(JSB[(6*#''3*#(.#''#"('&##"()%0()%(\_(XQ('&##"8(E2#-*(41*=(+1,3'#'(1%()66"/-%7(&2#TUVT($10#"( &1(#'&-$)&#(7#1$#&*/(#++#,&'(1%( (418(N1*( &2#-*(JSB[($)&#*-)"<( &2#/( +13%0"!B8^^[()%0(#!B8S<()%0(+1*(\_(XQ(&2#/(+13%0("!M8X[S()%0(#!B8S8

(E2#(.)"3#'(1+($)<($+<()%0(!2(3'#0(&1(#.)"3)&#(!;8(FS8BC()*#(1:&)-%#0(+*1$(&2#('-$6"#).#*)7#(1+(&2#(#"#$#%&(G)3''(61-%&(.)"3#'8

!"#"# *353%&2)=5>?-)$+44&5@A

E2#('#;3#%,#(1+(,1$$)%0'(&1(-%-&-)&#(&2#(0#+-%-&-1%(1+(,*),=(7*14&2(6)*)$#&#*'(-'

crack (growth) (parameters)

type (of) (crack) (growth)none

(element_extinction) gurson(element_extinction) smcs

42#*#('&'+(&3*%'(1++('3:'#;3#%&(#"#$#%&(#?&-%,&-1%(03*-%7(&2#()%)"/'-'8(`%,#(#"#$#%&'2).#(:##%($)0#(#?&-%,&(-%()%()%)"/'-'()%0(&2#(16&-1%('&'+(-'(7-.#%<(+3*&2#*(,*),=(7*14&2,)%%1&(&2#%(:#(*#5-%.1=#08(E1(&#$61*)*-"/('366*#''(+3*&2#*(7*14&2<(&2#('-$6"#'&(F)%0(*#,51$$#%0#0C(6*1,#03*#(-'(&1($10-+/(,*-&-,)"(.)"3#'(1+(&2#(0)$)7#(,*-&#*-)8(5&3+6(3'#(1+(&2#'&'+(16&-1%(-$$#0-)&#"/('366*#''#'()%/(+3*&2#*(,*),=(7*14&2(6*1,#''-%7(a(-+(#"#$#%&'()*#-%(&2#(6*1,#''(1+(:#-%7(=-""#0<(&2#(*#03,&-1%(&1(>#*1(1+(#"#$#%&(+1*,#'(0#',*-:#0(-%(T#,&-1%S8D8](4-""(%1&(:#(,1$6"#&#08

E2#(=#/41*0("#$%&'(-%.1=#'(#"#$#%&(#?&-%,&-1%(:)'#0(1%()&&)-%$#%&(1+()(,*-&-,)"(61*1'5-&/<(!<(-%(,*--./-+(#"#$#%&'()''1,-)&#0(4-&2(&2#(GE($)&#*-)"($10#"8(E2#(=#/41*0(%)1%((-%5.1=#'(#"#$#%&(#?&-%,&-1%(:)'#0(1%()&&)-%$#%&(1+()(,*-&-,)"(6")'&-,('&*)-%<(!2<(-%(,*--./-+(#"#5$#%&'()''1,-)&#0(4-&2(&2#()*%+%($)&#*-)"($10#"8(5&3+6(1%"/(&'+(&/6#(1+(0)$)7#(,*-&#*-1%$)/(:#('6#,-+-#0(-%()%()%)"/'-'()%0(-&(,)%%1&(:#(,2)%7#0(&1()%1&2#*(,*-&#*-1%(03*-%7(&2#)%)"/'-'8

I2#%(&2#(#"#$#%&(0)$)7#(+-*'&(#?,##0'(&2#('6#,-+-#0("-$-&<(&2#(#"#$#%&(OO-%&#*%)"P(+1*,#')*#(-$61'#0(1%()0@),#%&(%10#'(-%(&2#($10#"()'(%10)"(+1*,#'8(E2#(.)"3#'(1+(&2#'#(+1*,#'(0#5,*#)'#("-%#)*"/(&1(>#*1(1.#*(BC()(%3$:#*(1+('#;3#%&-)"("1)0('&#6'(1*(DC()("-%#)*(&*),&-1%5'#6)5*)&-1%($10#"8(E2#(#"#$#%&('&-++%#''(-'(-$$#0-)&#"/('#&(&1(>#*1()%0(*#$)-%'(>#*1(+1*()""('3:5'#;3#%&("1)0('&#6'8(b%63&(,1$$)%0'(&1(0#',*-:#(&2#(+1*,#(*#"#)'#($10#"'()*#(0#',*-:#0(-%)('3:'#,&-1%(:#"148

E2#(#"#$#%&(#?&-%,&-1%(6*1,#03*#'(6*1.-0#()(,1%.#%-#%&(2$*'3*'"(16&-1%(&1('-$6"-+/(-%5&#*6*#&)&-1%(1+(&2#(7*14&2(6*1,#''8(E2#(,1$$)%0(2)'(&2#(+1*$

( order (elements)<(element list:cintegerlist(> )print (status) offon

42#*#(&2#(=#/41*0(&'(1*(&!!(-'(*#;3-*#08(J%(16&-1%)"("-'&(1+(#"#$#%&'(6*#.-13'"/($)*=#0(,*--7./-+($)/(:#('6#,-+-#0(+1*(6*1,#''-%78(b+(%1("-'&(-'(7-.#%<()""(#"#$#%&'(2).-%7()("#$%&'(1*()*%+%$)&#*-)"($10#"<()%0(4-&2(&2#(,*--./-+(6*16#*&/<()*#(-%,"30#0(-%(&2#("-'&(F-%()',#%0-%7(%3$#*5-,)"(1*0#*C8(I2#%(&2#(16&-1%)"("-'&(-'(7-.#%<(-%+1*$)&-1%(-'(6*-%&#0(+1*(#"#$#%&'(-%(&2#(1*0#*'6#,-+-#0(-%(&2#("-'&8

J&(&2#(:#7-%%-%7(1+(#),2("1)0('&#6(42#%(&2-'(6*-%&-%7(16&-1%(-'(&'<()(&):3")*('3$$)*/1+(&2#(,3**#%&('&)&3'(-'(6*-%&#0(+1*(#),2(#"#$#%&(-%(&2#("-'&8(N1*(&2#("#$%&'00)$)7#(,*-&#*-1%<

Page 345: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Extinction

5.2–3Chapter 5 Crack Growth

&2#(+1""14-%7(.)"3#'()*#(6*1.-0#0A(-%-&-)"(61*1'-&/(F !QC<(,3**#%&(F).#*)7#C(61*1'-&/(F!C<().#*5)7#(6")'&-,('&*)-%(-%(&2#($)&*-?($)&#*-)"(F!2C<().#*)7#(#;3-.)"#%&('&*#''(-%(&2#($)&*-?($)&#5*-)"(F$C<().#*)7#($),*1',16-,($#)%()%0($-'#'('&*#''8(N1*(&2#(%)1%(0)$)7#(,*-&#*-1%<(&2#+1""14-%7(.)"3#'()*#(6*1.-0#0A(&2#().#*)7#(6")'&-,('&*)-%(-%(&2#(#"#$#%&(F!2C<(&2#(,3**#%&.)"3#(1+(,*-&-,)"(6")'&-,('&*)-%(0#+-%#0(:/(&2#0%)1%(,*-&#*-1%(F!2

1C<().#*)7#($#)%('&*#''(-%(&2##"#$#%&(F$)C()%0(&2#().#*)7#(FU-'#'C(#;3-.)"#%&('&*#''(-%(&2#(#"#$#%&(F$+C8((J00-&-1%)""/<-+()3&1$)&-,("1)0(*#03,&-1%(-'(#%):"#0(F'##('#,&-1%(S8D8YC<(&2#(&):"#(-%,"30#'(&2#(-%,*#)'#(-%&2#(,3**#%&(7*14&2(6)*)$#&#*(1.#*(&2#(")'&('&#6H(-+(&2#("#$%&'(0)$)7#(,*-&#*-1%(-'(3'#0<(&2#-%,*#)'#(-%().#*)7#(61*1'-&/(-'(6*-%&#0<((42-"#(&2#(-%,*#)'#(-%().#*)7#(6")'&-,('&*)-%(-%(&2##"#$#%&(-'(13&63&(-+(&2#(%)1%(,*-&#*-1%(-'('6#,-+-#08

E1(6*#.#%&(#?,#''-.#()$13%&'(1+(13&63&<(-%+1*$)&-1%(-'(6*-%&#0(1%"/(+1*(&21'#(#"#$#%&'4-&2( !% !QcF"#$%&'($10#"C(1*(!2%QcF)*%+%($10#"C8

d/(0#+)3"&<(#.#*/(#"#$#%&(#"-7-:"#(&1(:#($)0#(#?&-%,&(-'(6*1,#''#0(4-&213&(*#7)*0(&1()%/'6#,-+-,(&161"17-,)"(1*0#*8(b%('1$#(,)'#'<(-&($)/(:#(0#'-*):"#(&1(+1*,#(#?&-%,&-1%(1+(#"#$#%&'-%(6*#',*-:#0(&161"17-,)"(1*0#*8(E1('6#,-+/(&2-'(+#)&3*#<(3'#(&2#(,1$$)%0

( order <(element list:cintegerlist(> )sequential (extinction) offon

42#*#(&2#(3'#(1+(&2-'(+#)&3*#(-'(-%.1=#0e'366*#''#0(4-&2(&2#(*#;3-*#0(&'&&!!(=#/41*08(E2#16&-1%)"("-'&(6*1.-0#'(&2#(&161"17-,)"('#;3#%,-%7(1+(#"#$#%&'(&1(:#($)0#(#?&-%,&8(N1*(#?)$56"#<(-+(&2#('#,1%0(#"#$#%&(-%(&2#("-'&(*#),2#'(&2#(,*-&-,)"(0)$)7#(6)*)$#&#*(6*-1*(&1(&2#(+-*'&#"#$#%&(-%(&2#("-'&<(&2#%(:1&2(&2#(+-*'&()%0('#,1%0(#"#$#%&'(-%(&2#("-'&()*#($)0#(#?&-%,&('-5$3"&)%#13'"/8(I2#%(&2#("-'&(-'(1$-&&#0<(&2#(&161"17-,)"(1*0#*-%7(-'(&)=#%(&1(:#()',#%0-%7%3$#*-,)"('#;3#%,#(:/(#"#$#%&(%3$:#*(+1*()""(#"#$#%&'(-%(&2#($10#"(4-&2(&2#(,*--./-+($)5&#*-)"(6*16#*&/8

!"#"B ;&4&<3)$%7-3%7&)$+44&5@A

N1*(&2#("#$%&'(0)$)7#(,*-&#*-1%<(&2#(61*1'-&/(.)"3#()&(42-,2(#"#$#%&(#?&-%,&-1%(1,,3*'< !1<-'('6#,-+-#0(:/(&2#(,1$$)%0(

critical (porosity) <(porosity limit:cvalue(>

E2#().#*)7#(61*1'-&/()&(&2#(G)3''(61-%&'(+1*(#),2(,*--./-+(#"#$#%&(4-&2()("#$%&'($)&#*-)"$10#"(-'(,1$6)*#0(4-&2(&2#('6#,-+-#0(,*-&-,)"(.)"3#()&(&2#(:#7-%%-%7(1+(#),2("1)0('&#68(I2#%&2#().#*)7#(.)"3#(+-*'&(#?,##0'(&2#(61*1'-&/("-$-&<(&2#(#"#$#%&(#?&-%,&-1%(6*1,#''(:#7-%'(+1*&2)&(#"#$#%&8(E2#(0#+)3"&(.)"3#(+1*(,*-&-,)"(61*1'-&/(-'(Q8DQ8

N1*(&2#(%)1%(0)$)7#(,*-&#*-1%<(&2#(3'#*('6#,-+-#'(.)"3#'(+1*(&2#($)&#*-)"(0#6#%0#%&(6)5*)$#&#*'<("()%0(#<(4-&2(,1$$)%0'(1+(&2#(+1*$

alpha <(value(>beta <(value(>

E2#(,3**#%&(6")'&-,('&*)-%(-'(,1$6)*#0(&1(&2#(,1$63&#0(,*-&-,)"(6")'&-,('&*)-%(+1*(#),2(,*--7./-+(#"#$#%&(4-&2()()*%+%($)&#*-)"($10#"()&(&2#(:#7-%%-%7(1+(#),2("1)0('&#68(E2#(,1$6)*-5'1%(-'($)0#(3'-%7('-%7"#(61-%&(.)"3#'(1:&)-%#0(+*1$(&2#().#*)7#(1+(G)3''(61-%&(.)"3#'8I2#%(&2#().#*)7#(.)"3#(+-*'&(#?,##0'(&2#(,*-&-,)"('&*)-%<(&2#(#"#$#%&(#?&-%,&-1%(6*1,#''(:#57-%'(+1*(&2)&(#"#$#%&8(9#+)3"&(.)"3#'()*#A("!B8Q()%0(#!B8S8

Page 346: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Extinction

5.2–4Chapter 5 Crack Growth

!"#"C D@&>-7E3)F+&@)$+5-%+2)82+,-.$)'%7-3%7+59

I2#%("1)0('&#6'()*#(&11(")*7#<(#"#$#%&(#?&-%,&-1%($)/(1,,3*(&11(*)6-0"/<(42-,2()""14'(&2#+1*,#(*#"#)'#(6*1,#''(&1()++#,&()0.#*'#"/(&2#('&*#''5'&*)-%(2-'&1*/(1+($)&#*-)"()2#)0(1+(&2#,*),=(+*1%&8(E2#(2-'&1*/(#++#,&'($)/(,)3'#(0-++-,3"&-#'(-%(f#4&1%(,1%.#*7#%,#(1+(&2#(7"1:)"'1"3&-1%<(1*($)/(,)3'#((5!.(,3*.#'(&1(:#(&11(2-72<(&11("14<(1*(&1(1',-"")&#8(E1()""#.-)&#(&2-'6*1:"#$(+1*(0)$)7#(0#',*-:#0(:/(&2#(G3*'1%5E.#*7))*0(,1%'&-&3&-.#($10#"<(IJKLM9(6*15.-0#'()%()0)6&-.#("1)0(,1%&*1"(+#)&3*#(&2)&()3&1$)&-,)""/(0#,*#)'#'(F1*(-%,*#)'#'C('3:'#5;3#%&("1)0('&#6('->#'(:)'#0(1%(&2#(*)&#(1+(61*1'-&/(-%,*#)'#(-%(&2#($10#"8(E2#()0)6&-.#()"715*-&2$(16#*)&#'()'(+1""14'A

" J&(&2#(:#7-%%-%7(1+(#),2("1)0('&#6<(&2#()0)6&-.#(,10#("1,)&#'(&2#(#"#$#%&(&2)&(#?6#*-#%,#0&2#( $)?-$3$( 61*1'-&/( 7*14&2( 03*-%7( &2#( 6*#.-13'( "1)0( '&#68( E2-'( $)?-$3$( 61*1'-&/,2)%7#(-'(0#%1&#0(!!$)?g8(b+(%1(G3*'1%(#"#$#%&'(2).#(:##%(=-""#0<(&2#()0)6&-.#(,10#(#?-&'(F-8#8<&2-'()0)6&-.#(,10#(16#*)&#'(1%"/()+&#*(&2#(+-*'&(G3*'1%(#"#$#%&(2)'(:##%(0#"#&#0C8

" b+(!!$)?(#?,##0'(&2#()""14):"#(,2)%7#('6#,-+-#0(:/(&2#(3'#*(F!!$)?%" g!1C<(&2#()0)6&-.#(,10##'&-$)&#'()%0()66"-#'()(*#03,&-1%(+),&1*(&1(&2#(-%,*#$#%&)"("1)0-%7("#.#"'(-%('3:'#;3#%&"1)0('&#6'('3,2(&2)&(&2#(#'&-$)&#0(!!$)?'Q8X(" g!1g8(\#*#(&2#(3'#*('6#,-+-#'(&2#(.)"3#(1+("03*-%7(-%63&(1+(&2#(,*),=(7*14&2(6)*)$#&#*'(F'##(,1$$)%0(:#"14C8(E/6-,)"(.)"3#'(+1*("*)%7#(+*1$(Q8QQSgRgQ8BQ<(4-&2("!Q8QD(1+&#%(3'#0()'()%()66"-,):"#(.)"3#(+1*()(4-0#(*)%7#(1+$)&#*-)"'8

" T-$-")*"/<(&2#()0)6&-.#(,10#(-%,*#)'#'(&2#(-%,*#$#%&)"("1)0-%7()66"-#0(-%('3:'#;3#%&('&#6'42#%(!!$)?(-'(+13%0(&1(:#($3,2('$)""#*(&2)%("g!18(h1)0(-%,*#)'#'()*#(&*-77#*#0(42#%(!!$)?

-'("#''(&2)%(Q8S(" g!1(+1*()&("#)'&(M(,1%'#,3&-.#("1)0('&#6'8(I2#%(&2-'('-&3)&-1%(1,,3*'<(&2#"1)0('&#6('->#(-%,*#)'#'(&1($)=#(!!$)?'" g!1<(:3&(-%(%1(,)'#(-'(&2#("1)0('&#6('->#(-%,*#)'#0(:/$1*#(&2)%()(+),&1*(1+(D(-$$#0-)&#"/8

J'()(*#'3"&(1+(&2-'()0)6&-.#()"71*-&2$<(&2#(3'#*('6#,-+-#0("1)0('&#6'('->#'()*#()0@3'&#0(F36)%0(014%C(,1%&-%3)""/(03*-%7(&2#()%)"/'-'(&1($)-%&)-%()(&)*7#&(!!$)?'"g!1(-%(#),2("1)0('&#61+(&2#(,*),=(7*14&2()%)"/'-'8

E2#(,1$$)%0(&1(*#;3#'&(&2-'()0)6&-.#("1)0(,1%&*1"(+1*(&2#("#$%&'(,*-&#*-1%(-'A

[ (maximum) porosity (change) <real> ]adaptive (load) (control) offon

42#*#(i$+.-j(0#%1&#'(&2#(.)"3#(1+("8(d/(0#+)3"&<(!!$)?!Q8B( !1(FQ8B()'(&2#(-%63&(.)"3#):1.#C()%0(&2#()0)6&-.#("1)0(,1%&*1"()"71*-&2$(-'(1++8

E2#()0)6&-.#("1)0(,1%&*1"(2#*#(-'(-%0#6#%0#%&(1+(F)%0(-%()00-&-1%(&1C(&2#()0)6&-.#("1)0,1%&*1"(-$6"#$#%&#0(&1()''-'&(,1%.#*7#%,#(1+(&2#(F7"1:)"C(f#4&1%(-&#*)&-1%'(6#*+1*$#0()&#),2("1)0('&#6(&1('1".#(&2#(%1%"-%#)*(#;3-"-:*-3$(#;3)&-1%'8(9-'6"),#$#%&(#?&*)1")&-1%'213"0(%1&(:#(3'#0(4-&2()0)6&-.#("1)0(,1%&*1"<(-8#8<('#&(+83$.2&-.3+0&!!(-%(&2#(%1%"-%#)*('1"35&-1%(6)*)$#&#*'8

9+0%3$&'"-:0$+1&))+';03<+0#%+0&!0.;.23*=+0-&.;01&'3$&-0/.%+;0&'02&$&%*3:01<.'"+%02+$%3+20.%0;+%1$*/+;0./&=+>

!"#"! D?-+4&-7')F+&@)G3@?'-7+5)8-#:-)'%7-3%7+59

I2#%("1)0('&#6'()*#(&11(")*7#<(#"#$#%&(#?&-%,&-1%($)/(1,,3*(&11(*)6-0"/<(42-,2()""14'(&2#+1*,#(*#"#)'#(6*1,#''(&1()++#,&()0.#*'#"/(&2#('&*#''5'&*)-%(2-'&1*/(1+($)&#*-)"()2#)0(1+(&2#,*),=(+*1%&8(E2#(2-'&1*/(#++#,&'($)/(,)3'#(0-++-,3"&-#'(-%(f#4&1%(,1%.#*7#%,#(1+(&2#(7"1:)"'1"3&-1%<(1*($)/(,)3'#((5!.(,3*.#'(&1(:#(&11(2-72<(&11("14<(1*(&1(1',-"")&#8(E1()""#.-)&#(&2-'

Page 347: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Extinction

5.2–5Chapter 5 Crack Growth

6*1:"#$<(IJKLM9(6*1.-0#'()(+#)&3*#(&1(*#03,#()3&1$)&-,)""/(&2#("1)0('&#6('->#(:)'#0(1%&2#(,2)%7#(4-&2-%()("1)0('&#6(1+(&2#()66*16*-)&#(,*),=(7*14&2(6)*)$#&#*8(E2#(*#03,&-1%)"71*-&2$(16#*)&#'()'(+1""14'A(,1%'-0#*()(=-""):"#(#"#$#%&(1%(&2#(,*),=(6")%#8(b+(&2#(6)*)$#5&#*(3'#0()'(&2#(7*14&2(,*-&#*-1%(-%,*#)'#'($1*#(&2)%()(3'#*5'6#,-+-#0()$13%&(-%()('-%7"#"1)0('&#6<(&2#(7*14&2(6*1,#''1*('#&'()(6#*$)%#%&(SQk(*#03,&-1%(1%()""(+3&3*#("1)0('&#6'->#'8(E2-'(SQk(*#03,&-1%(*#6#)&'()'(%##0#0(-%('3:'#;3#%&('&#6'(3%&-"(&2#($)?-$3$(-%,*#5$#%&(1+(7*14&2(6)*)$#&#*(-'(%1&(#?,##0#0(4-&2-%()("1)0('&#68

N1*(&2#(%)1%($10#"<()(3'#*5'6#,-+-#0(-%,*#$#%&(1+(6")'&-,('&*)-%(4-&2-%()('&#6(6*1.-0#'&2#(,*-&#*-1%(+1*("1)0(*#03,&-1%(F!!2 % !!2

1$*3C8(l'#(1+()("1)0(*#03,&-1%(6)*)$#&#*(42-,2(-'

&11('&*-%7#%&(+1*,#'(&2#("1)0('&#6'(&1(:#,1$#(3%%#,#'')*-"/('$)""<(42-"#(&2#(3'#(1+()("#%-#%&*#03,&-1%(6)*)$#&#*($)/(%1&(,1$6"#&#"/(#"-$-%)&#(2-'&1*/(#++#,&'H(&*-)"()%0(#**1*(-'(*#5;3-*#0(&1(0#&#*$-%#(6*16#*(.)"3#'8((E1()''-'&(-%(,211'-%7(*#03,&-1%(.)"3#'<(IJKLM9(6*-%&'&2#(,2)%7#(-%(&2#(7*14&2(6)*)$#&#*()+&#*(#),2('&#6(+1*()""(=-""):"#(#"#$#%&'(-+(&2#(6*-%&('&)5&3'(+")7(-'('#&(&1(&'8(f1&#(&2)&()66*16*-)&#(*#03,&-1%(.)"3#'($)/(:#(0-''-$-")*(:#&4##%()%)"5/'#'(4-&2(0-++#*#%&(7#1$#&*-#'<("1)0-%7'<(1*($)&#*-)"(,2)*),&#*-'&-,'8

E2#(,1$$)%0(&1(*#;3#'&()3&1$)&-,("1)0(*#03,&-1%(+1*(&2#(%)1%(,*-&#*-1%(-'A

[ (maximum) (plastic) strain (change) <real> ]automatic (load) (reduction) offon

42#*#(i$+.-j(0#%1&#'(&2#($)?-$3$()""14):"#(-%,*#)'#(1+(&2#().#*)7#(6")'&-,('&*)-%(-%(&2##"#$#%&(F!2C(4-&2-%()("1)0('&#68(5&3+A(&2-'(-'()('6#,-+-,('&*)-%(-%,*#$#%&8(d/(0#+)3"&<(&2#($)?5-$3$(-%,*#)'#(-%(6")'&-,('&*)-%(-'(Q8QB()%0(&2#("1)0(*#03,&-1%()"71*-&2$(-'(1++8

E2-'("1)0(*#03,&-1%()"71*-&2$(%#.#*(*'1$+.%+%(&2#("1)0('&#6('->#(3'#0(-%('3:'#;3#%&("1)0'&#6'(#.#%(&21372(&2#(*#03,&-1%($)/(%1("1%7#*(:#(%##0#08(E2#(%&-#3*&'02.$.)+3+$%(-%63&+1*(&2#()%)"/'-'(6*1.-0#'()(,1$$)%0(FT#,&-1%(D8BQ8BMC(42-,2("#&'(&2#(3'#*(*#'#&(&2-'(7"1:)""1)0(*#03,&-1%(+),&1*(&1()%/(0#'-*#0(.)"3#<(-8#8<(*#'#&&-%7(&1(B8Q(+1*,#'(&2#('1"3&-1%(&1(,1%&-%53#(4-&2(&2#(3'#*50#+-%#0("1)0('&#6('->#'8

!"#"H 16-75'-7+5)D2<+%7-.4

J&(&2#(:#7-%%-%7(1+(#),2("1)0('&#6('(F'jBC<()%0(#),2()0)6&-.#('3:5'&#6<(&2#().#*)7#(.)"3#1+(&2#(0)$)7#(6)*)$#&#*(-'(,1$63&#0(+1*(#),2(,*--./-+(#"#$#%&(-%(&2#($10#"8(I2#%(&2#(#"#5$#%&(,1%0-&-1%'()*#('3,2(&1(*#;3-*#(#?&-%,&-1%(F),2-#.#0(&2#(,*-&-,)"(.)"3#(1+(&2#(0)$)7#6)*)$#&#*(1*(&2#('#;3#%&-)"(1*0#*-%7(+#)&3*#(0-,&)&#'(#?&-%,&-1%(#.#%(42#%(&2#(,*-&-,)"0)$)7#(.)"3#(-'(%1&(/#&()&&)-%#0C<(&2#(+1""14-%7(),&-1%'()*#(&)=#%A

! _13%7m'($103"3'()%0(L1-''1%m'(*)&-1(+1*(&2#(#"#$#%&()*#('#&(&1(>#*18(E2#(#"#$#%&(2-'&1*/0)&)(-'(0#"#&#0(F61*1'-&/<(6")'&-,('&*)-%<('&*#''#'<(#&,8C8

! !"#$#%&(,1%&*-:3&-1%'(&1(&2#(7"1:)"(-%&#*%)"(+1*,#(.#,&1*()*#()66"-#0()'(%10)"(+1*,#'8(J""'3:'#;3#%&(,1%&*-:3&-1%'(1+(&2#(#"#$#%&(&1(7"1:)"(#;3-"-:*-3$()*#(>#*18(E2#(#"#$#%&(-%&#*5%)"(+1*,#(.#,&1*(42#%(#?&-%,&-1%(:#7-%'(-'(7*)03)""/(0#,*#)'#0(&1(>#*1(-%()("-%#)*(+)'2-1%1.#*('3:'#;3#%&("1)0('&#6'8(d#,)3'#(&2#(#"#$#%&(+1*,#'()*#(,1%.#*&#0(-%&1(%10)"(+1*,#'()%0&*#)&#0(&2#*#)+&#*()'(1*0-%)*/(F3'#*5'6#,-+-#0C(+1*,#'<(&2#(F7"1:)"(f#4&1%C()0)6&-.#('&#6()"571*-&2$(-'(3%)++#,&#0(:/(,*),=(7*14&2()%0(1+&#%(6*1.#'(#''#%&-)"(+1*(1:&)-%-%7(,1%.#*7#0'1"3&-1%'(+1""14-%7()(7*14&2(-%,*#$#%&8

! J""('3:'#;3#%&(,1$63&)&-1%'(+1*(&2#(#"#$#%&('&-++%#''(F"-%#)*(1*(&)%7#%&C(*#'1".#(&1()(>#*1$)&*-?8

! I2#%()""(#"#$#%&'(,1%%#,&#0(&1()(%10#()*#($)0#(#?&-%,&<(&2#(%10#(2)'(%1('&-++%#''()%0-%&*103,#'()('-%73")*-&/(-%&1('3:'#;3#%&(#;3)&-1%('1".-%7(#++1*&'8(E1(6*#.#%&(&2-'<(&2#(#"#5

Page 348: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Extinction

5.2–6Chapter 5 Crack Growth

$#%&(#?&-%,&-1%(6*1,#03*#'(&*),=(&2#(%3$:#*(1+(#"#$#%&'()&&),2#0(&1($10#"(%10#'()&()%/&-$#()%0()3&1$)&-,)""/('366"/(%#4(,1%'&*)-%&'(1%(OO+*##P(%10#'(&1(#"-$-%)&#(&2#('-%73")*-&/8

! E2#(:"1,=-%7(*#;3-*#$#%&'(0-,&)&#(&2)&()""(#"#$#%&'(-%()(:"1,=($3'&(:#(,*--./-+8(I2#%()%#4(#"#$#%&(-'($)0#(#?&-%,&(-%()(:"1,=<(,2#,='()*#($)0#(&1(0#&#*$-%#(-+()""(#"#$#%&'(-%(&2#:"1,=(2).#(:##%($)0#(#?&-%,&H(,1$63&)&-1%'(1%('3,2(:"1,='($)/(:#(,1$6"#&#"/('=-66#0(-%'3:'#;3#%&("1)0('&#6('1"3&-1%'8

!"#"I G323&A3)J+@32A)K+%)123435-)L+%'3A

E2#('-$6"#'&(6*1,#03*#(&1(*#")?(-%&#*%)"(%10)"(+1*,#'(+1*()(%#4"/(#?&-%,&(#"#$#%&(#$6"1/')(+-?#0(%3$:#*(1+("1)0('&#6'8(E2#(,1$$)%0'(&1('6#,-+/(&2-'(16&-1%()*#

force (release) (type) steps

release (steps) <(-%&#7#*(>

E2-'(+1*,#(*#"#)'#($10#"(-'(&2#(0#+)3"&(16&-1%()%0(,)%(:#(3'#0(&1(*#%0#*(#?&-%,&()%/(#"#$#%&-%(&2#($10#"<(42#&2#*(1*(%1&(-&("-#'(1%(&2#(,*),=(6")%#8(E2#(0#+)3"&(.)"3#(-'(S('&#6'8(E2#(%3$5:#*(1+(*#"#)'#('&#6'(1.''&3(:#()"&#*#0(1%,#()%/(#"#$#%&'(2).#(:##%($)0#(#?&-%,&8((J(,1$56"#&#(#?)$6"#(1+(,*),=(7*14&2(-%63&(3'-%7(&2-'(+1*,#(*#"#)'#(6*1,#03*#(-'A

crack growth parameters type of growth element_extinction gurson force release type steps release steps 10 critical porosity 0.25 print status on order 20–80 by 2 sequential extinction on order 20–80 by 2 adaptive load control on maximum porosity change 0.05

I2-"#(&2#():1.#(6*1,#03*#(-'('-$6"#<(,1$63&#0('1"3&-1%'(1+&#%(#?2-:-&()%(3%03#(0#6#%50#%,#(1%(&2#(%3$:#*(1+("1)0('&#6'(#$6"1/#0(-%(&2#()%)"/'-'8(I2#%(")*7#("1)0('&#6'()*#(0#5+-%#0<(+1*(#?)$6"#<(&2#():1.#(6*1,#03*#(F4-&2(*#"#)'#('&#6'(j(BC()*&-+-,-)""/(*#'&*)-%'(16#%5-%7(1+(&2#(,*),=(+),#'8(b%()%)"/'#'(4-&2(.#*/('$)""("1)0('&#6'<(&2#(#"#$#%&(-%&#*%)"(+1*,#'$)/(:#(*#03,#0(&1(>#*1(&11(;3-,="/8

E1(6"),#(&2#(+1*,#(*#"#)'#(6*1,#''(1%()($1*#(62/'-,)"(:)'-'<()("-%#)*(&*),&-1%5'#6)*)&-1%$10#"(-'(6*1.-0#08(N-73*#(S8B(-""3'&*)&#'(&2-'($10#"(3'-%7()(D59(',2#$)&-,8(b%(N-78(S8B(F)C<"#&(?(0#%1&#(&2#(3%0#+1*$#0(2#-72&(%1*$)"(&1(&2#(,*),=(6")%#(1+()(&/6-,)"(OO,#""P(#"#$#%&F'3,2(#"#$#%&'()*#(1+&#%(';3)*#(1*(%#)*"/('1C8(I2#%(&2-'(#"#$#%&(*#),2#'(&2#(,*-&-,)"(61*1'5-&/<(&2#().#*)7#(0#+1*$#0(2#-72&(%1*$)"(&1(&2#(,*),=(6")%#(-'(0#%1&#0(?Q<()'(-%0-,)&#0(-%N-78(S8B(F:C8(E2-'(.)"3#(-'(,1$63&#0(3'-%7(&2#(.=+$."+(0-'6"),#$#%&(%1*$)"(&1(&2#(,*),=6")%#(1+(&2#(+13*(%10#'(1%(&2#(OO&16P(+),#(1+(&2#(#"#$#%&8(93*-%7('3:'#;3#%&("1)0('&#6'<(&2#%#4"/(#?&-%,&(#"#$#%&(,1%&-%3#'(&1(#"1%7)&#(%1*$)"(&1(&2#(,*),=(6")%#<(4-&2(&2#().#*)7#0#+1*$#0(2#-72&(0#%1&#0(?<()'('214%(-%(N-78(S8B(F,C8(E2#(-%&#*%)"(+1*,#'(6*#'#%&(-%(&2#(#"#5$#%&()&(#?&-%,&-1%()*#(*#03,#0(&1(>#*1(-%()("-%#)*(+)'2-1%(4-&2('3:'#;3#%&(-%,*#)'#'(-%? % ?Q8(J&()%/("1)0('&#6()+&#*()&&)-%-%7(&2#(,*-&-,)"(0)$)7#('&)&#<(&2#(*#$)-%-%7(+*),&-1%1+(-%&#*%)"(+1*,#'()66"-#0(&1(%10#'(1+(&2#(#?&-%,&(#"#$#%&<(%<(-'(7-.#%(:/

% ! B8Qc #c? g # g ?Q

& g?nnnFQ ) %) BC FS8DC

42#*#()(&/6-,)"(.)"3#(+1*(&2#(*#"#)'#(+),&1*<( &<(-'(Q8B8

Page 349: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Extinction

5.2–7Chapter 5 Crack Growth

NbG8(S8Ba@$.13*&'7A+2.$.3*&'0B&;+-0!&$0C+-+.%+0&!0D83*'130D-+)+'30E&$1+%

Normal to CrackPlane

DD0

D

c) Subsequently Deformed Meshand Height D

a) Undeformed Mesh ShowingInitial Cell Height, D Value Damage and Height D0

%

&D D#D0

1

00

%!fraction of extinct elementforces remaining on nodesafter critical damage attained

d) Linear Traction#SeparationModel

b) Deformed Mesh at Critical

b%63&(,1$$)%0'(&1('6#,-+/(&2#(&*),&-1%5'#6)*)&-1%($10#"()*#(&23'A

force (release) (type) traction(-separation)

release (fraction) <(& +),&1*A%3$:#*>

crack (plane) normal coordinate <number>xyz

cell height <(? 0-$#%'-1%A%3$:#*>

E1('3661*&(7#%#*)"(#"#$#%&($#'2-%7<(&2#(%1*$)"(0-*#,&-1%(&1(&2#(,*),=(6")%#($)/(:#()%/1%#(1+(&2#(,11*0-%)&#()?#'()%0(&2#(61'-&-1%(1+(&2#(,*),=(6")%#($)/(:#(%1%5>#*18(?+!.#-3(.)"53#'()*#('&3('366"-#0(+1*(&2#(,*),=(6")%#(%1*$)"(0-*#,&-1%(1*(,#""(2#-72&H(3'#*'($3'&(#?6"-,-&"/0#+-%#(.)"3#'(+1*(&2#'#(6)*)$#&#*'8(E2#(0#+)3"&(.)"3#(1+0&(-'(Q8B8(J(,1$6"#&#(#?)$6"#(1+,*),=(7*14&2(-%63&(3'-%7(&2#(&*),&-1%5'#6)*)&-1%($10#"(-'A

Page 350: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DElement Extinction

5.2–8Chapter 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

!"#"M J3A.75<)G3A-%7'-7+5A

E2#()3&1$)&-,(6*1,#03*#'(-$6"#$#%&#0(&1(*#%0#*(#"#$#%&'(#?&-%,&(-$61'#(*#'&*-,&-1%'(1%&2#(#"#$#%&($#'2(")/13&()"1%7(&2#(-%-&-)"(,*),=(+*1%&()%0()"1%7(&2#(*11&'(1+('-0#57*11.#'8N-73*#(S8D(-""3'&*)&#'(&2#(*#,1$$#%0#0($#'2(0#'-7%(-%()(6")%#(%1*$)"(&1()(7#%#*)"(M59,*),=(+*1%&8(V*),=(#?&#%'-1%(1,,3*'(-%(&2#(F1(0-*#,&-1%(1%(&2-'(+-73*#H(G1(-'(&)%7#%&(&1(&2#,*),=(+*1%&8(b&(-'(#''#%&-)"(&2)&(%1(1&2#*(#"#$#%&'(,1%%#,&(&1(&2#(OO+*1%&(%10#'P(#?,#6&(&2#&21'#()"1%7(&2#(+*1%&(-%0-,)&#0(:/(&2#("#&&#*(D8(J(&*)0-&-1%)"(OO+1,3'#0P($#'2()&(&2#(-%-&-)",*),=(&-6(,)%(:#(3'#0(1%"/(-+()('$)""(=#/21"#(*#$)-%'('1(&2)&(&2#(&161"17-,)"(*#;3-*#$#%&'214%(-%(&2#(+-73*#(*#$)-%'(')&-'+-#08(b+(%##0#0(+1*(,1%.#%-#%,#(-%($#'2(,1%'&*3,&-1%<(#"#5$#%&'(1%(&2#(-%-&-)"(,*),=(+),#(FH1!QC(:#"14(N('214%(1%(&2#(+-73*#(,)%(:#(-%,"30#0(-%(&2#$10#"8(T3,2()%()**)%7#$#%&(0#+-%#'()(1%#5#"#$#%&<(';3)*#(=#/21"#()&(&2#(-%-&-)"(&-68

J('-$-")*(&161"17-,)"(*#;3-*#$#%&($3'&(:#(')&-'+-#0()&(&2#(*11&'(1+('-0#(7*11.#'8(E2#(+-753*#('214'()(OO';3)*#P('2)6#(+1*(&2#(*11&(1+(&2#('-0#57*11.#(4-&2(&2#(OO*)0-3'P(1+(&2#(*11&(7-.#%:/(&2#(H1(0-$#%'-1%(1+(#"#$#%&'(D8(f1(1&2#*(#"#$#%&'(#?,#6&(&21'#(-%0-,)&#0(:/(D(,)%(:#,1%%#,&#0(&1(&2#(-%0-,)&#0(%10#'()"1%7(&2#('-0#57*11.#(*11&8

d1&2(&2#(,*),=(+*1%&()%0('-0#57*11.#(*11&(*#'&*-,&-1%'(1%($#'2(&161"17/()*-'#(+*1$(&2#,1%%#,&-.-&/(,13%&-%7(3'#0(-%(&2#(#?&-%,&-1%()"71*-&2$8(V1%'-0#*(&2#(,*),=(+*1%&(#"#$#%&'D('214%(-%(&2#(&16(+-73*#8(E2#(,*),=(7*14&2(6*1,#''1*($)-%&)-%'()(,13%&(1+(&2#(%3$:#*(1+#"#$#%&'(,1%%#,&#0(&1(#),2(%10#(1+(&2#($10#"8(J'(&2#(D)#"#$#%&'()*#($)0#(#?&-%,&<(&2#%3$:#*(1+(#"#$#%&'(,1%%#,&#0(&1(&2#(%10#'()*#(0#,*#$#%&#08(I2#%(&2#(OO,13%&P(+1*()(%10#*#),2#'(>#*1<(&2#(,*),=(7*14&2(6*1,#''1*(-%'#*&'(%#4(0-'6"),#$#%&(,1%'&*)-%&'(-%&1(&2#(0)5&):)'#(42-,2(+3""/(,1%'&*)-%('3:'#;3#%&($1.#$#%&(1+(&2#(%10#H(42#%(&2#(,13%&(*#),2#'>#*1<(&2#*#()*#(%1(#"#$#%&'(4-&2(*#$)-%-%7('&-++%#''()&&),2#0(&1(&2#(%10#()%0()('-%73")*'1"3&-1%(413"0(1&2#*4-'#(*#'3"&8(b+(*#73")*(#"#$#%&'(F%1(0)$)7#()""14#0C()*#(0#+-%#0(&1(&2#"#+&(1+(D(-%(&2#(&16(+-73*#<(&2#(,13%&(+1*(&2#(+*1%&(%10#'(%#.#*(*#),2#'(>#*1<()%0(&21'#(#"#5$#%&'('366*#''(16#%-%7(1+(&2#(&-68

Page 351: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Element Extinction

5.2–9Chapter 5 Crack Growth

NbG8(S8Da@&2&-&"*1.-0C+%3$*13*&'%0&'0B+%<+%0!&$0D-+)+'30D83*'13*&'

Initial Crack Length Direction of Crack Growth

Crack Front Nodes

H1

F1

G1

b) Recommended Mesh at Root of Side–Grooves

A

General CurvedCrack Front

B

G1

F1

G1F1

H1

A Modelled 1/2 Widthof SG Root

Nodes Along Rootof SG

1/2 of Included SGAngle

a) Recommended Mesh in Plane Normal to Crack Front

Page 352: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-1Chapter 5 Crack Growth

5.3 Crack Growth by Node Release

In crack growth by node release, WARP3D releases constraints applied to nodes on thecrack front after a user!specified level of deformation, thereby creating new, traction!freecrack surfaces. The presently available measure of deformation is the opening angle of thecrack faces at each crack front node (CTOA). During subsequent, user!specified load steps,the forces previously exerted by the constraints normal to the crack plane (reactions) relaxto zero over a user!specified number of load steps, or through a simple, linear traction!sepa!ration law.

Strategies for node release generally follow one of two approaches: (1) the user!specifiedexternal loads and displacement boundary conditions remain fixed while additional loadsteps relax the reaction forces to zero on newly unconstrained nodes, or (2) the externalloads and displacement boundary conditions continue to change according to the user!spe!cified values during subsequent load steps concurrent with the relaxation of reaction forceson 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 theeffects of artificial unloading of the material, and (2) the computation time decreases dra!matically by eliminating the additional ‘‘release" steps. Numerical studies reveal negligibledifferences in solutions with the two strategies.

The node release procedures permit very general, non!uniform (Mode I) growth alonginitially 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 intoa larger crack.

The crack growth processors also provide the option to enforce topologically uniformgrowth along each crack front. The user specifies a ‘‘master" node on each initial front; theCTOA 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" ofthe initial and subsequent crack fronts. They must be "topologically" consistent#$#samenumber and type of elements along the front at each crack advance. This capability enablesstrong 3!D 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 thisenforced uniform growth approach, the CTOA is computed at a user!specified, fixed dis!tance behind each current crack front. The distance may or may not coincide with a nodelocation. 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 well!behaved solutions and affords the option to investi!gate convergence of crack growth solutions with mesh refinement. With the introductionof a fixed distance behind the front at which to compute the CTOA, the mechanics of growthbecome 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 growthto occur at a specified CTOD).

Finally, with both the general 3!D and the topologically uniform growth capability, theuser can explicitly request crack growth at any time through a simple command. Such afeature proves convenient, for example, to model fatigue crack growth through node releasewhen a growth "criterion" is not actually employed in the analysis.

Crack growth by node release requires these user actions:

Page 353: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-2Chapter 5 Crack Growth

! 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.

! use the commands described subsequently in this section to define parameters controllingthe crack growth procedures (critical angle for release, number of release steps, etc.). Thespecification of these parameters is analogous to the nonlinear solution parameters; somecrack growth parameters may be altered during the analysis as noted in the command de!scriptions that follow.

! use combinations of compute and output commands to control the nonlinear solution overload steps. The solution management routines in WARP3D automatically invoke crackgrowth procedures.

! the analysis restart features of WARP3D fully support crack growth modeling. Restart filescontain the values of growth parameters and the solution state required to continue ananalysis with crack growth.

To assist the user in performing fracture analyses, additional features are provided by thecrack growth processors. These address the proper specification of load increments andsizes 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 stress!strain fields ahead of thecrack front. If crack growth occurs over too few load steps, the solution may show an effectdue to an insufficient number of load steps. The automatic procedures implemented in theWARP3D crack growth processors resolve these two problems.

5.3.1 Geometry Requirements

The procedures for automatic node release impose several restrictions on the geometry ofthe model.

" Cracks exist initially and propagate within a plane which must be normal to one of thecoordinate axes.

" 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.

" Consider all the nodes on the crack plane. Nodes initially unconstrained in the normaldirection define the initial crack shape. Constrained nodes which share an element edgewith one or more unconstrained nodes define the crack front.

" At least one node on the crack plane must be left unconstrained, otherwise no crackgrowth can occur.

" Multiple crack fronts can exist on the crack plane.

" Currently, the node release algorithm does not support focused meshes which use col!lapsed elements at the crack tip.

At present, only l3disop elements (8!node bricks) may be defined over the portion of thecrack plane involved in the node release procedures. The model may contain 20!node ele!ments and transition elements elsewhere in the mesh, but not over that portion of the crackplane involved in the crack growth process.

Non!Uniform Growth Along a Front

Figure 5.3 illustrates a simple arrangement for crack growth by node release in which theinitial crack front geometry varies strongly. This also illustrates a possible configurationafter some amount of non!uniform growth from an initially straight crack front. Here, the

Page 354: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-3Chapter 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.3$Example Crack for General Node Release Crack Growth.

z direction coincides with the crack plane normal; filled and unfilled circles indicate crackplane nodes. The three unconstrained nodes on the crack plane (unfilled circles) define theinitial 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. Nodec is not on the crack front since it does not share an element edge with any unconstrainednode on the crack plane.

This crack growth process as implemented in WARP3D is quite general. For example,it easily models non!uniform crack growth along an initial semi!elliptical surface flaw ina 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 loadingprocess.

Topologically Uniform Growth Along a Front

A less general capability is also implemented for those situations requiring topologicallyuniform growth along a front, e.g., to model growth in thin materials where very local 3!Deffects at the front can influence the CTOA but where growth is satisfactorily representedas uniform over the thickness. In such cases, the number of elements defined over the crackfront 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 8!node elementsover 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 ofcrack growth at each front should be maintained at a constant value in the mesh. The crackfronts may be initially curved and change curvature (due to mesh variations) as the crackadvances. 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 restrictedgrowth model, multiple initial cracks may be defined and those cracks may also grow to co!alesce.

Page 355: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-4Chapter 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) nonenode 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. Crackgrowth by node release and crack growth by element extinction cannot both be used in asingle 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 reactionsdescribed in Section 5.3.3 will not be completed.

The node release algorithm requires specification of the crack plane. The command todescribe the crack plane is

crack (plane) normal coordinate <number> (search (tolerance) <value>)xyz

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 crackplane definition, program execution terminates at the next compute command. The searchprocess employs a tolerance to eliminate the potential effects of round!off 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 planenormal coordinate has a zero value, the relative search tolerance value becomes an absolutetolerance value.

Critical Angles for Growth"#"Non!Uniform Growth Along a Front

The processors release a crack front node when the crack tip opening angle (CTOA) at thenode is within 1% of a critical value. WARP3D requires two critical angles; one for initiationof 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 tonodes added to the crack front as it evolves; this simulates the difference in the deformationrequired 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 atthe crack tip, and thus are twice the angle from the model to the crack plane. The critical

Page 356: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-5Chapter 5 Crack Growth

angles have no default value, and cause WARP3D to stop at the next compute commandif not set.

The node release processors compare the appropriate critical angle with the currentopening 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 compareeach angle with the critical value. Computation of the current opening angle proceeds asfollows (see Figure 5.4): Consider crack front node a and the corresponding unconstrainednode b. Construct a line through nodes a and b. Find the angle!1 between the constructedline (a!b) and the projection of the constructed line in the crack plane (a!d); this angle ishalf of the current opening angle. Repeat this process for nodes b!c. If 2!1%(0.99"criticalCTOA), the processors release the constraint on node a. If 2!2%(0.99"critical CTOA), theprocessors also release the constraint on node c.

b

a d

c

FIG. 5.4$Computation of Crack Tip Opening Angles.

CTOA1!2!1CTOA2!2!2

!2!1

When any of the opening angles at a crack front node exceed 0.99"the specified criticalvalue, 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 thenode, the processors convert the nodal reaction force in the normal direction into a nodalapplied force, which decreases linearly to zero either over a number of sequential load stepsor using a simple traction!separation law. Multiple nodes can be in various stages of releaseat 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 crackfront becomes desirable, e.g., growth in very thin materials. In such cases, the user specifiesa single ‘‘master" node for each initial crack front. The crack growth processors then locateall adjacent nodes on each of the crack fronts (using only topology information to enablemodels with initially curved crack fronts). The CTOA at a user!specified distance behindthe front of each master node is monitored to govern the crack growth process. When theCTOA 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 numberof nodes along the new crack front must be identical to the number before growth. WARP3D

Page 357: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-6Chapter 5 Crack Growth

requires that the user specify as input the number of crack front nodes to support errorchecking and automatic updating of master node lists. The commands to invoke uniformgrowth 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 nodesmust 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 keyonly on the master nodes when uniform growth is enforced.

The commands to request uniform growth must follow specification of the crack planenormal. This enables immediate consistency checking and validation.

For enforced uniform growth, WARP3D computes the CTOA for each crack front masternode at a user!specified distance behind the front. The specified distance does not need tocorrespond 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 supportenforced 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 valuefor initiation proves convenient to set the criterion for initial growth using a critical valueof the CTOD, for example, based on the usual 90!degree intercept definition of CTOD. Todefine this situation, set the distance as 0.5"the critical CTOD and the initiation angle as90!degrees.

In the above discussion, let Lc denote the distance behind the crack front at which theCTOA is computed (Lc 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 noderelease process. Generally, the distance Lc corresponds to a multiple of the element dimen!sion, denoted Le, on the crack plane in the direction of crack advance. This is not requiredbut it is most often the case so that the CTOA is computed at a node location. To enableWARP3D to allocate necessary data structures and to perform consistency checks, the codeneeds the value for Le. This information is specified with the command

characteristic (length) < length:number>

where Le&Lc. When Lc is a simple multiple of Le, the crack advances by Lc'Le whole ele!ments in the direction of growth during each release process. When Lc is not a simple multi!ple of Le, the crack advances by the nearest whole number of elements. If Lc'Le!1.4, forexample, the crack front advances one element forward; if Lc'Le!1.6 the crack advancestwo elements forward, etc.

Page 358: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-7Chapter 5 Crack Growth

Crack Growth on Demand Without Specifying Critical Angles

In some modeling situations, users may desire to force crack growth immediately before thenext load step of the analysis irrespective of the crack growth criterion. This capabilityproves 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 actualCTOA values. To force an immediate crack growth by standard node release at all currentfront nodes on all crack fronts, insert the following command sequence before a loadstep:

crack growth parameters enforce node release (next) (load) (step)

This command remains active only for the subsequent load step. Thereafter, the crackgrowth 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 set!up of the crack growth parameters for use of this enforced releasecapability is:

" Set the critical angles for initiation and continued growth to have very large values, e.g.100.

" Use the step release method to relax reaction forces on newly released nodes (use of thetraction separation method for forced growth is complex due to the changing angles)

" The overshoot and load!reduction features are not applicable for this type of analysis.They should not be included in crack growth parameters.

" Insert (and repeat) the two command sequence above before each step during which anenforced node release is required

The following input shows a simple example of this set!up.

crack growth parameters type of growth node_release crack plane normal z coordinate 0.0 constant front growth on master node list 2301 number of nodes along front 6 angle for release 100.0 distance 1.0 angle for initiation 100.0 distance 1.0 characteristic length 2.0 force release type steps release steps 5 overshoot control off automatic load reduction off print status on . . compute displacements loading test step 50 crack growth parameters enforce node release next step compute displacements loading test step 51-100 . .

In this above example, node release takes place only before the solution for step 51.

Page 359: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-8Chapter 5 Crack Growth

Overshoot Control

Analyses conducted using large load step sizes may experience significant "overshoots" ofthe critical angle before the crack growth processors detect the event at the beginning ofthe next load step. For example, if the critical angle is 10#, large step sizes may cause noderelease 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 eachcrack front node over the next step by extrapolating the previous step value, based uponthe user!specified load increment (the numeric ‘‘multiplier" in the step definition). If thepredicted angle exceeds a specified percentage of the critical angle, the growth processorsreduce 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 limiton the load reduction may be specified to avoid excessively small load steps. This processexecutes prior to the actual solution for a load step and simply scales the incremental loads(and non!zero constraints). Consequently, the adaptive load step algorithm used to enhanceconvergence of the Newton iterations remains fully available if needed by the process thatdirects 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) offon

where <overshoot limit> specifies the maximum allowable overshoot as a percentage of thecritical angle, and <reduction limit> specifies the smallest allowable load factor expressedas a percentage of the original load step size. By default, the overshoot control mechanismis 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 plane!strain mod!els and in 3!D models with enforced uniform growth along the crack fronts. However, it canbe less effective in general 3!D crack growth when nodal force release follows the traction!separation model coupled with a small release fraction (!). This follows because multiplenodes 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 !!values in the0.3!0.5 range, or smaller load steps, improves the ability of the mechanism to reduce theovershoot error in 3!D.

Control of Simultaneous Node Releases

When load steps are too large, only one or two steps may occur between consecutive nodereleases (with or without overshoot control). This may allow the force release process to af!fect adversely the stress!strain history of material ahead of the crack front. To alleviate thisproblem, WARP3D provides a feature to reduce automatically the load step size based onthe number of load steps between consecutive node releases. The reduction algorithm oper!ates as follows for general 3!D growth. Consider a current crack front node with severalneighbors having opening angles larger than the critical value for release. If the numberof load steps since each of these neighbors were released is less than a user!specified 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.

Page 360: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-9Chapter 5 Crack Growth

The command to request automatic load reduction is:

[ (minimum) steps <steps: integer> ]automatic (load) (reduction) offon

where <steps> denotes the minimum number of steps allowable between node releases. Bydefault, the minimum number of steps between node releases is 6 and the load reductionalgorithm is off. The procedure works in the same manner for enforced uniform growth butonly 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 loadsteps even though the reduction may no longer be needed. The solution parameters inputfor the analysis provides a command (Section 2.10.13) which lets the user reset this globalload reduction factor to any desired value, i.e., resetting to 1.0 forces the solution to contin!ue with the user!defined load step sizes.

Status Printing

The node release procedures provide a convenient printing option to simplify interpretationof the growth process. The command has the form

print (status) offon

where the keyword on or off is required. At the beginning of each load step, this printingoption 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 thecrack plane nodes, both located by the automatic search procedures built into crack growthprocessors. 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, 3!D crack growth input using this force release procedureis:

crack growth parameters type of growth node_release

Page 361: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-10Chapter 5 Crack Growth

crack plane normal z coordinate 0.0 constant front growth off angle for release 20.0 angle for initiation 100.0 force release type steps release steps 10 overshoot control on percent overshoot 10.0 minimum reduction 20.0 automatic load reduction on minimum steps 8 print status on

While the above procedure is simple, computed solutions may exhibit a dependence onthe 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.

Traction!Separation Procedure

The linear traction!separation model improves upon the fixed number of steps approach byplacing the force release process on a more physical basis. In this model, 20% of the reactionforce is released immediately; the remaining 80% decreases linearly with the increasedopening displacement of the node, reaching zero at a specified opening displacement. Theimmediate release of 20% proves removes the possibility of spurious crack closing. A frac!tion, !, 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 planeand the element edge (a(!b) equals the specified fraction of one!half of the critical CTOA(!"critical_angle'2). This is the release height from the node to the crack plane (line seg!ment a(!a) 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:

" ! 0.8 $Current&Distance

Release&Height&&& (0 ) ") 0.8) (5.3)

where " is the fraction of the reaction force on the node (see Figure 5.5b). Note that thereis an immediate 20% reduction of the nodal force to prevent spurious re!closing of the crackface.

Use with general 3!D growth

Since there are no restrictions on the lengths of the element edges on the crack plane, edgesof different length may connect to a crack plane node. Therefore, using element edges inthe calculation of the release height may result in multiple height values. To resolve thisambiguity, the traction!separation model employs a user!defined, characteristic lengthinstead of the length of individual element edges. The characteristic length describes thegeneric edge length on the crack plane; it could be the average of the edge lengths, a medianedge length, or based on some other criterion. Using the characteristic length, the releaseheight, D, becomes:

D ! L% tan(!#c'2) (5.4)

where L is the characteristic length, ! is the release fraction, and #c is the critical CTOAfor continued crack growth. The choice of characteristic length, L, directly affects operationof the node release procedures. If the edges connected to a crack plane node are significantlysmaller than the characteristic length, all the neighbors of the node may be released before

Page 362: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-11Chapter 5 Crack Growth

FIG. 5.5$Traction!Separation Model for Release of Nodal Reaction Forces

"

0.8

00

"! fraction of extinct element forces remaining on nodes

b) Linear Traction–Separation Model

Characteristic Length

Distance of Node afrom Crack Plane

a) Example of Release Height for a Typical Element

ReleaseHeight

$

specified fraction of half ofcritical release CTOA(!!""critical_angle'2)

ba

a(

ReleaseHeight

Normalto CrackPlane

the reaction force reduces to zero. Also, if the characteristic length is too small, the reactionforces 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 traction!separation model are:

force (release) (type) traction( -separation)

release (fraction) < ! factor:number>

characteristic (length) < length:number>

The node release processors require the input of a characteristic length; there is no defaultvalue. ! is the fraction of the critical CTOA for continued crack growth (release angle), witha 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 traction!separation model is:

crack growth parameters type of growth node_release crack plane normal z coordinate 0.0 constant front growth off angle for release 20.0 angle for initiation 100.0 release type traction-separation release fraction 0.2

Page 363: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-12Chapter 5 Crack Growth

characteristic length .01 automatic load reduction on minimum steps 8 overshoot control on percent 1.0 minimum reduction 1.0 print status on

Use with enforced, uniform growth

Since there are no restrictions on the lengths of the element edges on the crack plane, edgesof different length may connect to a crack plane node. Therefore, using element edges inthe calculation of the release height may result in multiple height values. To resolve thisambiguity, the traction!separation model employs the distance, Lc, for continued growth(defined previously with the critical angle) instead of the length of individual elementedges. Using Lc, the release height, D, becomes:

D ! Lc% tan(!#c'2) (5.5)

where ! is the release fraction, and #c is the critical CTOA for continued crack growth.

Input commands to specify the traction!separation model are:

force (release) (type) traction( -separation)

release (fraction) < ! factor:number>

where ! is the fraction of the critical CTOA for continued crack growth (release angle), witha default value of 0.1. This value cannot changed after any nodes have been released. Acomplete example of crack growth input using the traction!separation model with enforceduniform growth is:

crack growth parameters type of growth node_release crack plane normal z coordinate 0.0 constant front growth on master node list 3489 2032 number of nodes along front 9 angle for release 5.1 distance 0.040 angle for initiation 10.2 distance 0.060 characteristic length .010 release type traction-separation release fraction 0.2 automatic load reduction on minimum steps 8 overshoot control on percent 1.0 minimum reduction 1.0 print status on

5.3.4 Node Release Algorithm

During the initialization phase, the node release processors find all of the nodes on the crackplane within a tolerance based on the maximum model dimension in the direction normalto the crack plane. From this information, the processors identify the crack front nodes asall the nodes constrained in the normal direction on the crack plane which share an elementedge with an unconstrained node on the crack plane. The program terminates at the nextcompute command if it cannot find any crack plane nodes.

At the beginning of each load step n (n>1), or adaptive sub!step, the processors calculatethe crack tip opening angle (CTOA) for each node on the crack front (general 3!D growth)or each master node (enforced uniform growth). When the angle reaches the critical value,the following actions occur:

Page 364: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Node Release

5.3-13Chapter 5 Crack Growth

! The processors release the constraint normal to the crack plane .

! The reaction force normal to the crack plane changes into a nodal force which decreasesin a linear fashion over subsequent load steps. Because the reaction force changes into anodal force and thereafter behaves as an ordinary (user!specified) force, crack growth doesnot effect operation of the (global) adaptive step algorithm. Such global adaptivity of theload step sizes often proves essential for obtaining converged solutions following a growthincrement.

! The crack front expands to include the constrained nodes in the crack plane which sharean element edge with the released node.

! The crack growth processor modifies the nonlinear solution parameters as follows: a linearstiffness matrix is requested for the first iteration of the upcoming load step. Such use ofthe linear stiffness matrix for the structure properly accounts for elastic unloading thatgenerally occurs immediately following a node release. This modification in the nonlinearsolution procedure is found necessary to maintain high rates of convergence.

Eventually, only a few constrained nodes may remain on the crack plane. This statemay cause the solution to fail to converge and'or give anomalous displacement values. Theanalysis 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 thepreviously killed nodes at the beginning of each load step and remove all new constraintson 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 solutionprocedures implemented in the code. Experience derived from a number of crack growthanalyses suggests the following guidelines as starting points for consideration.

Number of Load Steps

Controls the overall solution convergence and resolution of the deformation process. Crackgrowth analyses generally reveal strong history effects; the computed R!curves and near!

tip fields are sensitive to the load step sizes and to details of the reaction force release atcrack extension. As an example, consider an SE(B) model with a'W!0.6 and W!50 mm.The material is a mild structural steel with moderate strain hardening. Element sizesalong the crack plane are 0.1 mm. A typical CTOA for initiation of growth is 80!90o and 15o

for continued growth. Successful analyses using 100 equal size load steps to initiate growthand 400 additional steps to extend the crack 4 mm have been generated. These solutionsemploy displacement control loading; small geometry change and large geometry changesolutions require essentially the same number of iterations for convergence at each step.The computed J!"a curve reveals very minor differences for a larger number of load stepsor even a slightly smaller number of steps. In this example analysis, the crack extends by1 element every 10 load steps. Analyses with many fewer load steps also obtain convergedsolutions but reveal dependencies on the load step sizes.

Solution Procedures

WARP3D provides the user full control of the incremental!iterative solution process. Cur!rent recommendations for crack growth analyses are as follows:

solution technique: platform specific sparse solver for all 2!D type models and moderate size3!D models. PCG for all large 3!D models (try the diagonal precondi!tioner first as it is more efficient). For ‘‘shell" type models, always usethe sparse, direct solvers.

Page 365: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3DNode Release

5.3-14Chapter 5 Crack Growth

adaptive solution: use the on option, especially for preliminary analyses. In parametricstudies 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, wehave found cases in which the solution appears to ‘‘stick" and will notconverge. All such cases observed thus far have been successfully solvedby forcing the solution to continue on to the next step, which invariablyconverges. 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 solutionsincluding geometric nonlinearity, but may cause convergence problemsduring 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 helpsin cases with large regions of linear!elastic unloading. Normally, thisoption should not be used (slows convergence) and it is off by default.The crack growth processor forces its use for the next step whenever anew 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 non!convergent solutions during crack growth have been traced to tol!erances set too large. Experience suggests using a combination of two convergence tests asillustrated by the command:

convergence test norm res tol ???? maximum residual tol ????

where ???? are replaced by actual values appropriate to the actual analysis. Suggestedstarting 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 cracktip. 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 nodesin the crack tip region. The output internal forces <node list> command prints the residualforces on the specified nodes following convergence (or non!convergence) of the solution.These forces should be very small relative to forces exerted by these elements on their nodesdue 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 volume'20. Then each componentof the residual force at nodes should be 2!3 orders of magnitude smaller than the estimatedinternal force. The internal forces output also include actual reactions for constrained dofand should not be included in these comparisons.

Page 366: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Crack Growth - Cohesive

5.4 Crack Growth Using Interface-Cohesive Elements

This method of crack formation and growth combines interface finite elements described inSection 3.3 with the nonlinear, cohesive constitutive model described in Section 3.8. Withthis approach, crack extension by the creation of new traction free crack faces evolves as adirect outcome of the computations. Pre-existing cracks are not required in the finite elementmodel. The cohesive constitutive model first increases and then reduces (eventually to zero)tractions across surfaces of the interface elements with increasing values of the opening andsliding (shear) displacement jumps across the surfaces. Interface elements are e!ectively deletedfrom the solution when the the displacement jumps reach large values and cohesive tractionsapproach zero. During subsequent load steps, the interface element sti!ness is taken as zeroand the nodal forces exerted by the interface element on adjacent nodes are relaxed to zeroover a user-specified number of load steps. The user actions required to invoke crack growthwith interface-cohesive elements during an analysis are:

• specify the property keyword killable in the definition of a cohesive material that invokes the cohesivematerial model.

• following the procedures for other nonlinear analyses, define the finite element model, loading, con-straints and nonlinear solution parameters.

• use the commands described subsequently in this section to define parameters controlling the crackgrowth procedures (limiting values of the cohesive behavior, number of release steps, printing options,etc.). These parameters are specified in a manner analogous to specification of the nonlinear solutionparameters. These crack growth parameters can not be altered during the analysis.

• use various combinations of compute and output commands to control the nonlinear solution overload steps. The crack growth procedures are automatically invoked by solution management routinesin WARP3D.

• the analysis restart features of WARP3D fully support crack growth modeling with the interfaceelement and cohesive material model approach. Restart files contain the values of growth parametersand the solution state required to continue an analysis with crack growth.

Note: the present capabilities for crack growth using interface-cohesive elements in WARP3Ddescribed here require that all the killable interface elements have the identical cohesive materialformulation. At present the two available formulations are exp1 intf and ppr described inSection 3.8. Multiple, cohesive materials with di!erent properties may be defined for use in ananalysis, but they all must use the same formulation.

5.4.1 General Input Commands

The sequence of commands to initiate the definition 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 commandstypically are given after the nonlinear solution parameters in the input file. The keywordcohesive invokes extinction of interface elements based on attainment of a user defined, terminalstate in the cohesive constitutive model. If prior crack extension has occurred, use of the noneoption immediately suppresses any further crack growth processing. If elements are in the

Chapter 5 (Updated: 11-26-2010) 5.4-1 Crack Growth

Page 367: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Crack Growth - Cohesive

process of being killed, the reduction to zero of remaining element (internal) forces will not becompleted.

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 ofsubsequent load steps. The interface-element sti!ness is set immediately to zero and remainszero for all subsequent load steps. Input commands to describe the force release model aredescribed in a subsection below.

The crack growth processor provides a convenient printing option to monitor the growthprocess. 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 askillable in the element properties input may be specified for printing. If no list is given, allelements having a cohesive material model, and with the killable property, are included in thelist (in ascending numerical order). When the optional list is given, information is printed forelements in the order specified in the list.

At the end of each load step when this printing option is on, a tabular summary of thecurrent status is printed for each interface element in the list. The values printed depend onthe formulation specified in the cohesive material, e.g., the ppr formulation or the exp1 intfformulation. To prevent excessive amounts of output, information is printed only for thoseinterface-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 currentgrowth 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 significant discrepancies with the expected model behavior.A large load step, for example, may lead to the jump from a pre-peak traction level to apost-peak traction level in just one step. When this occurs, the volume elements incident onthe interface-cohesive elements never experience the peak stress levels that would otherwisebe imposed by the the cohesive traction-separation response with reduced load step sizes. Forvolume elements having a plasticity constitutive model, such “jumping” across the peak ofthe traction-separation curve impacts significantly the development of plastic zones and, as aconsequence, the computed crack-growth response.

To help alleviate this problem, WARP3D provides an adaptive load control feature thatautomatically decreases (or increases) subsequent load-step sizes based on the change in a single,“e!ective” measure of the combined normal and sliding displacement jumps (!) of the interfaceelements (see below for definitions of !). The adaptive algorithm operates as follows:

• At the end of each load step (n), the adaptive code locates the interface-cohesive element thatexperienced the maximum change of ! during the previous step. Let " = !n! !n!1 denote this valuefor convenience.

• If " exceeds the allowable change specified by the user (" > "!peak), the adaptive code estimatesand applies a reduction factor to the user-specified (incremental) loading levels in subsequent load

Chapter 5 (Updated: 11-26-2010) 5.4-2 Crack Growth

Page 368: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Crack Growth - Cohesive

steps such that the projected new values of " become " 0.8 # "!peak (see below for definitions of!peak). The user specifies the value of " during input of the crack growth parameters (see commandbelow). Typical values for " range from 0.15! 0.3, with " = 0.2 often used as the value for a widevariety 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 forat 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 sizesat some prior point in the analysis.

As a result of this adaptive algorithm, the user-specified sizes for load steps are re-defined(down and then possibly up) continually during the analysis to maintain a target " " "!peakin each load step of the crack growth analysis.

The command to request this adaptive load control for the cohesive crack growth processis:

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 valueabove) and the adaptive load control algorithm is o!.

Notes: (1) The adaptive load control here is independent of (and in addition to) the adaptiveload control implemented to assist convergence of the (global) Newton iterations performedat each load step to solve the nonlinear equilibrium equations; (2) Displacement extrapolationshould not be used with adaptive load control, i.e., set extrapolate o! in the nonlinear solutionparameters.

The definitions of ! and !peak vary with the option selected for the formulation of thecohesive material model as defined here.

Exponential option (exp1 intf )

For the “exponential” formulation (option exp1 intf ) of the cohesive material model, wehave:

! =%

#2#

!2s1 + !2s2$

+ !2n (Section 3.8 uses the notation ")

where # is the user-specified mode-mixity weight factor, and !s1, !s2, and !n are the two slidingand 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 first averaged over the element integration points. The averaged values are then used inthe above equation to set !.

The user specifies 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 ofan interface element:

! =%

!2t + !2n ; where !2t = !2s1 + !2s2

Chapter 5 (Updated: 11-26-2010) 5.4-3 Crack Growth

Page 369: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 theelement value. The value of !peak with ppr for adaptive load decisions is found from

!peak =%

!2n!p + !2t!p .

Here, !n!p and !t!p are displacement jumps at peak values of the normal and shear traction-separation curves (see Section 3.8 and figures).

The above definition for !peak may become overly large for pure normal or pure shearloading. In simple normal loading, for example, the user may specify a shear fracture energyand peak traction identical to that for the normal loading for convenience. Then !t!p = !n!p

above with !peak =$2!n!p. The user may compensate for this e!ect 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/orcohesive tractions. The conditions for extinction vary with the formulation selected for thecohesive material model associated with the element.

Exponential option (exp1 intf )

Extinction begins when the e!ective displacement ! (defined in previous section) reachesa multiple ($E > 1) of the e!ective displacement, !peak, corresponding to the peak value ofthe e!ective traction, Tp. The user specifies both !peak and Tp through the cohesive materialproperties delta peak and sig peak.

The command to specify the value of $E > 1 has the form

critical (e!ective) cohesive (displacement) (multiplier) < value >

The default value is $E = 5.74. The e!ective traction corresponding to this level of deformationshould be a small fraction of Tp. For this exponential traction-separation model, a few values ofthe e!ective traction (T ) for varying $E values are: (1) $E = 7.64, T /Tp = 0.01; (2) $E = 6.83,T /Tp = 0.02; (3) $E = 5.74, T /Tp = 0.05; (4) $E = 4.9, T /Tp = 0.10.

Park-Paulino-Roesler option (ppr)

Extinction begins when the normal, !n, and/or (resultant) sliding, !t, displacement jumpsat every integration point of the element exceed a specified fraction ($E < 1) of the limitingdisplacements, !n and !t, at which the normal and shear tractions degrade to zero withoutconsideration of mode-interaction e!ects (see Section 3.8 description and figures). The values of!n and !t are computed by the the cohesive model routines from other user-specified propertiesof 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

Page 370: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 eachinterface-cohesive element is assessed relative to a user-specified terminal state (see discussionsin this section about terminal states for each available cohesive formulation). When the elementconditions 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. Allsubsequent contributions of the element to global equilibrium are zero. The element internal forcevector when extinction begins is gradually decreased to zero in a linear fashion over subsequent loadsteps. Because the element forces are converted into nodal forces and treated thereafter as ordinary(user-specified) forces, the (global Newton) adaptive step algorithm is una!ected by crack growthand often proves essential for obtaining converged solutions following a growth increment.

• All subsequent computations for the element sti!ness (linear or tangent) resolve to a zero matrix.

• When all elements connected to a node are made extinct, the node has no sti!ness and introducesa singularity into subsequent equation solving e!orts. To prevent this, the element extinction pro-cedures track the number of elements attached to each node of the model and automatically supplynew constraints on “free” nodes to eliminate the singularity.

• The blocking requirements dictate that all elements in a block must have the property killable. Whena new element is made extinct in a block, checks are made to determine if all elements in the blockhave been made extinct; computations on such blocks may be completely skipped in subsequent loadstep solutions.

5.4.5 Release of Extincted, Interface-Element Forces

The remaining (small) internal nodal forces for a newly extinct interface element are decreasedto zero over a fixed 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 inthe model, whether or not it lies on the crack plane. The default value is 5 steps. The numberof 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 cohesivematerial 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

Page 371: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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

Page 372: WARP3D 17.4.0 Manual Updated June 5 2013

6.1-1Chapter 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 crash!impact problems. In fracture mechanics, problems of crack closure andthe proper modelling of experimental conditions often necessitates treatment of contact.Regions of a finite element model which undergo contact have boundary conditions thatvary 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 andsolution 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 ofcontact algorithms"contact detection and contact enforcement. Detection of contact in themost general form, where any part of a modeled body can interact with any other bodyand!or itself, often consumes most of the computation time for an analysis and introducessignificant complexity in the code. Finite element codes often employ a number of tech!niques to simplify contact detection by explicitly identifying regions which may contacteach other, or by limiting contact to simple rigid surfaces. Enforcement of contact proceedsalong 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, becomethe forces required to eliminate penetration. This technique is very popular in implicitcodes; however, the additional equations may cause the global structural stiffness matrixto become positive semi!definite, thus limiting the techniques available for solution of thecorresponding linear system. The penalty method provides an alternative approach byintroducing 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 methodretains a positive definite stiffness matrix, very high penalty parameters can make thestiffness matrix ill!conditioned, causing convergence problems and significant round!off er!ror in the final results. Efficient analysis requires care in choosing an appropriate penaltyparameter. Other approaches to enforce contact conditions involve hybrids between thesemethods ([38],[100]).

The contact algorithms in WARP3D implement frictionless, rigid!body contact using astandard penalty method. Contact between deformable bodies and self!contact are not sup!ported in this implementation. Contact occurs between nodes of a finite element mesh anda user!defined set of rigid contact surfaces. Currently, WARP3D supplies three geometriesof surfaces which can be arbitrarily oriented in space: finite!sized 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

Page 373: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

6.1-2Chapter 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 alsoaddress 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 ofWARP3D, 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 keydetails of the parallel implementation of contact. A section on contact input describes thenecessary 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: rollingof a steel bar, crushing of a pipe, and crack closure on a pin!loaded C(T) specimen.

Page 374: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-1Chapter 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 thesolution of a finite element model. It has a variety of applications, including the impositionof multi!point constraints, incompressible material models, mesh locking problems, andcontact enforcement [17]. The penalty method follows from the minimum potential energyformulation of the finite element method. The potential energy for a finite element modelis

! " 12

UTKU # UTF (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 ! 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 $!!$U"0, thus:

$!$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:

! " 12

UTKU # UTF % 12

PT"P (6.3)

where P corresponds to the penetration displacement of nodes into contact surfaces, and! 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 ! have units of stiffnessso that 1!2PT

"P has units for energy. Solution of $!!$U"0 for Eq. 6.3 transforms the equi!librium equations to K&U"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 createssprings at the contact points (see Figure 6.1). The springs, placed between each penetratingnode 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 penetrationafter introduction of the spring. However, too large a spring stiffness can cause numericaldifficulties. 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 ofthe spring slightly when including it in the stiffness matrix eliminates oscillation problemscaused by the over!compensation of penetration. Consequently, WARP3D uses a penaltystiffness 0.1% higher than the user!specified value for the stiffness matrix calculations.Furthermore, WARP3D adds each spring stiffness into the corresponding element stiffnessmatrices instead of directly into the global stiffness matrix. Thus, for example, if 6 elementsconnect to a contacting node, then each element stiffness receives 1/6 of the total springstiffness introduced at that node. This approach allows full use of the element!by!elementarchitecture inherent inside WARP3D, as well as the linear preconditioned conjugate gra!

Page 375: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-2Chapter 6 Contact Algorithms

dient solver (LNPCG). Contact between two deformable bodies requires application of thecontact 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 onlyaffect penetrating nodes. This greatly simplifies the calculation of contact forces and theadditions to element stiffness matrices [23].

FIG. 6.1"Illustration of penalty method

n

k

node 1Rigid Surface

Addition of the spring stiffness into the element stiffness matrix seriously degrades theconvergence 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 penaltyparameter requires additional care when employing the LNPCG solver; see Section 6.4 fordetails on choosing the contact stiffness. Furthermore, diagonal dominance of the stiffnessmatrix is crucial for effective LNPCG convergence. If the contact spring is orthogonal to oneof the global coordinate directions, then the spring stiffness adds solely to a correspondingdiagonal term in the element stiffness matrices. However, if it lies skewed to the globalaxes, then part of the spring stiffness adds to off!diagonal terms, reducing diagonal domi!nance of the element stiffness matrix. To alleviate this problem, the contact processorsconstruct a local coordinate system at the penetrating node which is orthogonal to thespring 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 areorthogonal. 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 inglobal 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 codewhen this occurs.

6.2.2 Contact Detection/Calculation

WARP3D determines contact between nodes of the finite element mesh and a set of rigidcontact surfaces at the beginning of each global Newton iteration to solve the equilibrium

Page 376: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-3Chapter 6 Contact Algorithms

equations. During the contact detection phase, contact processors compare all nodes in thestructure with all defined contact surfaces. The implementation currently provides threegeometries of rigid contact surfaces; finite!sized 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 andpenetration algorithms for each of the contact surface geometries. Please see Section 6.3.3for additional description of the contact surfaces and the corresponding input.

Finite!Sized Rectangular Planes

The geometric description of the rectangular plane includes a base point corresponding toone of the corners of the rectangle, two vectors which extend along the edges of the rectanglefrom the base point to the two adjoining corners, and a normal vector. Figure 6.2 shows thegeometric description and outlines the contact detection algorithm.

FIG. 6.2"Contact Detection for Rectangular Plane

1. Compute a position vector between current location of the node p and thebase point of the rectangle

v& " p # pR

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, nocontact.

d " # (v& ' n );$ d ( 0 ) no%contact

3. Compute dot product between v’ and the two edge vectors

a " *v& ' v1+

b " *v& ' v2+

4. If both dot products are between 0 and 1, then the node has penetrated therigid surface

0 , a, b , 1 ) contact

nv&

v1

v2

pR

p

Page 377: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-4Chapter 6 Contact Algorithms

Cylinder

The spatial orientation of the contact cylinder uses a base point, a vector pointing in thedirection of the center line, the length of the cylinder, and the radius. Figure 6.3 outlinesthe contact detection algorithm.

FIG. 6.3"Contact Detection for Cylinder

1. Compute a position vector between the current location of the node p and thebase point of the cylinder

v& " p # pC

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.

! " arccos*v& ' n-v&-+;$ ! . "

2) no%contact

3. Calculate penetration: radius of cylinder minus distance from node to closestpoint on center line. If there is no penetration, return.

d " R # -v&- sin !;$ d , 0 ) no%contact

4. Compute distance between base point and projection of node on to centerline. If distance is greater than the cylinder length, return.

n

v&

!

pC

p

X

Y

Z

L

R

h

h " -v&- cos!;$ h . L ) no%contact

d

Sphere

The sphere requires only a base point and a radius to completely describe its orientationin 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 thanthe radius of the sphere, contact occurs. The spring force acts in the direction of the calcu!lated vector.

Page 378: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-5Chapter 6 Contact Algorithms

6.2.3 Penetration of Multiple Contact Surfaces

If a node penetrates several contact surfaces, the contact algorithms must return thenode 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 itsnodes penetrating a set of three contact planes. Node a penetrates surface 3, so a singlespring returns it to the correct location. Node b penetrates both surfaces 1 and 2, butthe 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.4"Nodes 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 thepenetrated contact surfaces by temporarily returning the node to a contact surface, andevaluating if the other shapes are still penetrated given the new location. By looping overthe contact planes, this process eliminates all the superfluous contact surfaces, leaving onlythe set which must be simultaneously satisfied. The processors also calculate the locationto 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 onthe intersection of the previous return location and the new contact surface. The algorithmassumes during this step that all contact surfaces are planes. This causes some error forcurved surfaces (cylinders, spheres), but if the load steps are sufficiently small, this erroris 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 maycause this algorithm to fail; the use of relatively few intersecting contact surfaces and smallload steps is advised.

6.2.4 Parallel Implementation

The parallel implementation of WARP3D uses a message passing approach (MPI) with asingle #master" processor and many #slave" processors. To support contact during parallelexecution, the root processor sends all slave processors the data for every defined contact

Page 379: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-6Chapter 6 Contact Algorithms

FIG. 6.5"Algorithm for treating nodes which penetrate multiple contact surfaces

1. Compare the node location, p, against the set of all contact surfaces, !, as!

sessing penetration P. Construct !n, a list of the k penetrated surfaces or!dered from the smallest to largest penetration.

!n " /! : P*!i, p+ . 00

2. Consider the contact surface which the node penetrates the least. Set thecurrent 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 returnlocation. If the new surface is not penetrated, remove it from the list of pene!trated surfaces and proceed to the next contact surface.

L*!i, p+ " p # P*!

i, p+n*!

i, p+

r " L*!n1, p+

P*!n

i, r+ , 0$ )$ !n " !n # !n

i;$ i " i % 1

b. Find the location ri& which returns the node to the current contact surface,and zero the current return location.

ri& " L*!

i, p+,$ r " 0

!n

i: i " 2, 3, 111 , k

c. Determine if new contact surface supercedes any previously verified sur!

faces. Loop over previously evaluated contact surfaces; if the location ri& does

not cause penetration of !j , remove !j from !n. Otherwise, include contactplane into new return location.

j " 1, 2, 3, 111 , i # 1

d. Include new contact surface in return location.

P*!n

j, r

i&+23

4

, 0$ )$ !n " !n # !n

j

. 0$ )$ r " r 5 L*!n

j, p+

r " r 5 L*!n

i, p+

4. Continue looping over all contact surfaces until all initially penetrated sur!faces have been processed.

Page 380: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Numerical Procedures

6.2-7Chapter 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 nodeswhich they own. After all processors complete evaluation of contact for the appropriatenodes, the slave processors send their contact force contributions to the root processor,which reduces the contributions into the global contact force vector. The slave processorsalso send the computed nodal coordinate transformation matrices for all owned nodes;these are used in subsequent force calculations and result output.

Page 381: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-1Chapter 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. Inputinvolves a block of commands, beginning with the contact surfaces command, followed byspecifications 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 surfacecause the contact processors to ignore the surface. Re!definition or removal of one or morecontact surfaces may occur between any computational step. Adequate convergence of theanalysis 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 tocontact. 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 typeof 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 >planecylindersphere

where surface number is a number between 1 and 20. Only one surface may be assignedto a specific surface number; defining a surface with a specific surface number supercedesany previous surface definitions assigned to that number. Sequential numbering of contactsurfaces 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 valuemust be a number greater than zero. Efficient analyses may mandate altering the stiffness

Page 382: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-2Chapter 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 givesthe 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 iszero in all directions. Note that this command requires appropriate setting of the time stepsize (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 userre!definition 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. Thenormal defines the positive (outward) side of the surface. The rectangular surface definesa right rectangular prism extending in the negative normal direction a depth as specifiedin 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 algorithmswhich handle intersections between multiple rectangular surfaces and/or other contactsurfaces.

FIG. 6.6"Definition of rectangular contact surface

Sample Input:

contact surfacesurface 1 plane

point 3 5 2point 5 4 3point 4 6 1depth 4stiffness 1.0e8

P1"3 5 2

P2"5 4 3

P3"4 6 1 Normal Calculation:

V1"P2#P1"[2 -1 1]V2"P3#P1"[1 1 -1]V3"V16V2"[.707 .707 0]

V2

V1

V3

depth

X

Y

Z

Designation of the geometry of the rectangular surface requires the specification ofthree points in space (use the following command three times):

Page 383: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-3Chapter 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 thirdpoints are the corners adjacent to the base point; see Figure 6.6. The normal of the contactplane follows from the three points as follows. Denote the three points as p1, p2, and p3.Define two vectors, v1"p2 ! p1 and v2"p3 ! p1. The normal is v16v2. The normal vectordefines the positive (outward) side of the contact plane; all nodes found on the negative sideof the plane are penetrating nodes. This places several restrictions on the specification ofthe three points. The vectors v1 and v2 must define a 90 degree included angle. Further!more, the order in which the points are input determines the normal vector; flipping thedefinition of points 2 and 3 flips the direction of the normal. Users should verify that thenormal 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 1010.

A typical set of commands to define a rectangular contact surface is:

contact surfacesurface 1 plane

point 3 5 2point 5 4 3point 4 6 1depth 4stiffness 1.0e8velocity 0.1 0.1 0.1

Cylindrical Surface

This is a right circular cylindrical contact surface is a cylinder with a finite length. Contactoccurs on the curved surface ! ! nodes penetrating the flat circular ends are moved to thenearest 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, andthe 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 directiondoes 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 valuesmust be greater than zero, and have no defaults.

Page 384: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-4Chapter 6 Contact Algorithms

FIG. 6.7"Example of cylindrical contact surface

X

Y

Z

P

RV

L

A typical set of commands to define a cylindrical contact surface is:

contact surfacesurface 1 cylinder

point 5 2 3direction -3 1 -1radius 1.5length 4stiffness 1.0e8velocity 0.1 0.1 0.1

Spherical Surface

The spherical contact surface is a full sphere in space, and requires only the center pointand 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:

contact surfacesurface 1 sphere

point 5 2 3radius 1.5stiffness 1.0e8velocity 0.0 -0.1 0.0

Page 385: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-5Chapter 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 currentcontact 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 thesurface 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 toaddress 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 corneroverlap 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 thecorner, 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 ofcontact 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 violatesboth contact surfaces, thus the contact processors return the node to the corner. Theamount of overlap depends on the stiffness of the contact planes; the overlap should begreater than the remaining penetration after enforcement of contact .

Avoid Acute Angles in Corners

The algorithms which manage intersecting contact surfaces operate best with cornersformed at obtuse angles. Avoid internal or external corners with acute angles. See Figure6.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 inthe 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 thetypes of contact surfaces.

contact surfaceclearsurface 1 plane

Page 386: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-6Chapter 6 Contact Algorithms

FIG. 6.8"Overlapping 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.9"Acceptable and unacceptable corner definitions; a) corners

have obtuse angles, and are permissible; b) corners have

acute angles, which may cause problems.

(a) (b)

point 3 5 2point 5 4 3point 4 6 1depth 4stiffness 1.0e8velocity 0.1 0.1 0.1

surface 2 cylinderpoint 5 2 3direction -3 1 -1radius 1.5length 4stiffness 1.0e8

Page 387: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Commands

6.3-7Chapter 6 Contact Algorithms

velocity 0.05 0.0 0.05surface 3 sphere

point 5 2 3radius 1.5stiffness 1.0e8velocity 0.0 -0.1 0.0

dump

Page 388: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Contact Tips

6.4-1Chapter 6 Contact Algorithms

6.4 Tips for Analyses Using Contact

Contact analyses can be very troublesome; convergence is by no means guaranteed, andmay be difficult to achieve. Also, improperly defined contact surfaces cause severe problemsand may prove formidable to find. However, a variety of solution strategies and modellingtechniques can significantly improve the likelihood of a successful analysis. This sectionpresents some tips and suggestions for improving the performance of contact analyses inWARP3D.

Choosing a penalty parameter

Choosing an appropriate penalty parameter (contact stiffness) is one of the most importantfactors in the success of a contact analysis. A contact stiffness which is too small allows toogreat a penetration, while a parameter which is too large causes significant convergenceproblems (particularly with the preconditioned conjugate gradient solver), and degradesthe 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. Afew guidelines:

! 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 stiffnessat a node, run an analysis with a unit force at the node normal to the potential contactsurface. The local stiffness of the structure at the node is simply the force divided bythe resulting displacement. A contact stiffness many magnitudes more than this val!ue may cause ill!conditioning and large errors in the results.

! To assess the adequacy of an appropriate penalty parameter in a new analysis, trya small value first, then re!run the analysis several times, each time increasing thepenalty 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.

! 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 canbe 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 nextNewton iteration, repeating the cycle and impeding convergence. To avoid this problem:

! Reduce the size of the first step in which contact occurs; this is particularly necessaryfor moving contact surfaces. An effective step size for the first step with contact mayneed to be one!thousandth 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 timethe contact surface experiences a significant shift in direction. Re!definition of thetime increment per load step provides an effective means of reducing the movementrate for a contact surface; see Section 2.10 for information on the time step parameter.Make sure that any explicitly defined, non!zero constraints also reflect the change inmovement rate.

! Decrease the contact surface stiffness by several orders of magnitude for the first loadstep with contact. Then redefine the contact surface with a much higher stiffness af!ter a step or two.

Page 389: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Background

6.4-2Chapter 6 Contact Algorithms

! If the analysis contains a contact surface with a non!zero velocity, insure that the timeincrement 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 arelisted below:

! Take smaller computational load steps.

! Use a smaller contact stiffness.

! Analyses which contain symmetry planes are significantly more robust than similaranalyses which model the entire structure (and thus have more rigid body motion).

! Make sure that all rigid body motions are prevented using explicit constraints. Con!tact enforcement using the penalty method is equivalent to supplying force boundaryconditions, which are typically less robust than explicit constraint boundary condi!tions.

! If elimination of rigid body motions is not possible, try including mass in the analysiswith small time steps. The addition of inertia can help stabilize the analysis.

! If the analysis involves moving contact surfaces, then application of explicitconstraints on nodes which move along with the contact surface can improve conver!gence significantly. See the pin!loaded C(T) specimen in the examples section for anexample.

! Incorrect specification of contact surfaces can cause hidden difficulties; see Section6.3 for more details on contact input and possible problems.

! Turn adaptive load reduction off (adaptive off in the nonlinear solution parameters

command).

Page 390: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5-1Chapter 6 Contact Algorithms

6.5 Example Analyses Using Contact

To illustrate contact in WARP3D, the following three examples present representativeanalyses which use contact surfaces. The examples include the rolling of a metal bar, crush!ing of a pipe, and crack closure in a pin!loaded 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 a3" radius, comes into contact with the 2"62"610" 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 theother end. Figure 6.10 shows the mesh and boundary conditions for the problem, as wellas the path of the roller. The mesh contains 320 8!noded brick elements and 525 nodes, anduses the mises material model, with E"30000 ksi, #"0.3, $0"60.0 ksi, and n"10. Thesolution uses large deformation theory, and a total of 200 load steps, with 50 load steps forthe initial crushing and 150 load steps for the rolling. The penalty stiffness of the rigid cylin!der is 106.

FIG. 6.10"Mesh 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 rollermoves down 10 !5 inches per step over the first two steps, then 10 !2 inches per step untilstep 50. After 50 steps, the total downward displacement of the roller is 0.48002 inches. Theroller stops for a load step, then moves across the bar, starting at a rate of 10 !3 inches perstep for steps 52 and 53, and at 0.05 inches per step for steps 54 to 200. Figure 6.11 showsdeformation 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 planestrain model uses four contact planes; a horizontal contact plane descends from above the

Page 391: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5-2Chapter 6 Contact Algorithms

1

1

1

Y

1

FIG. 6.11"Deformed 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)

cc =========== cylinder moves downwards ========c contact planes surface 1 cylinder

point 2 5.000 !10direction 0 0 1length 20radius 3.0stiffness 10.0e5rate 0.0 !.01 0.0

nonlinear analysis parameterstime step .001extrapolate off

compute displacements for loading test step 1!2nonlinear analysis parameters

time step 1.0compute displacements for loading test step 3!50cc =========== cylinder stops========c contact planes clear surface 1 cylinder

point 2 4.51998 !10direction 0 0 1length 20radius 3.0stiffness 10.0e5rate 0.0 0.0 0.0

compute displacements for loading test step 51cc ============== cylinder moves horizontallyccontact planes clear surface 1 cylinder

point 2 4.51998!10direction 0 0 1length 20radius 3.0stiffness 10.0e5rate 0.01 0.0 0.0

nonlinear analysis parameterstime step .1

compute displacements for loading test step 52 ! 53nonlinear analysis parameters

time step 5.0compute displacements for loading test step 54 ! 200

(e)

pipe, while the side and bottom planes remain stationary. As the planes crush the pipe, theinitially circular pipe transforms to a rectangular shape. The outside radius of the pipe is5 inches, and the wall is 1 inch thick. The model, constructed with 186 8!noded elementsand 496 nodes, uses a mises material model, with E"30000 ksi, #"0.3, $0"60.0 ksi, andn"10. The top plane translates down 10 !6 inches the first step, then 2.5610 !3 inches perstep for the remainder of the analysis, providing a 5 inch height reduction after 2000 loadsteps. Fixed constraints on the topmost nodes travelling with the moving contact plane help

Page 392: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5-3Chapter 6 Contact Algorithms

FIG. 6.12"Deformed 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 ofthe analysis.

6.5.3 Crack Closure in a Pin!Loaded C(T) Specimen

Finite element analyses of fracture specimens typically do not include the actual boundaryconditions as applied in experiments. For instance, experimental procedures dictate thatloading of a compact tension, C(T), specimen use pins, while finite element analyses of thespecimen 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 boundaryconditions cause only minor differences in the crack front results, there are cases in whichthe 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 crackclosure. To model crack closure, a rectangular contact surface congruent with the symmetryplane 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 of7.6610 !4 inches allows significant blunting at the crack tip as deformation increases. The

Page 393: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5-4Chapter 6 Contact Algorithms

pin has a radius of 0.17 inches, while the radius of the hole in the C(T) specimen is 0.18inches. The model contains 435 8!noded elements and 1000 nodes, and uses a mises materi!al model with E"30000 ksi, #"0.3, $0"60.0 ksi, and n"10. Figure 6.13 illustrates themesh, and Figure 6.14 shows the deformation and stress contours of the model at severalpoints during the analysis.

FIG. 6.13"Mesh for pin!loaded 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.0610 !8 inches upwards during the first step.On step 2, the rate increases to 5.0610 !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 thepin moves downwards. The downward movement begins at 5.0610 !8 inches for step 31,then increases to 1.0610 !4 inches per step. To assist computational stability during theinitial loading and unloading of the specimen, explicit constraints on the nodes at the topof 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 whichdoes not include the explicit constraints requires a loading rate several orders of magnitudesmaller. 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 initialcontact, the first step uses a displacement of 5.0610 !8 inches, while movement of 5.0610 !4

inches per step ensues afterwards. The loading continues until step 130, achieving a totaldownwards displacement of 0.032 inches. Crack closure initiates on step 75, and by step130, 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-8nonlinear analysis parameters

time step 0.0001extrapolate off

c

Page 394: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5-5Chapter 6 Contact Algorithms

FIG. 6.14"Deformed shapes for pin!loaded C(T) analysis. Stress

contours range from 0 to 120 ksi in 20 ksi increments.

Step 30: maximumupwarddisplacement

Step 60: return toinitial position

Step 130: maximumdownward displacement

contact surfacesurface 1 cylinder

point -1.181 .75322844 -1direction 0 0 1length 2radius .17stiffness 10.0e5rate 0.0 0.0005 0.0

ccompute displacements for loading test step 1cnonlinear analysis parameters

time step 1.0constraints*input from file ’constraints’

33 34 v .0005

Page 395: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5-6Chapter 6 Contact Algorithms

c compute displacements for loading test step 2-30c constraints*input from file ’constraints’

33 34 v -5.0e-8contact surface

surface 1 cylinderpoint -1.181 .76772849 -1direction 0 0 1length 2radius .17stiffness 10.0e5rate 0.0 -0.0005 0.0

nonlinear analysis parameterstime step 0.0001

c compute displacements for loading test step 31cconstraints*input from file ’constraints’

33 34 v - .0005nonlinear analysis parameters

time step 1.0c compute displacements for loading test step 32-60c constraints*input from file ’constraints’contact surface

surface 1 cylinderpoint -1.181 .7245 -1direction 0 0 1length 2radius .17stiffness 10.0e5rate 0.0 -0.0005 0.0

surface 2 plane point -10 0 -10point -10 0 10point 10 0 -10stiffness 10.0e5

nonlinear analysis parameterstime step 0.0001

c compute displacements for loading test step 61c nonlinear analysis parameters

time step 1.0c compute displacements for loading test step 62-130

Page 396: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D Example Problems

6.5–6Chapter 6 Contact Algorithms

c compute displacements for loading test step 2–30c constraints*input from file ’constraints’

33 34 v –5.0e–8contact surface

surface 1 cylinderpoint –1.181 .76772849 –1direction 0 0 1length 2radius .17stiffness 10.0e5rate 0.0 –0.0005 0.0

nonlinear analysis parameterstime step 0.0001

c compute displacements for loading test step 31cconstraints*input from file ’constraints’

33 34 v –.0005nonlinear analysis parameters

time step 1.0c compute displacements for loading test step 32–60c constraints*input from file ’constraints’contact surface

surface 1 cylinderpoint –1.181 .7245 –1direction 0 0 1length 2radius .17stiffness 10.0e5rate 0.0 –0.0005 0.0

surface 2 plane point –10 0 –10point –10 0 10point 10 0 –10stiffness 10.0e5

nonlinear analysis parameterstime step 0.0001

c compute displacements for loading test step 61c nonlinear analysis parameters

time step 1.0c compute displacements for loading test step 62–130

Page 397: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

Chapter 7

Parallel Execution

7.1 Introduction

Parallel processing to perform the analysis of a large, 3-D finite element model offers the poten-tial to reduce significantly the elapsed time needed to compute the solution. WARP3D offerstwo common parallel processing architectures: (1) threads and shared-memory, and (2) hybridsystems which use message passing between concurrently executing copies (ranks) of a programcombined with shared-memory and threads on each rank. Each architecture is described brieflyhere as an introduction to further discussions in this chapter.

7.1.1 Threads and Shared-Memory

The simplest configuration 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 anindependently executing computational unit. Each of the cores has effectively uniform, equalaccess to the large, main memory system, i.e.,the cores all share the memory (for example4-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 acrossthe core cache memories and the main system memory.

This design typifies current laptop, desktop and deskside systems running the Windows,Linux and OS X operating systems. The operating system dispatches programs for executionto a core and switches programs across the cores as needed. When a single program containsmultiple tasks (called threads) that can be executed simultaneously, for example iterations ofcertain do/for/while loops, the operating system dispatches threads to the cores thus achievingparallel execution of the program. In larger compute servers, multiple processor chips will beincluded 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 threadsoffers the potential of running 16 concurrent tasks.

WARP3D utilizes the shared-memory (SM) capabilities with threads that can be dispatchedand executed concurrently. This is accomplished in various parts of the code primarily (1)through the block structuring of elements (Section 2.6) defined in the input file and (2) throughuse 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 duringexecution using the industry standard OpenMP framework. To illustrate this process, considerthis simplified code fragment to drive the process of element stiffness computation using theblock 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

Page 398: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

Suppose a model has 100 blocks of elements defined in the WARP3D input file and the userhas specified that WARP3D can use 5 threads during execution. Usually the number of threadsallowed for use is less than or equal to the number of threads available on the computer. In thesimplest 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 thusreduce significantly the elapsed time to compute all the element stiffness matrices. Inefficienciesarise 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 startingthe stiffness assembly process which also runs in parallel, stiffnesses must be completed for allblocks of elements.

The code implements the thread-based, parallel processing of element blocks illustratedabove for the computation of: (1) initial linear stiffness and mass, (2) tangent stiffnesses, (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 throughelement blocking achieves near linear scaling with increasing model sizes and number of threads.

A final, low-level of parallel execution is also achieved through the element blocking. Theinner-most loops in all element computations for a block run from 1 through the number ofelements in the block. The next higher loop runs over integration points for elements in theblock. Most serial codes, in contrast, have inner loops over the number of integration pointsof a single element. The element blocking structure, with much longer inner-loop lengths (64,128, 256 for example), exposes significant opportunities for compilers to optimize local cachememory, registers and pipelining to achieve essentially vector processing efficiencies at theinner-loop level.

7.1.2 Hybrid Systems (MPI + Threads)

Computers designed with the shared-memory architecture begin to lose efficiency and the hard-ware becomes exceedingly complex as the number of processor-chips and cores increases. Themaintenance of fast access to the shared, main memory and coherency of local cache memoriesfor 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 ashared-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 computerscommunicating over a high-speed network becomes very challenging.

The approach now adopted as an industry standard for these type of computer systemsrelies on explicitly-coded message passing over the network. Suppose the cluster has 8 separatecomputers, each with 8 cores running a single thread. A copy of WARP3D is started on each coreof each computer, with the first copy designated as the manager process. The other 63 workercopies of WARP3D start execution and then wait for a message from the manager process witha request for something to be computed for the model; e.g.,element stiffness matrices for aportion of the mesh. The execution continues with the manager and worker copies of WARP3Dsharing and exchanging data about the solution. The coding for this approach becomes farmore complex than the shared-memory approach and requires design of the software fromthe beginning with parallel execution via message passing. The industry standard software toprovide the message passing services is called MPI (Message Passing Interface). MPI provides a

Chapter 7 (Updated: 5-10-2013) 7.1-2 Introduction

Page 399: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 andworker copies of WARP3D. This provides an efficient, second-level of parallel execution duringan 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 modeldecomposition (also termed partitioning) than is provided by the element blocking alone. Blocksof elements are aggregated into domains, and there are as many domains as the number of MPIranks set by the user at the onset of execution. In this way, each worker rank owns a domainconsisting of element blocks (a block of elements resides entirely in a single domain). Whena worker receives an MPI message from the manager to compute element stiffness matrices,it does so for all the blocks it owns using the thread-based parallel concept illustrated in theprevious 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 managerand on all workers concurrently.

The hypre iterative equation solver is invoked to solve the linear equations in each Newtoniteration. Hypre uses the same MPI ranks during the equation solving process (and threads oneach 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 betweendomains to reduce the amount data exchanged during solutions. The patwarp support programdescribed in Appendix C provides the services to decompose a large model into domains andeach 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 duringan analysis.

We expect the majority of WARP3D users will employ the threads-only style of parallelexecution 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 (seeSection 2.6). Analyses of models approaching 106 nodes are feasible with this approach oncurrent hardware (mid-2013).

For very large models most often analyzed on larger servers and clusters, the preferredapproach uses the hypre solver in a domain-decomposition + blocking setup of the model.

Chapter 7 (Updated: 5-10-2013) 7.1-3 Introduction

Page 400: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

The hybrid (MPI + threads) version of WARP3D is available only on Linux systems. Thepatwarp program may be used to perform the domain decomposition and element blockingduring preparation of an input file.

The remaining sections of the is chapter describe needed details to utilize each of theseapproaches.

Chapter 7 (Updated: 5-10-2013) 7.1-4 Introduction

Page 401: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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, inthe Pardiso equation solvers and in the element-by-element conjugate gradient solver. Inputfiles are identical for this approach on the three platforms. The operating system commands tostart execution are the same on Linux and OS X, but different on Windows. Refer to Section2.10 for a more in-depth discussion of equation solvers.

On each platform, WARP3D is an executable program that does not have a graphicaluser interface. Consequently, the process to execute WARP3D begins with the user enteringcommands into a shell program – the Bash shell on Linux/OS X and the command shell onWindows. 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 shellcommand window is open, enter commands to change to the directory where the WARP3Dinput file(s) for the analysis are located. You will also need to know where the WARP3Dexecutable is located. For this discussion, we assume WARP3D has been installed with theexecutable located at c:\WARP3D\run windows 64\warp3d.exe, and that the input files foranalysis 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 file using Notepad, Word, etc. (forexample, runwarp3d.bat) and then executed by simply typing runwarp3d.bat at the commandshell prompt. To see examples of many features available in bat files, examine the Makewarp.batfile included under the src directory in the WARP3D distribution.

In these commands above, the %set warp3d... defines a short-cut (shell variable) to accessthe 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 define variables(just within the command shell) to the number of threads that the MKL solver will use and thenumber 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 file as illustrated below.

On the line above that invokes WARP3D, the < and > are I/O redirection operators uniformacross nearly all types of command shells. If the < (input) file is omitted, WARP3D beginsinteractive execution in the command shell window, issues a prompt character (>) and waitsfor the user to enter an input line.

Many people today work across Linux, OS X and Windows environments; they oftenfind 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

Page 402: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

cumbersome. Fortunately, a large portion of the standard Linux command and shell systemhas 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 executionof 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 thenumber of threads allocated for use by the Pardiso (MKL) solver and the number of threadsfor use by those parts of WARP3D. The number of MKL threads and the number of OpenMPthreads can be identical or different as the analyst desires. Most often the number of MKL andOpenMP threads are assigned the same value. The following example illustrates this processenclosed within a simple shell script file.

#!/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 file need not request use of a specific sparse solver; WARP3D defaults tothe 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

Page 403: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

7.3 Solutions with Domain Decomposition: Linux Only

The hybrid version (MPI + threads) of WARP3D is designed to use domain decompositionfor large models analyzed on computational servers/clusters and supercomputers. The linearequation solver is hypre which runs distributed across the MPI ranks. WARP3D also performsstiffness assembly with a distributed approach on the MPI ranks 1. The additional complexitiesin model definition with domain decomposition are often offset by the ability to run on a widerrange of cluster hardware and often with quite efficient parallel execution for increasing MPIranks that match available machine resources.

This approach relies of the concept of domain decomposition of the finite element modelto partition the large data structures needed during analysis across the computers performingthe solution. Domain decomposition assigns each finite element of the model to a domain. Inour implementation, there are as many domains as MPI ranks used for parallel execution. Eachrank owns all the data arrays associated with the elements assigned to the domain and datafor all nodes that lie completely within the domain, i.e., nodes not lying along boundariesshared with other domains. Data for nodes on the domain boundaries are shared among thecorresponding domains.

Consider, for example, a nonlinear finite element model that contains 640,000 elementsrepresenting a mixture of 8-node bricks, 20-node bricks, elements to make transitions betweenthem, and various nonlinear material models assigned to the elements. Suppose the model isanalyzed using 32 ranks each running WARP3D in parallel (usually on 32 different processorcores). A simple domain decomposition strategy assigns 20,000 elements to each of 32 domainsfor processing. However, this simple strategy generally leads to poor load balancing among theprocessors. Domains containing many 20-node elements, for example, may require much greatercpu time to complete element stiffness updates. The analysis cannot proceed with solution ofthe equilibrium equations until all element stiffnesses are updated. As a consequence, otherprocesses which perform computations for domains of 8-node elements become idle, doing nouseful work, and waiting to begin the equation solving phase. Idle processors quickly degradeparallel efficiency of the code. To improve load balance during the analysis, domains should becreated with different numbers of elements and types of elements to achieve a more uniformlevel of computational effort required to process each domain.

In summary, the finite element model consists of domains (1 domain per MPI rank) withdomains made of blocks of variable size (maximum size set by user) and blocks composed ofelements of the same type, the same material model, etc. MPI ranks provide the highest-levelparallel execution (in some cases across computers on a network) while threads provide parallelexecution 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 ofMPI may work equally as well. The steps are:

• Set variables defining the location for the WARP3D system installation and for the location ofthe hybrid executable.

1Models with the tie-mesh and/or multi-point constraint feature prevent use of the distributed assembly.Element stiffness 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

Page 404: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 processruns on rank 0.(2) OMP_NUM_THREADS. Number of threads used by WARP3D on each MPI rank to processelement blocks; recommend to set MKL_NUM_THREADS=1

• Increase the runtime stack size for each rank to about 100MB to accommodate increased sizeof some arrays for very large models. Unit specified 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 indicateshared memory MPI communication .

The following statements extracted from a Bash shell script perform the steps describedabove. The complete Bash shell script is included in the WARP3D distribution (file name:warp3d_script_linux_hybrid). This script is sufficient to run on a laptop, desktop on singlenode of a cluster. The script will require localization commands to run on specific 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 files for WARP3D canbe passed through as shell parameters, and the shell can be executed in background mode ifdesired or included with a job scheduling system at a supercomputer center.

Chapter 7 (Updated: 5-10-2013) 7.3-2 Solutions with Domain Decomposition

Page 405: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

7.3.2 Extensions to Blocking Command

To provide the element assignment into domains and blocks, the extended blocking commanddescribed in Section 2.6 also includes the domain number for each element block. The commandhas 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, 5to domain 1 (based on an estimate of the relative workload of the elements appearing in theblocks). 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 inSection 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 ofnonlinearity, the same material model, etc. However, all of the blocks assigned to a domain arenot 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 definition from a Patrancompatible neutral file (2.5 neutral file format) for the finite element model. The analyst spec-ifies to patwarp the maximum number of elements in a block and the option of vectorized orscalar assignment of elements to blocks. A typical maximum block size is 128. The vectorizedblocking 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 sametype, same material model, etc.

The patwarp program also: (1) generates an optimized partitioning of finite elements intothe analyst specified number of domains and, (2) assigns all elements in each domain intoblocks following the established rules described in Section 2.6. The assignment of elements todomains 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 thecommunication 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-nodeelement 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

Page 406: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

communication of data between domains, the domains are constructed to minimize the numberof shared nodes. Viewed another way, we decompose a solid into n subvolumes (domains) ofvarious shape/size which minimizes the total surface area of the subvolumes. The satisfactionof both requirements (2) and (1) simultaneously for very large finite element models posesa complex optimization problem. Considerable research has been conducted on this specificproblem and several efficient optimization algorithms have evolved. We have incorporated theMETIS 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 ofMinnesota Center for High Performance Computing.

In summary, the following steps are required by the user to prepare a WARP3D input filefor parallel execution using the domain decomposition approach:

• construct the 3-D finite element model using various mesh generators (PATRAN, FEMAP,locally developed programs for special models, etc.) which generate a Patran compatible neutralfile (2.5 format) for the model.

• run patwarp to process the Patran neutral file for the model. patwarp requests that the userspecify the required number of domains and, as previously, the maximum number of elementsin a block, and the type (scalar, vector) of blocking desired The interactive patwarp programprompts 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 file with the assignment of each element block to a domainusing the new form of the blocking command.

Existing WARP3D input files remain compatible with the extended form of the blocking com-mand. If no domain number appears in the blocking input data, WARP3D input routinesassign all blocks to domains in a simple round-robin manner based on the number of processorsspecified on the mpirun (or similar) command used to start execution. This arbitrary domaindecomposition may lead to poor load balancing and high communication overhead. When theprogram executes with 1 processor, all blocks reside in domain 0, MPI rank 0.

Similarly, WARP3D input files originally constructed with domains for hybrid executionmay be processed with the threaded-only version of the code. The threads-only version simplyignores the domain numbers in blocking data.

7.3.4 Manager-Worker Parallel Architecture

In parallel finite element codes based on MPI and domain decomposition, various softwarearchitectures have evolved to drive the assignment and interchange of data among ranks and tocontrol 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 readingof input data from the users files while the other (worker) processes enter a wait state. Oncethe input is read, the manager broadcasts a copy of all key information about the model toeach of the workers. Examples of such data include the nodal coordinates, element incidences,element properties, constraints, material properties and other data structures derived directlyfrom the input, e.g.,the list of elements connected to each node in the model. The workers thenindependently create all the data structures necessary to store the information about elementsin 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

Page 407: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

stiffnesses is partitioned among the ranks; each rank allocates sufficient memory to store onlythe elements in that domain.

The manager maintains control over the sequencing of computational tasks to accomplishthe nonlinear solution. Workers are sent instructions requesting that they perform some partof the solution process for the elements in their domain. Examples of such tasks include:

• update the tangent stiffness 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 eachload-time step. For example, the manager gathers the internal forces computed at the nodes ineach domain from the workers. Internal forces at the nodes of a domain not shared with otherdomains already have their final values. For nodes shared with other domains, the workers sendtheir 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 aload 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 accomplishedby the manager (the computational effort is small relative to the communication effort requiredfor 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 files becomes more complex.When the user requests output of a patran result file, the manager and workers each writetheir own part of the patran file to a partial (fragment) of the final patran file. For each outputcommand requesting a patran result file, this approach generates a series of partial patran fileswith one partial file 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 anexecution without domains, this file is named wnbs0351, i.e.,warp3d nodal binary stresses forstep 351. With domains, the 32 MPI ranks each write a file where the file name includes thedomain/rank number: wnbs0351.0000, wnbs0351.0001, wnbs0351.0002, ... wnbs0351.0031. The4-digit domain number defines the suffix for each file. The same strategy is used for elementresult files. For files of nodal displacements, velocities and accelerations, the manager (domain0) has access to all model values and simply writes a single patran result file without a domainnumber suffix.

Before patran can access results for post-processing, all the partial files must be combinedinto a single result file for each load step of interest. We provide a support program namedpat_combine to perform this task outside of WARP3D. When executed, pat_combine exam-ines the current directory for the presence of partial result files, combines them as necessary

Chapter 7 (Updated: 5-10-2013) 7.3-5 Solutions with Domain Decomposition

Page 408: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

(includes computation of nodal averages), and writes a new single result file, i.e.,wnbs0351 inthe present example. The partial result files remain in the directory (in the present version ofpat_combine). The execution of WARP3D and pat_combine may be overlapped for analyseswith long runtimes, i.e.,once WARP3D writes the partial result files for a step, pat_combinemay be executed to combine the result files while WARP3D continues the analysis of subsequentload steps.

7.3.6 Generation of Restart Files

By having data for elements in a domain distributed to the rank that performs computationsfor the domain, the generation of analysis restart files also potentially becomes much morecomplex. At present in WARP3D, the workers send all element strain and stress values to themanager when the user requests generation of a restart restart file.

This approach generates a single (binary) restart file, as is the case for threaded-only ex-ecution of WARP3D. Unfortunately, this strategy has two disadvantages: (1) it generates asignificant communication load to send the large volumes of element data to the manager, and(2) the manager must allocate sufficient memory to store the results for all elements in themodel. A similar communication cost and memory utilization overhead occurs during restartwhen the process is reversed. Consequently, we strongly recommend generating restart filesonly 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 tasksin 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 tasksexecuting in parallel.

Chapter 7 (Updated: 5-10-2013) 7.3-6 Solutions with Domain Decomposition

Page 409: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Parallel Execution

Computational Task MasterRank

WorkerRank

ThreadProcessingof Blocks

Initialization:

reading input file 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 effective load increment x

Newton Iterations for Step

element stiffness update x x x

element mass matrices x x x

Assembly of structure stiffness (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 files 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

Page 410: WARP3D 17.4.0 Manual Updated June 5 2013

A.1Appendix A Patran File Formats

Appendix A

Patran Results File Formats

Figures in this Appendix provide skeletal Fortran programs to read Patran nodal resultsfiles. 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, internalforces

Fig. A.3 read an Ascii file of nodal strain/stress results

Fig. A.4 read an Ascii file of nodal displacements, velocities, accelerations, internalforces

Page 411: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

A.2Appendix A Patran File Formats

c *********************************************************************c * *c * read stress/strain binary patran file *c * *c *********************************************************************cc implicit integer (a-z) parameter( maxnod=20000, maxcols=50 ) double precision nodval(maxcols,maxnod) real rtemp, pvals(maxcols) dimension title(80) character * 80 binnamc termin = 5 termot = 6 binfil = 10c write(termot,*) ’ ’ write(termot,*) ’ ’ write(termot,*) ’>> binary strain/stress processing 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’cc read the binary results file of nodal strains/stresses.c patran results are single precision. read as single andc 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 if ( mod(node,200) .eq. 0 ) then write(termot,*) ’ > processing node: ’,node end if read(binfil) ii, (pvals(jj),jj=1,nvals) nodval(1:nvals,node) = pvals(1:nvals) end do close(unit=binfil)cc call a routine to do something with the nodal valuesc of stress/strain.c call process( nodval, nnode, maxcols, termot )c write(termot,*) ’>> processing completed’ write(termot,*) ’>> normal termination’c call exitc 9400 format(a,$) 9500 format(a80) endc subroutine process ( values, nnode, nrow, termot ) implicit integer (a-z) double precision values(nrow,nnode) return end

FIG. A.1!Fortran program to read Patran binary file of nodal strain or stress results.

Page 412: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

A.3Appendix A Patran File Formats

c *********************************************************************c * *c * read displ, vel, accel, inter. forces binary patran file *c * *c *********************************************************************cc implicit integer (a–z) parameter( maxnod=20000 ) double precision x(maxnod), y(maxnod), z(maxnod) real xval, yval, zval dimension title(80) character * 80 binnamc termin = 5 termot = 6 binfil = 10c 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’cc read the binary results file of nodal values.c read x, y, z components. patran results are singlec 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)cc call a routine to do something with the nodal valuesc call process( x, y, z, nnode, termot )c write(termot,*) ’>> processing completed’ write(termot,*) ’>> normal termination’c call exitc 9400 format(a,$) 9500 format(a80) endc subroutine process ( x, y, z, nnode, termot ) implicit integer (a–z) double precision x(*), y(*), z(*) return end

!"#$ %$&'!"#$#%& '#"(#%) $" #*%+ ,%$#%& -.&%#/ 0.1* "0 &"+%1 +.2'1%3*)*&$24

5*1"3.$.*24 %33*1*#%$."&2 "# .&$*#&%1 0"#3*26

Page 413: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

A.4Appendix A Patran File Formats

c *********************************************************************c * *c * read ascii stress/strain patran file *c * *c *********************************************************************cc implicit integer (a–z) parameter( maxnod=20000, maxcols=50 ) double precision nodval(maxcols,maxnod), val3 character * 80 asciinam, linecc termin = 5 termot = 6 asciifil = 10c 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’cc skip past the header lines of neutral file.c get number of nodes and number of result valuesc for each node.c read(asciifil,9500) line read(asciifil,9600) nnode, ival2, val3, ival4, nvals read(asciifil,8900) line read(asciifil,8900) linecc 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’cc call a routine to do something with the nodal valuesc of stress/strain.c call process( nodval, nnode, maxcols, termot )c write(termot,*) ’>> processing completed’ write(termot,*) ’>> normal termination’c call exitc 8900 format(a1) 9000 format(i8,(5e13.7)) 9400 format(a,$) 9500 format(a80) 9600 format(2i5,e15.6,2i6) endc subroutine process ( values, nnode, nrow, termot ) implicit integer (a–z) double precision values(nrow,nnode) return end

!"#$ %$&'!"#$#%& '#"(#%) $" #*%+ ,%$#%& -./00 123* "1 &"+%3 4$#%2& "# 4$#*44 #*453$46

Page 414: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

A.5Appendix A Patran File Formats

c *********************************************************************c * *c * read displ, vel, accel, inter. forces ascii patran file *c * *c *********************************************************************cc implicit integer (a–z) parameter( maxnod=20000 ) double precision x(maxnod), y(maxnod), z(maxnod) character * 80 asciinam, linecc termin = 5 termot = 6 asciifil = 10c 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’cc skip past the header lines of neutral file.c get number of nodes and number of result valuesc for each node.c read(asciifil,9500) line read(asciifil,9600) nnode, ival2, val3, ival4, nvals read(asciifil,8900) line read(asciifil,8900) linecc 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’cc call a routine to do something with the nodal valuesc call process( x, y, z, nnode, termot )c write(termot,*) ’>> processing completed’ write(termot,*) ’>> normal termination’c call exitc 8900 format(a1) 9000 format(i8,(5e13.7)) 9400 format(a,$) 9500 format(a80) 9600 format(2i5,e15.6,2i6) endcc subroutine process ( x, y, z, nnode, termot ) implicit integer (a–z) double precision x(*), y(*), z(*) return end

!"#$ %$&'!"#$#%& '#"(#%) $" #*%+ ,%$#%& -./00 123* "1 &"+%3 +24'3%5*)*&$46

7*3"52$2*46 %55*3*#%$2"&46 "# 2&$*#&%3 1"#5*48

Page 415: WARP3D 17.4.0 Manual Updated June 5 2013

B.1Appendix B References

Appendix B

References

[1] Amestoy, H.D., Bui,, and Labbens, ‘‘On the Definition of Local Path IndependentIntegrals in 3!D 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 forPost !Yield Fracture Assessment," WTHD No. 167, Laboratory for ThermalPower 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. byA.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 ElementComputer Program for the Nonlinear Quasi !Static Response of Solids with theConjugate Gradient Method," SAND93 !1891, Sandia National Laboratories,

Albuquerque, NM., 1994.§

[9] Biffle, J. H., and M. L. Blanford, ‘‘JAC3D ! A Three !Dimensional Finite ElementComputer Program for the Nonlinear Quasi !Static Response of Solids with theConjugate Gradient Method," SAND87 !1305, 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 inbrittle 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 SolutionSchemes,’’ Communications in Applied Numerical Methods, Vol. 2, No. 2,March!April 1986, pp. 145 !153.†"

Page 416: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.2Appendix 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 StretchedSheets," Journal of Engineering Materials and Technology, Vol. 102, 1980, pp.249 !256.†"

[16] Concus P., Golub G.H., and O’Leary 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 FiniteElement 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 StressUpdate 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., ‘Elasto!plastic finite element analysis ofthree!dimensional fatigue crack growth in aluminium shafts subjected to axialloading," 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 3!D," 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. 15no. 2, 1998, pp.233 !259.

[24] Dodds, R., ‘‘Numerical Techniques for Plasticity Computations in Finite ElementAnalysis," Computers and Structures, Vol. 26, No. 5, 1987, pp. 767 !779.†"

[25] Eshelby, J.D., ‘‘Energy Relations and the Energy Momentum Tensor in ContinuumMechanics," in Inelastic Behavior of Solids, M.F. Kanninen, et al. (eds), McGraw !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.†"

Page 417: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.3Appendix 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 !ScaleLagrangian 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 andGrowth: 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 UCRL!52678, 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 UCID!18822, 1984.§

[35] Hancock, J., and Cowling, M., ‘‘Role of Sate of Stress in Crack!Tip 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., ABAQUS!Explicit Theory Manual, Version 5.2,Providence R.I., 1992.§

[40] Hinton, E, Rock, T., and Zienkiewicz, O. C., ‘‘A Note on Mass Lumping and RelatedProcesses 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 Anisotropicand 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 ofRate Constitutive Equations Arising in Large !Deformation Analysis," Interna!

tional Journal for Numerical Methods in Engineering, Vol. 15, 1980, pp.1862 !1867.†"

Page 418: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.4Appendix 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 ImplicitCalculations 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, NewJersey, 1987.†"

[48] Hutchinson, J., ‘‘Singular Behavior at the End of a Tensile Crack in a HardeningMaterial," 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 TimeDependent and Time Independent, Finite Strain Constitutive Equations inStructural 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 ofa Closed Elastic Strain Path with Stretching and Shearing Using the UpdatedLagrangian 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 PlasticityTheory into Structural Computer Programs," In Constitutive Equations in Vis!

coplasticity: Computational and Engineering Aspects, AMD!20 (Edited by J. A.Stricklin and K. J. Saczalski), ASME, New York, 1976, pp. 125 !138.†"

Page 419: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.5Appendix B References

[60] Li, F.Z., Shih, C.F., and Needleman, A., ‘‘A Comparison of Methods for CalculatingEnergy 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 onDuctile 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 onComputer 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 withSpecial 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 CrackTip," Journal of Mechanics and Physics of Solids, Vol. 35, 1987, pp. 151 !183.†"

Page 420: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.6Appendix 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 foran 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 forthree!dimensional 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 DuctileFracture 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 StressFields," Journal of Mechanics and Physics of Solids, Vol. 17, 1969, pp. 201!217.†"

[85] Roy, S., Fossum, A. F., and Dexter, R. J., ‘‘On the Use of Polar Decomposition in theIntegration 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 EquationsOver 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 ImplicitAlgorithm 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 forElastic!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.†"

Page 421: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.7Appendix B References

[90] Simo, J.C. and Taylor, R.L., ‘‘Consistent Tangent Operators for Rate IndependentElastoplasticity," 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!PlasticAnalysis 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 TransientSolid Dynamics Program," SAND86 !0594, Sandia National Laboratories, Albu!querque, NM., 1987.§

[94] Taylor, L. M. and Flanagan, D. P., ‘‘PRONTO 3D, A Three !Dimensional TransientSolid Dynamics Program," SAND87 !1912, Sandia National Laboratories, Albu!querque, NM., 1989.§

[95] Tvergaard, V., ‘‘Influence of Void Nucleation on Ductile Shear Fracture at a FreeSurface," 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 Fieldsand 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 Contact!Impact Problems, Oxford Univer!sity Press, New York, 1993

[101] Gullerud, A., and Dodds, R., ‘‘MPI !Based Implementation of a PCG Solver Using anEBE 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, NewYork, 1998.

[105] Walters, M.C., Paulino, G.H., Dodds, R.H. Jr, ‘‘Stress Intensity Factors for SurfaceCracks in Functionally Graded Materials Under Mode!I ThermomechanicalLoading," International Journal of Solids and Structures, Vol. 41, 2004, pp.1081!1118.

Page 422: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.8Appendix B References

[106] Walters, M.C., Paulino, G.H., Dodds, R.H. Jr, ‘‘Mixed!Mode Stress Intensity Factorsfor Curved Cracks in Three!Dimensional Functionally!Graded 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. 109!114.

[108] Yau, J.F., Wang, S.S., Corten, H.T., ‘‘A mixed!mode crack analysis of isotropic solidsusing conservation laws of elasticity," ASME Journal of Applied Mechanics, Vol.47, 1980, pp. 335!341.

[109] Nakamura, T., Parks, D.M., ‘‘Determination of elastic T!stress along three!dimen!sional crack fronts using an interaction integral," International Journal of Sol!

ids and Structures, Vol. 29, 1992, pp. 1597!1611.

[110] Nakamura, T., Parks, D.M., ‘‘Three!dimensional stress field near the crack front of athin elastic plate," ASME Journal of Applied Mechanics, Vol. 55, 1988, pp.805!813.

[111] Cardew, G.E., Goldthorpe, M.R., Howard, I.C., Kfouri, A.P., ‘‘On the Elastic T!Term,’’Fundamentals of Deformation and Fracture (Edited by B.A. Bilby, K.J. Millerand J.R. Willis), Eshelby Memorial Symposium, Sheffield, Cambridge Universi!ty Press, 1985, pp. 465!476

[112] Eischen, J.W., #Fracture of Nonhomogeneous Materials," International Journal of

Fracture Vol. 34, 1987, pp. 3!22.

[113] Dolbow, J., Gosz, M., #On the Computation of Mixed!Mode Stress Intensity Factorsin Functionally Graded Materials," International Journal of Solids and Struc!

tures, Vol. 39, 2002, pp. 2557!2574.

[114] Gosz, M., Dolbow, J., Moran, B., #Domain Integral Formulation for Stress IntensityFactor Computation Along Curved Three!Dimensional Interface Cracks," Inter!

national Journal of Solids and Structures Vol. 35, 1998, pp. 1763!1783.

[115] Michell, J.H., ‘‘Elementary Distributions of Plane Stress" Proceedings of the London

Mathematical Society, Vol. 32, 1900, pp. 35!61."

[116] Kfouri, A.P., ‘‘Some Evaluations of the Elastic T!term Using Eshelby’s Method" In!

ternational Journal of Fracture, Vol. 30, 1986, pp. 301!315."

[117] Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P., #Numerical Recipiesin 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., CRCPress, 1998.

Page 423: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

B.9Appendix B References

*"Available for purchase from national Technical Information Service, Springfield, VA22161.

†"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.

Page 424: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D patwarp

Appendix C

Patran-to-WARP3D Translator (patwarp)

C.1 Concept

This appendix describes the procedures to communicate data between the Patran modelingpost-processing code and the WARP3D analysis code. This writeup assumes that the readeris familiar with the use of both Patran and WARP3D. The information and procedures hereapply equally as well to “neutral” files that conform the the 2.5 style of Patran neutral fileformat generated by many other programs (for example, FEMAP).

Figure C.1 illustrates the general flow of data between these codes. Analysts execute Patranto create interactively the geometric model and the finite element model. One form of outputfrom Patran is denoted the “neutral file” (have Patran produce a 2.5 style version neutral filefor the model). This is a sequential (ASCII) file of line images that describes essential featuresof the finite element model in a manner independent of any specific analysis system. Afterbuilding the finite element model, the user requests that Patran create the neutral file. Outsideof Patran, the user initiates the program denoted patwarp in Figure C.1. This interactiveprogram is a “forward translator.” It reads the neutral file, conducts a dialog with the user todefine various options, and produces an ASCII (text) input file for WARP3D. The input file forWARP3D generally requires minor changes and additions by the user to include supplementalinformation, e.g., material properties, solution parameters might require modification. Any texteditor available on the computer system may be employed to make the required changes to theinput file. The modified file should then be suitable for input WARP3D to perform the analysis.

Patran has many features for post-processing of the analysis results. Analysis results inWARP3D (displacements, strains, stresses, etc.) are written directly to Patran compatible filesat the user’s request through output patran ... commands. Each of these results files containsthe strains, stresses, displacements, etc. for a single load step. The file format can be eitherformatted (ASCII) or unformatted (binary) as directed in the output request given to WARP3D(refer to Section 2.12.3). A file written with the formatted option can be examined with a texteditor but the structure of the file is not readily discernible by the user. A binary file is asequential, unformatted data file. It cannot be examined with a text editor. Binary files areconsiderably smaller than formatted files but are not generally transportable between differentcomputer architectures, especially to-from Linux and Windows. WARP3D offers the option towrite Patran nodal results files or element results files (see Section 2.12.3).

After analysis by WARP3D and output of the results files, users continue Patran execu-tion and the post-processing operations to read and process the results files. Because WARP3Ddirectly generates Patran compatible results files, there is no need for a “reverse translator” pro-gram. The results files are also available to users of WARP3D for input to other special-purposeprograms (the binary packets file may be more convenient for this purpose, see Appendix F).

Appendix C (Updated: 5-12-2013) C.1 patwarp

Page 425: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 file (2.5 format) to WARP3D input,

run an analysis, and post-process results files using Patran.

Section 2.12 describes the ordering of results for model nodes and elements in the Patrancompatible results files. Appendix A provides a description of the data formatting in these filesand small program fragments to read these files.

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 thesedifferences, the use of Patran (and other similar programs) dramatically reduces the effort formodel generation and results post-processing.

The following model data in a neutral file (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

Page 426: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 definitions, nonlinear compute commands and outputcommands into input file for potential use in completing the model definitions. The translatorignores other types of data contained in the Patran generated neutral file such as materialproperties.

The above data constitute a large majority of the input for most finite element analyses. Alist 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 Config Id is recognized by patwarp )

• Alternate coordinate systems as defined in Patran.

• Solution parameters which control a dynamic or a nonlinear analysis.

The processing of material properties and physical properties will be implemented in laterversions of patwarp .

C.3 Executing the Translator Program

The patwarp program performs neutral file translation. The WARP3D distribution containssource code, compile scripts and separate, ready-to-run executables for Windows, Linux andMac OS X. The Windows and Mac versions prepare input files to execute in parallel using thethreads-only version of WARP3D. The Linux version prepares input files to execute with thethreads-only or the MPI + threads versions of WARP3D.

The program prints an identifying message followed by a prompt for the name of the Patranneutral file. The names of neutral files are assigned by the user when prompted by Patran.patwarp verifies that the neutral file exists and that it can be processed. If the file cannot beaccessed by the translator program, the prompt is re-issued. After the neutral file name hasbeen defined, the name of the desired WARP3D input file is requested. The file may have anyname and need not already exist. patwarp then continues a question-answer dialog with theuser to drive various options in the translation process.

patwarp performs the translation process in two steps, although these steps are transparentto the program user. In step one, the neutral file is read and the data stored internally topatwarp. In step two, the actual WARP3D input file is produced. A log of the processingis displayed for the user. After patwarp has terminated, the user should edit the generatedWARP3D input file to supply the element properties, modify the default output requests, etc.

By default, patwarp writes all of the WARP3D input data into a single file with a nameprovided by the user. The file becomes quite large in size for models having many nodes,elements and constraints. patwarp provides an option to place the coordinates, incidences andconstraint data into three separate files. The user supplies a “prefix” for these file names, i.e.,for a prefix named pcvn, the files pcvn.coordinates, pcvn.incidencess, and pcvn.constraints are

Appendix C (Updated: 5-12-2013) C.3 patwarp

Page 427: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D patwarp

written. The main WARP3D input file then has *input from file ... commands inserted bypatwarp to read the three data files at the correct location during input processing (see Section2.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 Elementsradio 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 8nodes.

patwarp supports only elements that conform to the Hex8, Hex20, Tet4 and Tet10 type inPatran. 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-nodeelements (see Section C.9 for details on processing models with transition elements). To dis-tinguish between different “groups” of elements (e.g. those with common material properties),the user can employ the numeric “configuration” code provided by Patran. The configurationcode assigned to each element is passed through in the neutral file for use by patwarp. Theconfiguration code numbers are assigned to elements in Patran using the Properties menubutton on the main form. This brings up the Element Properties menu in Patran. Click onthe Input Properties button to bring up the menu form. The first listed item is Config Id.

All elements of the same type (l3disop, tet10, etc.) with the same configuration code aregrouped in clearly identified lists in the WARP3D file generated by patwarp. This featuresimplifies considerably the assignment of options and material properties to elements followingexecution 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 efficiency.A block of elements must have the same type (l3disop, q3disop, ...), material model, integrationorder, etc. Elements within each block must have sequential numbering.

patwarp writes the command blocking automatic size=128 into the input file which requeststhat WARP3D assign elements to blocks while processing input.

No domains are defined for threads-based execution.

Domain Decomposition - Linux Only

For execution using MPI + threads, elements in the model must first be assigned to domainsprior 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 defines a complexoptimization 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 elementsto domains maintains load balance of computational effort across processors and minimizes

Appendix C (Updated: 5-12-2013) C.4 patwarp

Page 428: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D patwarp

communication of data among them. patwarp includes the Metis software system to createdomains of elements for optimal processing during the finite element analysis. Once elementsare assigned to domains, elements within each domain are re-numbered to maintain sequentialordering. Then the blocking process is applied, independently, to the elements in each domainas described in the previous paragraph. The blocking data written to the WARP3D input fileincludes the domain number for each block.

patwarp uses several criteria to determine which elements may properly appear within ablock. First, patwarp recognizes different element types by the number of nodes on the elementas provided in the neutral file. Second, users may indicate further groupings of common elementsfrom which blocks are constructed through the configuration code (config id is the term usedin Patran, see Section C.4) for the elements as given in the neutral file. Only elements of thesame type and with the same configuration 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 thesame config id in Patran. Users can assign any number of different config ids for the model inthe Patran neutral file.

As an example, consider a model that has a mix of 8-node and 20-node elements in thePatran neutral file (the automatic feature in patwarp redefines existing 8-node elements asvarious 9, 12, 15-node transition elements to maintain displacement compatibility). There aretwo different material models that should be assigned to elements, e.g., the von Mises plasticitymodel and the Gurson-Tvergaard (GT) plasticity model. Let config id 1 be used during buildingof the Patran model to denote elements with von Mises plasticity and config id 2 be usedfor elements having GT plasticity. patwarpfirst redefines some 8-node elements as transitionelements to maintain displacement compatibility. Then separate lists of elements for each uniqueelement type and user assigned config id are created, resulting in say 6 lists of elements whereeach element in a list meets all requirements to reside in the same block. patwarp processeseach list separately to renumber elements sequentially as it assigns them to blocks. This processresults in blocks of various size containing sequentially numbered elements where all elementswithin a block satisfy all the above requirements.

To complete the translation, patwarp offers to: (1) print a correspondence table betweenthe original (Patran) element numbers and the blocked element numbers, (2) generate a newneutral file to reflect the new element numbering, (3) generate an ASCII elements results filewhere the domain number for the element is the only data value. This last file can be usedwith Patran post-processing capabilities to show element assignments to domains by coloringelements on the display by domain number.

C.6 Constraint Processing

Absolute nodal constraints on the three translations may be specified in Patran under theBCs/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 underthe Elements menu. patwarp supports “Explicit” and “Rigid” type MPCs as defined in Patran.The Rigid MPC has two subtypes” Pinned and Fixed. Both subtypes may be specified, but ifa Fixed MPC is defined, the rotation terms are ignored, i.e., patwarp inserts the same MPCequations in the WARP3D input file for both Pinned and Fixed subtypes.

Appendix C (Updated: 5-12-2013) C.5 patwarp

Page 429: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D patwarp

In Patran, constraints may be imposed within a loading set (condition) or external to allloadings. The patwarp translator combines all constraint sets in the neutral file and writes asingle set of nodal constraints in the input file.

When the user requests writing of constraint data to a separate file, the MPC equationsare included in that file.

C.7 Loads Processing

Nodal and element loads applied to the model in Patran under the BCs/Loads radio buttonon the main (top) menu). In Patran, the user groups these cases together (along with imposeddisplacements) to define loading cases, e.g., the “default case”. patwarp processes applied nodalforces, applied nodal temperatures and pressure loads applied to element faces.

When Patran writes the neutral file for the model, the loading cases are converted to loading“sets” with assigned numbers (1, 2, 3, ...). patwarp processes applied nodal forces, temperaturesand element face pressures for any number of loading sets. It builds the loading condition namefor 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 toelement load commands in the WARP3D input file. When patwarp automatically converts an8-node element into one of the transition elements, the user-defined pressure loads are carriedforward onto the transition element as well.

C.8 Solution and Output Commands

patwarp writes the following commands in the WARP3D input file to request analysis andoutput. These commands request a solution for load step 1 of the model and output of Patranbinary results files. The analyst should edit these example commands for the specific needs ofthe 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

Page 430: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 elementscan 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 willbe mismatches in the number of nodes on common faces/edges shared between the 8 and20-node elements. Apply nodal constraints and element pressure loadings as necessary tothe model. Configuration ids to signify different materials should be included at this point.

• Create the Patran neutral file for the model.

• Run the patwarp program. Once the neutral file has been read, patwarp will ask the userif the creation of transition elements is desired. If yes, patwarp searches the user-defined8 and 20-node elements to find all the shared faces/edges. It then redefines some 8-nodeelements as one of the transtion elements (9, 12, 15 node elements) needed to maintainfull displacement compatibility in the model. In this process, no new nodes or elements areadded to the model. Some 8-node elements are simply refined as transition elements byappending existing nodes (shared with 20-node elements) to their incidence list and thenre-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 ofcommon element types and writes the WARP3D input file.

• Patran compatible node and element result files are thus unaffected by the conversion ofsome 8-node elements into transition elements. Patran believes it is processing a mesh ofonly 8 and 20-node elements. When the user requests that patwarp write a new neutral filefor the model to reflect the blocked element re-ordering, the transition elements are writtenas standard 8-node elements.

C.10 Limitations and Recommendations

The WARP3D code requires that elements and nodes be numbered sequentially. Patran performsthis task through the Renumber option of the main Finite Elements menu. After the modelis 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 WARP3Dinput file for execution on a Windows or Mac OS X system. The Windows and Mac OS Xversions of WARP3D operate in a threads-only mode. In this example, the Paradiso sparsedirect or iterative solver is selected with the automatic blocking command inserted into thegenerated input file.

[rdodds]$ patwarp

****************************************************

Appendix C (Updated: 5-12-2013) C.7 patwarp

Page 431: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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

Page 432: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 executionon a Linux system using the MPI + threads version of WARP3D. The model is decomposedinto domains and blocks for parallel operations at the domain level and lower level parallelexecution 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

Page 433: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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

Page 434: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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

Page 435: WARP3D 17.4.0 Manual Updated June 5 2013

D.1Appendix D Tips

Appendix D

Tips for Modeling Fracture Specimens

!"# $%& '()*& +,&-&./% (/ /0& '1(23.* 413./

!"# $%&'($)$'* '+ ,'-.( )"/'01" ,'2-,$3#. *'.-, +'/2#( '/ *'.-, .$(&,-2#%#*)( 2/#-)#( (#45#/# ()/#((6()/-$* 2'*2#*)/-)$'*( 7"$2" %-8 2-0(# )"# *'*,$*#-/ (',0)$'* )' 2'*5#/1# 5#/8(,'7,8 '/ *') -) -,,9 !"# ($%&,#() /#%#.8 /#,$#( '* )"# 0(# '+ ,-/1# #,#%#*)( -) )"# ,'-. &'$*)-( ("'7* $* :$19 ;9<9 !"# ,-/1# #,#%#*)( (%'')" )"# (',0)$'* =8 #++#2)$5#,8 (&/#-.$*1 )"#,'-. '5#/ - ,-/1# /#1$'*9 :'/ &/'=,#%( )"-) 2-* =# ,'-.#. )"/'01" -&&,$#. +'/2#(> /-)"#/)"-* )"/'01" $%&'(#. .$(&,-2#%#*)(> (&/#-. )"# ,'-.$*1 /#1$'* '5#/ - *0%=#/ '+ #,#%#*)(9

Recommended RecommendedNot

:?@9 ;9<A!"#$ %"&'(")"(* +",- ./,0 1/'(*#

!"5 !3%6,(7&-&./ +8/)(61,(/31.

B0/ #C&#/$#*2# $*.$2-)#( )"-) )"# .$(&,-2#%#*) "2*-,3/4,*'/( +#-)0/# '+ )"# *'*,$*#-/ (',04)$'* &/'2#.0/# -22#,#/-)#( 2'*5#/1#*2# +'/ ,-/1# .$(&,-2#%#*)4+$*$)# ()/-$* (',0)$'*(9 ?*"$1"4/-)# -*-,8(#(> )"# ,-2D '+ - (#,+4($%$,-/ .#+'/%-)$'* &-))#/* ,#-.( )' - ,-/1# E02,$.#-**'/% '+ )"# /#($.0-, ,'-. 5#2)'/ -+)#/ )"# +$/() $)#/-)$'*9 F'7#5#/> (0=(#G0#*) $)#/-)$'*(7$)"$* - ()#& )8&$2-,,8 2'*5#/1# %'/# /-&$.,8 +',,'7$*1 .$(&,-2#%#*) #C)/-&',-)$'* $* )"#+$/() $)#/-)$'*9

:'/ -*-,8(#( )"-) 0(# )"# (%-,, .$(&,-2#%#*) +'/%0,-)$'*> .$(&,-2#%#*) #C)/-&',-)$'*2-* 2-0(# 5#/8 (#5#/# 2'*5#/1#*2# &/'=,#%(> #(&#2$-,,8 +'/ HH+'20(#.I 2/-2D +/'*) %#("#(9!"# &/#(#*) /#2'%%#*.-)$'* $( )' )0/* J'++I .$(&,-2#%#*) #C)/-&',-)$'* +'/ )"#(# )8&# '+-*-,8(#(9

Page 436: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

D.2Appendix D Tips

!"# !$%&'()*+*,- ./(0$,1 !23$,1 4$1567(-* 8,('9%*%

!"# $%&$'#()* +"(,%-&. -"-'/*#" ,%01+(2*3*-)0 0$"4+, 5* (11+%*, "- ( 0%-&+* +%-* "6 -",*0"7*# )$* *-)%#* )$%28-*00 "6 )$* 01*2%3*-9 :%01+(2*3*-) +"(,%-& )*2$-%;4*0 <$%2$ ," -")6"++"< )$%0 #*2"33*-,()%"- "6)*- 1#",42* -"-'2"-7*#&*-) 0"+4)%"-09 !%&4#* :9= 0$"<0)$#** 3*)$",0 6"# (11+>%-& -"-'/*#" ,%01+(2*3*-)0 ?"-+> )$* 6%#0) 3*)$", %0 #*2"33*-,*,6"# $%&$'#()* (-(+>0*0@9 A$* )<" 3*)$",0 -") #*2"33*-,*, 6"# $%&$'#()* +"(,%-& (#* 6"4-,)" %-)#",42* 2"-7*#&*-2* 1#"5+*30 %- )$* (-(+>0%09 B11+>%-& ,%01+(2*3*-)0 )" 34+)%1+*-",*0 )$#"4&$ )$* ,*1)$ 4-,*# $%&$'#()* +"(,%-& #*;4%#*0 ( #%&%, 5",> (22*+*#()%"- 6"# )$%00*2)%"- "6 )$* 3",*+ ?0$(,*, #*&%"- "6 6%&4#*@9 C6 ,%01+(2*3*-)0 (#* -") (11+%*, "7*# )$* *-')%#* )$%28-*00 "6 )$* 3",*+. ( +"2(+%/*,. $%&$'#()* DD14-2$%-&E ,*6"#3()%"- 1())*#- 3(>2(40* )$* #*0%,4(+ )" 5*2"3* +(#&* () )$* *,&* "6 )$* (11+%*, ,%01+(2*3*-) 6%*+,9

!"# 0)()%2 (-(+>0*0. <* 6%-, )$() %31"0%)%"- "6 )$* -",(+ ,%01+(2*3*-)0 "7*# 34+)%1+*0*)0 "6 )$#"4&$',*1)$ -",*0. (0 %- !%&9 :9= ?5@. 1#"7%,*0 3"#* #*(,%+> 2"-7*#&*-) 0"+4)%"-09

!": ;*<-/, =/'*3(,)*%

!"4# 2"-7*#&*-2* )*0)0 )" 2"-)#"+ )$* )*#3%-()%"- "6 &+"5(+ F*<)"- %)*#()%"-0 *G%0) 24##*-)'+> %- HBIJ9 A*0) -435*# )<". 6"# *G(31+*. 2"31(#*0 )$* #()%" "6 )$* K42+%,*(- -"#3 "6 )$*#*0%,4(+ 6"#2* 7*2)"# )" )$* K42+%,*(- -"#3 "6 )$* )")(+ (11+%*, 6"#2* 7*2)"#. <%)$ ( 40*# 01*'2%6%*, 7(+4* "6 (- (22*1)(5+* )"+*#(-2*9 A$%0 #()%" "6 K42+%,*(- -"#30 0$"4+, ,*2#*(0* )"'<(#,0 /*#" 5> #"4&$+> "-* "#,*# "6 3(&-%)4,* 1*# F*<)"- %)*#()%"-9 C6 ( 0+"<*# 2"-7*#&*-2*#()* 1*#0%0)0 "7*# 0*7*#(+ %)*#()%"-0. )$* 3",*+ 0$"4+, 5* #*'*G(3%-*, #*+()%7* )" )$* +"(,0)*1 0%/* (-, )$* 3",*+%-& &4%,*+%-*0 ,%02400*, $*#*9

A" 1#"7%,* ( 01*2%6%2 *G(31+* "6 )"+*#(-2*0 6"# 2"-7*#&*-2* 7(+4*0. 2"-0%,*# )$* LM:(-(+>0%0 "6 N$(#1> 6#(2)4#* 01*2%3*- ?OP 33 0;4(#* 2#"00'0*2)%"-. ! "! P9Q@9 K+*3*-)0(+"-& )$* 2#(28 6#"-) $(7* ( -"3%-(+ *,&* +*-&)$ "6 OP !39 A$* (-(+>0%0 40*0 )$* 03(++'0)#(%- 8%-*3()%2 6"#34+()%"- <%)$ ( #()* ,*1*-,*-). +%-*(# 1"<*# +(< 3()*#%(+ 3",*+? # "P ! QPP. $ ! OP. % ! LQ. & ! O@9 A$* $%&$'#()* (-(+>0%0 2"7*#0 =PP !0 %- RPP +"(,%-&0)*10 )" 140$ )$* #*01"-0* <*++ %-)" )$* 64++> >%*+,*, #*&%3* <%)$ ( 2"-0)(-) )%3* %-2#*3*-)"6 P9Q!09 A$* 0"+4)%"- 2"-7*#&*0 %- L'R %)*#()%"-0 6"# ( )>1%2(+ 0)*1 40%-& ( F*<)"- )"+*#(-2*"6 P9PPQ ?2"-7*#&*-2* )*0) -435*# )<"@9

!"> ?(@$+2+ 7*%$02(' A/3)*

B) )$* 2"31+*)%"- "6 *(2$ F*<)"- %)*#()%"-. HBIJ "4)14)0 )$* 7(+4* 6"# )$* 3(G%343 #*'0%,4(+ 6"#2* (-, -",* () <$%2$ )$%0 #*0%,4(+ "224#09 C6 ( 0)*1 6(%+0 )" 2"-7*#&* #(1%,+>. )$*+"2()%"- "6 )$* 3(G%343 #*0%,4(+ 6"#2* 3(> %-,%2()* )$* #*&%"- "6 )$* 3",*+ #*01"-0%5+*6"# 1""# 2"-7*#&*-2* 1*#6"#3(-2*9

!"B 80(&-$C* ./(0 D-*& D$E*%

A$* (,(1)%7* 0"+4)%"- 0)#()*&> 1#"7%,*, %- HBIJ "6)*- 1#"7*0 *00*-)%(+ %- *G1+"#()"#>(-(+>0*0 6"# <$%2$ 0()%06(2)"#> +"(, 0)*1 0%/*0 (#* 4-8-"<-9 H$*- )$* 01*2%6%*, +%3%) "-)$* -435*# "6 F*<)"- %)*#()%"-0 %0 *G2**,*,. )$* 24##*-) +"(, 0)*1 %0 6%#0) 045M,%7%,*, %-)"6"4# *;4(+ 045M0)*10S *(2$ "6 )$*0* 045M0)*10 2(- 5* (&(%- ,%7%,*, %-)" 6"4# 3"#* *;4(+0)*10 %6 #*;4%#*,9 K7*- <%)$ )$%0 1#"2*00. <* "22(0%"-(++> *G1*#%*-2* 1#"5+*30 6"# <$%2$ )$*(,(1)%7* 0"+4)%"- 0)#()*&> 6(%+0 )" 1#",42* ( 2"-7*#&*-) 0"+4)%"-9 A$* ,%66%24+)> %0 3"0)"6)*- )#(2*, )" %-0466%2%*-)+> )%&$) 2"-7*#&*-2* )"+*#(-2*0 <$%2$ (++"<*, 1#*7%"40 0)*10 )"(22434+()* )"" 342$ *##"#9

Page 437: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

D.3Appendix D Tips

Imposed Displacements -Single Layer Through Depth

Imposed Displacements –Partially Through Thickness

Imposed Displacements -Multiple Nodes Through Depth

ThroughThickness

Out

er E

dge

Out

er E

dge

Out

er E

dge

a) Recommended (High–Rate Loading) b) Recommended (Static Loading)

c) Not Recommended for Any Solutions

!"#$ %$&'!"#$%&'"%( )# *+,#(% -#.&/01 23 4#&.5 6/(,5.$%+%0)(

!"# $%&'(%&)*+,*&- .%/0-1%&2

()*+,*-./ .*.+01-1 )22.1,)*.++0 -34,5,6 +).7 16-81 94,24 2)*:-/;- 1+)9+0 7-18,6- 1--<,*;=+0 /.8,7 2)*:-/;-*2- /.6-1 ,* 8/-:,)>1 .*7 1>51-?>-*6 16-81$ @- /-A-/ 6) 64-1- .1 BB16,2C0D16-81E 64-0 2.* 5- 2.>1-7F A)/ -3.<8+-F 50 -36-*1,)* )A 64- 8+.16,2 G)*- .2/)11 -+-<-*61 64.6:./0 9,7-+0 ,* 1,G-$ @HIJ 8/):,7-1 64- 1)+>6,)* 8./.<-6-/ BB*)*2)*:-/;-*6 1)+>6,)* 2)*6,*=

Page 438: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

D.4Appendix D Tips

!"# $%&'% ()*'"+ ,%" -.-/0+&+ ,) ').,&.!" 1"0).2 - .).3').4"*5"., +,"67 8( +!1+"9!"., +,"6++%)$ - *",!*. ,) *-6&2 ').4"*5".'" *-,"+: ,%"*" &+ .) -''!;!/-,&). )( "**)* &. ,%" +)/!,&).<=>?@ ";6/)0+ - !"!#$ "9!&/&1*&!; ()*;!/-,&). ,) ');6!," *"+&2!-/ .)2-/ ()*'"+A7 B!* "C36"*&".'" +!55"+,+ ,%&+ 6-*-;","* ;-0 1" %"/6(!/ $%". ),%"* )6,&).+ %-4" 1"". "C%-!+,"27

!"# $%&' (%)*+%,%+- )./ 0*1'2(3-% 4.35*+1

D&5%3*-," /)-2&.5 ;-0 2"()*; - +6"'&;". &. - +!1+,-.,&-//0 2&(("*"., ;-.."* ,%-. +,-,&'/)-2&.57 E%" -.-/0+&+ )( %&5%3*-," /)-2&.5 ;-0 *"9!&*" -22&,&).-/ ;"+% *"(&.";"., &. *"35&).+ "C6"*&".'&.5 /)'-/&F"2 2"()*;-,&).7 G)* &;6-', /)-2&.5 )( ,%" H%-*60 +6"'&;". ').3+&2"*"2 &. ,%" 6*"4&)!+ "C-;6/": $" (&.2 &, ."'"++-*0 ,) "C,".2 2",-&/"2 ;"+% *"(&.";".,,) ,%" 9!-*,"*3+6-. 6)+&,&).7 E%" -22&,&).-/ ;"+% *"(&.";"., &+ ."'"++-*0 ,) *"+)/4" ,%"+"4"*" 1".2&.5 &.2!'"2 5*-2&".,+ ,%-, )''!* -, ,%" 9!-*,"*3+6-. /)'-,&).7 =&,%)!, ,%";"+% *"(&.";".,: *"+)/!,&). )( ,%" 6/-+,&' F)." )( /-*5" "/";".,+ $&,% +,""6 5*-2&".,+'*"-,"2 ').4"*5".'" 6*)1/";+7

!"6 789+- :.-;' <*= )./ >*+*-% ?-/3*+ @+38A&%&

E%" !+" )( II()'!+"2# "/";"., ;"+%"+ ,) ;)2"/ - +%-*6 '*-'J ,&6 $)*J+ 4"*0 $"// &. /&."-*"/-+,&' -.2 +;-//3+,*-&. 6/-+,&'&,0 -.-/0+"+ -.2 .) 2&((&'!/,&"+ +!*(-'" &. ,%" K"$,). ');36!,-,&).+7 =%". +!'% -.-/0+"+ ;!+, &.'/!2" ,%" "(("',+ )( (&.&," +,*-&.+ -/).5 ,%" '*-'J(*).,: ()'!+"2 ;"+%"+ )(,". &.,*)2!'" ').4"*5".'" 2&((&'!/,&"+ 2!" ,) ,%" "C'""2&.5/0 /-*5"+,*-&. &.'*";".,+ &. "/";".,+ &.'&2"., ). ,%" (*).,7 8. +!'% '-+"+: ,%" '*-'J ,&6 +%)!/2 1";)2"/"2 -+ - II1/!.,# ,&6 %-4&.5 - +;-//: +";&3'&*'!/-* +%-6" <+"" (&5!*"A7 E%" !.2"()*;"2)6".&.5: %L: +%)!/2 1" 2"(&."2 &. ,%" ;)2"/ -+ -66*)C&;-,"/0 M!N )( ,%" 2"()*;"2 )6".&.5:%: -, $%&'% *"+!/,+ &. ,%" '*-'J ,&6 *"5&). -*" .""2"27 B.'" ,%" 2"()*;"2 )6".&.5 "C'""2+"N#%L: 6-*-;","* +,!2&"+ *"4"-/ - ;&.&;-/ -(("', )( ,%" %L7

E%" !+" )( - !31-* ;)2&(&'-,&). ,) +!66*"++ 4)/!;",*&' /)'J&.5 &. ,%" O3.)2" +)/&2 "/"3;"., )''-+&).-//0 &.,*)2!'"+ +6!*&)!+ 2"()*;-,&). ;)2"+ &. "/";".,+ ). ,%" (*"" +!*(-'")( ,%" 1/!., .),'% ,&67 E%&+ 6%".);".- 2"4"/)6+ $%". ,%" +,*-&.+ &. ,%"+" "/";".,+ 1"');""C'""2&.5/0 /-*5"7 E%" +,-1&/&F-,&). 6*)'"2!*" 2"+'*&1"2 &. P"',7 Q7R7MM ;-0 )* ;-0 .), 6*"34"., ,%" +6!*&)!+ ;)2"+ &. '*-'J ,&6 "/";".,+7 B!* "C6"*&".'" *"4"-/+ ,%-, ');6/","/0"/&;&.-,&.5 ,%" !31-* ()*;!/-,&). *"+)/4"+ ,%&+ 6*)1/";: ,%"*"10 -//)$&.5 ,%" -'%&"4"3;"., )( /-*5"* %!%L *-,&)+7

Page 439: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide — WARP3D

D.5Appendix D Tips

!"#$ %$&'!"#$%%"&'"' ($'") $* +,-#. /01 *$, 20&03" 43,-0& 5&-)67"7

8(!)

*+,- .// !012, 3- 45,6,-7/8- !,,, 9+,/2:, 2-; 3- <,=7>3-7

Page 440: WARP3D 17.4.0 Manual Updated June 5 2013

E.1Appendix E Combining Partial Files

Appendix E

Combining Partial Patran Result Files GeneratedDuring Parallel Execution

By having data for elements in a domain distributed to the process that performs computa-tions for the domain, the generation of Patran compatible result files becomes more com-plex. When the user requests output of a Patran result file, the manager and worker pro-cesses eachwrite their own part of the “total” Patran file to a “partial” Patran file. For eachoutput requesting a Patran result file, this approach generates a series of partial Patranfiles with one partial file for each domain of the model.

Consider an analysis running in 32-way parallel. With the regular output command,the user requests generation of Patran nodal stresses after step 351 using binary format.In serial execution, this file is namedwnbs0351, i.e.,warpnodalbinary stresses for step351.In parallel execution, WARP3D creates 32 partial files named: wnbs0351.0000,wnbs0351.0001, wnbs0351.0002, ... wnbs0351.0031. The 4-digit domain (process id) num-ber defines the suffix for each file. The same strategy is used for element result files. Forfiles of nodal displacements, velocities and accelerations, the manager process (id 0) hasaccess to all model values and simply writes a single Patran result file without a domainnumber suffix.

For Patran to process the result files, all the partial files must be “combined” into asingle result file for the load step.Weprovide a support programnamedpat_combine toper-form this task outside of WARP3D. When executed, pat_combine examines the current di-rectory for the presence of partial result files, combines them as necessary (includes com-putation of nodal averages), and writes a new single result file, i.e., wnbs0351 in the pres-ent example. The partial result files remain on the directory (in the present version ofpat_combine). The execution ofWARP3D and pat_combinemay be overlapped for analyseswith long runtimes, i.e., onceWARP3Dwrites thepartial result files fora step,pat_combinemay be executed to combine the result fileswhileWARP3D continues theanalysis of subse-quent load steps.

Page 441: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

Appendix F

Binary Packets FileSection 2.12.2 outlines the concepts of the binary packets file and defines commands to control the typeand amount of data written to the file during WARP3D execution. This appendix describes each of theavailable packets. The source code for a complete Fortran program illustrate reading and processing abinary packets file is included in the WARP3D distribution.

F.1 File Characteristics

WARP3D creates and writes the packets file using the standard capabilities in Fortran for sequential,unformatted I/O. The file thus has the structure of logical records, where each read/write statement inFortran processes at least one logical record. Logical records in a file may have variable length (numberof bytes) as required to store the data located in the record. The Fortran statement to open the binarypackets file is:

open(unit=packet_file_no, file=packet_file_name,

& access=’sequential’,form=’unformatted’,status=’old’ )

Integer values in the binary file are all 32-bits. All floating point values are 64-bit (i.e., double precision).

The binary packets file produced on one hardware platform may or may not be readable on anotherplatform. For example, files produced on a Linux system likely will not be readable on a Windowssystem (and vice-versa) even though WARP3D is built with the Intel Fortran compiler system on bothplatforms. Files produced on two different Linux systems (e.g., RedHat and SuSE) are most oftencompatible. Linux and OS X binary files are compatible.

Fortran unformatted files have the record lengths stored within the file. Each logical record mayhave 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 Fortrancodes as are details of the additional data in the file to identify-separate logical records. C and C++unformatted files do not have this notion of logical records – the file is just a flat linear sequence ofbytes. Consequently, C and C++ programs written for post-processing the packets file must handle theadditional file data included by the Fortran I/O system to define 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 theoutput packets displacements nodes <integerlist> command. Results for each node appear on a separatelogical record. The number of additional packet records on the header record thus indicates the numberof nodes with results in the packet.

Appendix F (Updated: 3/15/2013) F.1 Binary Packets File

Page 442: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

• the node number: integer

• u displacement: floating point

• v displacement: floating point

• w displacement: floating 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 theoutput packets velocities nodes <integerlist> command. Results for each node appear on a separatelogical record. The number of additional packet records on the header record thus indicates the numberof nodes with results in the packet.

• the node number: integer

• u velocity: floating point

• v velocity: floating point

• w velocity: floating 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 theoutput packets accelerations nodes <integerlist> command. Results for each node appear on a singlelogical record. The number of additional packet records on the header record thus indicates the numberof nodes with results in the packet.

• the node number: integer

• u acceleration: floating point

• v acceleration: floating point

• w acceleration: floating 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 theoutput packets reactions nodes <integerlist> command. Results for each node appear on a single logicalrecord. The last logical record of the packet provides the algebraic sums for each reaction component forthe corresponding nodes. The number of additional packet records on the header record thus indicatesthe number of nodes+1 with results in the packet. The number of additional packet records is 1 whenthe totals only option is used within the output command.

• the node number: integer

• Rx reaction: floating point

• Ry reaction: floating point

• Rz reaction: floating point

Last record of packet

•∑Rx reactions for nodes in packet: floating point

•∑Ry reactions for nodes in packet: floating point

•∑Rz reactions for nodes in packet: floating 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, WARP3Dprovides 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

Page 443: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 hasauthorized packet file operations. The number of packet records equals the number of gurson elementsappearing in the printed list following each load step. A gurson element appears in the list when thecurrent porosity (f) exceeds the initial porosity (f0). This packet outputs data for gurson elements whenthe adaptive load control option is not employed in the crack growth parameter input, i.e., adaptive loadcontrol off (default setting in WARP3D when not specified). The packet record for each gurson elementprovides the following data.

• the element number: integer

• f0: initial porosity: floating point

• f : current porosity (averaged over element integration points): floating point

• εp: average plastic strain in the matrix material: floating point

• σ: average equivalent stress in the matrix material: floating point

• σm: average macroscopic mean stress: floating 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: floating 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 providesa printed table of key values for each gurson element. A “gurson” element is any solid element in themodel 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 authorizedpacket file operations. The number of packet records equals the number of gurson elements appearing inthe printed list following each load step. A gurson element appears in the list when the current porosity(f) exceeds the initial porosity (f0). This packet outputs data for gurson elements when the adaptiveload control option is employed in the crack growth parameter input, i.e., adaptive load control on. Thepacket record for each gurson element provides the following data.

• the element number: integer

• f0: initial porosity: floating point

• f : current porosity (averaged over element integration points): floating point

• εp: average plastic strain in the matrix material: floating point

• σ: average equivalent stress in the matrix material: floating point

• σm: average macroscopic mean stress: floating 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: floating 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: floating point

F.9 Packet Type 7: interface-cohesive elements

After each load step in analyses having interface-cohesive elements for crack growth, WARP3D providesa 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

Page 444: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

if the user has authorized packet file operations. The number of packet records equals the number ofinterface-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 (displacementjumps across the interface) for interface-cohesive elements produced by usual output commands.

exp1 intf formulation (elements are included only if the T ≥ 0.5Tp)

• the element number: integer

• the cohesive option: integer (= 4 for the exp1 intf option)

• normal component of cohesive traction (||T n||): floating point

• total shear component of cohesive traction (||T t||: floating point

• normal component of displacement jump in cohesive element (∆n): floating point

• shear component of displacement jump in cohesive element(||∆t||: floating point

• effective traction in cohesive element (T ) : floating point

• effective displacement jump in cohesive element (∆) : floating 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 integrationpoints of the element. The “special” character is ether (1) blank or (2) an * when the averaged, elementeffective displacement jump has exceeded the value corresponding to peak effective 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 (Tn): floating point

• shear component of cohesive traction (Tt): floating point

• normal component of displacement jump in cohesive element (∆n): floating point

• shear component of displacement jump in cohesive element(∆t): floating point

• averaged normal traction over element / Tn−p : floating point

• averaged shear traction over element / Tt−p : floating point

• number of element integration points at which Tn ≥ Tn−p: integer

• number of element integration points at which Tt ≥ Tt−p: integer

The traction and displacement jump values for the element are the average values for the the integrationpoints 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 CTOAalgorithm, 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 informationis also written to this packet type (when packet output is on). The number of packet records equals thenumber of active master nodes and equals the number of active crack fronts. The packet record for eachmaster node provides the following data.

• the master node number: integer

• the current opening angle (total) in degrees: floating point

• that status of the master node: integer. ( =0, the front has yet to grow and the critical angle refersto the initiation angle; =1, the front is growing and the critical angle refers to the growth angle)

• 100 × the current opening angle / critical angle: floating point

Appendix F (Updated: 3/15/2013) F.4 Binary Packets File

Page 445: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

The packet is generated after the load step finishes so the results in the packet refer to the load stepjust 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 crackfront(s). Each node along a front has one or more “neighbor” nodes which leads to computation of thecurrent opening angles. Growth at the node occurs when any of the angles formed with neighboringnodes exceeds the critical angle. This same table of information is also written to this packet type (whenpacket output is on). The number of packet records equals the sum of [ crack front nodes × (number ofneighbor nodes on the crack front -1) ]. The -1 factor arises since each crack front node has at least oneneighbor 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: floating point

• that status of the master node: integer. ( =0, the front has yet to grow and the critical angle refersto the initiation angle; =1, the front is growing and the critical angle refers to the growth angle)

• 100 × the current opening angle / critical angle: floating point

The packet is generated after the load step finishes so the results in the packet refer to the load stepjust 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, WARP3Dindicates which, if any, cohesive elements were newly extincted during the step (i.e., killed). The usermust indicate whether or not an interface-element may be extincted in an analysis through the keywordkillable in the specified properties of the cohesive material definition. WARP3D essentially removes theelement 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 packetif the user has authorized packet file operations. The number of packet records equals the number ofnewly extincted elements. The packet record for each newly “extincted” cohesive element provides thefollowing data.

• the element number: integer

• cohesive model formulation: integer (= 4 for simple exponential model; = 6 for PPR model)

• two data values, both floating point, for exponential model: (1) ratio of the average effective dis-placement to the peak effective displacement, avg(∆)/∆p; (2) ratio of the average cohesive tractionto the peak cohesive traction, avg(T )/Tp

or,

• two data values, both floating point, for PPR model: (1) average normal traction for element in-tegration points / peak value on the normal traction-separation curve, avg(Tn)/Tn−p; (2) averageshear traction for element integration points / peak value on the shear traction-separation curve,avg(Tt)/Tt−p

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 eachnode of an element appear on a single logical record. The number of additional packet records on theheader 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

Page 446: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

• the element number: integer

• the structure node number for the element: integer

• u displacement: floating point

• v displacement: floating point

• w displacement: floating 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 elementappear on a single logical record. The number of additional packet records on the header record thusindicates 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: floating point

• v velocity: floating point

• w velocity: floating 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 recordthus 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: floating point

• v acceleration: floating point

• w acceleration: floating point

F.16 Packet Type 14: reactions for element nodes

The packet contains theRx, Ry, Rz 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 aseparate 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 headerrecord thus indicates 1 + the number of elements the number of nodes on those elements. The numberof 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

• Rx reaction: floating point

• Ry reaction: floating point

• Rx reaction: floating point

Last record of packet:

•∑Rx reactions for nodes in packet: floating point

•∑Ry reactions for nodes in packet: floating point

Appendix F (Updated: 3/15/2013) F.6 Binary Packets File

Page 447: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

•∑Rz reactions for nodes in packet: floating point

F.17 Packet Type 15: element stresses

The packet contains stress values for elements appearing in the <integerlist> of the output packetsstresses elements <integerlist> command. The location of stress output is specified by the elementlogical properties: gausspts, nodpts or center output (see for example, Section 3.1.3). Twenty-six stressvalues are output for each Gauss point, element node or element center point. These 26 values are storedin one logical record on the file. 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 different type, material model, etc. The values oneach record (in order) are:

• the element number: integer

• the Gauss point number, the node number or ‘0’ indicating center output : integer

• σx: floating point

• σy: floating point

• σz: floating point

• σxy: floating point

• σyz: floating point

• σxz: floating point

• U0 (work density): floating point

• σvm (mises effective stress): floating point

• c1 (state variable from material model): floating point

• c2 (state variable from material model): floating point

• c3 (state variable from material model): floating point

• I1 (first stress invariant): floating point

• I2 (second stress invariant): floating point

• I3 (third stress invariant): floating point

• σ1 (principal stress, σ1 ≤ σ2 ≤ σ3): floating point

• σ2( principal stress, σ1 ≤ σ2 ≤ σ3): floating point

• σ3 (principal stress, σ1 ≤ σ2 ≤ σ3 ): floating point

• l1 (cosine for direction 1): floating point

• m1 (cosine for direction 1): floating point

• n1 (cosine for direction 1): floating point

• l2 (cosine for direction 2): floating point

• m2 (cosine for direction 2): floating point

• n2 (cosine for direction 2): floating point

• l3 (cosine for direction 3): floating point

• m3 (cosine for direction 3): floating point

• n3 (cosine for direction 3): floating point

Appendix F (Updated: 3/15/2013) F.7 Binary Packets File

Page 448: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 packetsstrains elements <integerlist> command. The location of strain output is specified by the elementlogical properties: gausspts, nodpts or center output (see for example, Section 3.1.3). Twenty-six strainvalues are output for each Gauss point, element node or element center point. These 26 values are storedin one logical record on the file. 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 different type, material model, etc. The values oneach record (in order) are:

• the element number: integer

• the Gauss point number, the node number or ‘0’ indicating center output : integer

• εx: floating point

• εy: floating point

• εz: floating point

• γxy: floating point

• γyz: floating point

• γxz: floating point

• εeff : (effective strain): floating point

• I1 (first strain invariant): floating point

• I2 (second strain invariant): floating point

• I3 (third strain invariant): floating point

• ε1 (principal strain, ε1 ≤ ε2 ≤ ε3): floating point

• ε2( principal strain, ε1 ≤ ε2 ≤ ε3): floating point

• ε3 (principal strain, ε1 ≤ ε2 ≤ ε3 ): floating point

• l1 (cosine for direction 1): floating point

• m1 (cosine for direction 1): floating point

• n1 (cosine for direction 1): floating point

• l2 (cosine for direction 2): floating point

• m2 (cosine for direction 2): floating point

• n2 (cosine for direction 2): floating point

• l3 (cosine for direction 3): floating point

• m3 (cosine for direction 3): floating point

• n3 (cosine for direction 3): floating point

F.19 Packet Type 17: J-integral results

The packet contains results for the currently-defined domain constructed using the domain command.Domain definition data is contained in the first logical record following the header record. Domainintegral results for individual rings (domains) are contained in the following logical records. When thedomain definition employs automatic rings (domains) to define multiple domains, the packet contains

Appendix F (Updated: 3/15/2013) F.8 Binary Packets File

Page 449: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

the average, minimum and maximum domain-integral totals. Following output of J-values, WARP3Dwrites stress intensity factor values KI ,KII , and KIII to the packet for each domain.

The number of additional packet records indicated on the header record for:

• a single ring (automatic or user-defined) = 3.

• multiple automatically-defined rings = (2 × the number of rings ) + 2.

The values in the first 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: floating point

• domain integral term 2: floating point

• domain integral term 3: floating point

• domain integral term 4: floating point

• domain integral term 5: floating point

• domain integral term 6: floating point

• domain integral term 7: floating point

• domain integral term 8: floating point

• domain integral total: floating 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: floating point

• minimum domain integral total: floating point

• maximum domain integral total: floating point

Additional record(s) corresponding to each ring include:

• pure mode-I stress intensity factor for plane stress: floating point

• pure mode-I stress intensity factor for plane strain: floating point

• pure mode-II stress intensity factor for plane stress: floating point

• pure mode-II stress intensity factor for plane strain: floating point

• pure mode-III stress intensity factor: floating 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, WARP3Dchecks for crack front nodes that exceed the critical angle (for initiation or continued growth). The codeprovides a printed table that summarizes the status of each current node along the crack front(s) thatexceeds the critical angle and is to be released at that time. This same table of information is alsowritten 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 first record after the header are:

Appendix F (Updated: 3/15/2013) F.9 Binary Packets File

Page 450: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

• (1) the critical angle (degrees) for continued growth, (2) the critical angle (degrees) for initiation ofgrowth, and (3) the (+,-) angle variation (a percentage of the critical value) within which nodes arereleased: 3 floating 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: floating 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 initiationor continued growth). The code provides a printed table that summarizes the status of each master nodethat exceeds the critical angle and the associated front to be released at that time. This same table ofinformation is also written to this packet type (when packet output is on). The number of packet recordsequals the 1 + the number of crack fronts being released at this point and the associated interim nodesfor the master node. Interim nodes appear when the crack is grown forward more than one element.This occurs when the user-specified criterion of Lc > Le is in effect (see Section 5.3).

The values in the first record after the header are:

• (1)the critical angle (degrees) for continued growth, (2) the critical angle (degrees) for initiation ofgrowth, and (3) the (+,-) angle variation (a percentage of the critical value) within which nodes arereleased: 3 floating 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, thenode is an “interim” node associated with the most recent record for a master node)

• the current opening angle (total) in degrees: floating 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 inthe model with the gurson plasticity model and which has the material property killable invoked. Theuser must indicate whether or not a solid element may be extincted in an analysis through the keywordkillable in the specified properties of the gurson material definition. WARP3D essentially removes theelement from the model, causing crack growth. When the analysis extincts an element, the indicationof removal is concurrently written as a packet if the user has authorized packet file operations. Thenumber of packet records equals the number of newly extincted elements. The packet record for eachnewly extincted gurson element provides the following data.

• the element number: integer

• f0: initial porosity defined in the material: floating point

• f : porosity (averaged over element integration points): floating point

• σm: average macroscopic mean stress: floating point

• σe: average macroscopic mises stress: floating point

F.23 Packet Type 21: newly extincted stress-modified critical strain ele-ments

After each load step in analyses having “smcs” elements for crack growth, WARP3D indicates which, ifany, 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

Page 451: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

element may be extincted in an analysis through the keyword killable in the specified properties of theplasticity material definition. WARP3D essentially removes the element from the model, causing crackgrowth. When the analysis extincts an element, the indication of removal is concurrently written as apacket if the user has authorized packet file operations. The number of packet records equals the numberof newly extincted elements. The packet record for each newly extincted “smcs” element provides thefollowing data.

• the element number: integer

• εp: plastic strain (averaged over element integration points): floating point

• εpc : critical plastic strain: floating point

F.24 Packet Type 22: stress-modified critical strain elements: no automaticload reduction

Aftger each load step in analyses having “smcs” elements for crack growth, WARP3D provides a printedtable of key values for each such smcs element. The same table is written concurrently as a packet ifthe user has authorized packet file operations. The number of packet records equals the number of smcselements appearing in the printed list following each load step. A smcs element appears in the list whenthe current average plastic strain (εp) exceeds 0. This packet outputs data for smcs elements when theautomatic load reduction option is not employed in the crack growth parameter input, i.e., automaticload reduction off (default setting in WARP3D when not specified). The packet record for each smcselement provides the following data.

• the element number: integer

• εp: average plastic strain (over element integration points): floating point

• εpc : current critical plastic strain: floating point

• σm: average mean stress (over element integration points): floating point

• σe: average mises equivalent stress (over element integration points): floating point

F.25 Packet Type 23: stress-modified critical strain elements: automaticload reduction

After each load step in analyses which have “smcs” elements for crack growth, WARP3D provides aprinted table of key values for each smcs element. The same table is written concurrently as a packet ifthe user has authorized packet file operations. The number of packet records equals the number of smcselements appearing in the printed list following each load step. A smcs element appears in the list whenthe current average plastic strain (εp) exceeds 0. This packet outputs data for smcs elements when theautomatic load reduction option is employed in the crack growth parameter input, i.e., automatic loadreduction on. The packet record for each smcs element provides the following data.

• the element number: integer

• εp: plastic strain (averaged over element integration points): floating point

• εpc : current critical plastic strain: floating point

• σm: averaged mean stress (over element integration points): floating point

• σe: averaged mises equivalent stress (over element integration points): floating point

• the averaged increase in plastic strain (εp) during the current load step: floating point

F.26 Packet Type 24: accumulated loading pattern factors for load step

The user specifies the contribution of one or more loading patterns and constraints to establish theincremental load for each analysis step. When the crack growth processors, for example, reduce themagnitude of the loading increments, the user often has difficulty tracking the actual loads applied on

Appendix F (Updated: 3/15/2013) F.11 Binary Packets File

Page 452: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

the model. WARP3D updates the actual multipliers for loading patterns and constraints imposed on themodel. 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 accumulatedfactors, including the “constraints”. Each packet record contains the following data.

• the loading pattern name as a character string (a12) – imposed displacements through constraintsare named “constraints”

• the accumulated multiplier for this pattern: floating point

F.27 Packet Type 27: interaction-integral results: stress intensity factors

The packet contains results for the currently-defined domain constructed using the domain command.Domain definition data is contained in the first logical record following the header record. Interactionintegral results for individual rings (domains) are contained in the following logical records. The finalrecords contain J-values computed for each ring (domain) using the stress intensity factors obtainedthrough 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-defined) = 7.

• multiple automatically-defined rings = 1 + 5×(the number of rings +1) + the number of rings.

The values in the first 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 tothe WARP3D output file, packet output contains data for plane stress and plane strain. Therefore, all ofthe following data for this packet type is repeated five 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 five sets of data, the values in therecord(s) corresponding to each ring are (see Chapter 4):

• interaction integral term 1: floating point

• interaction integral term 2: floating point

• interaction integral term 3: floating point

• interaction integral term 4: floating point

• interaction integral term 5: floating point

• interaction integral term 6: floating point

• interaction integral term 7: floating point

• interaction integral term 8: floating point

• interaction integral total: floating point

• stress intensity factor: floating point

• number of elements skipped or killed: integer

For multiple rings, the next record of the packet stores:

• average of interaction integral totals: floating point

Appendix F (Updated: 3/15/2013) F.12 Binary Packets File

Page 453: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

• minimum interaction integral total: floating point

• maximum interaction integral total: floating point

Additional record(s) corresponding to each ring include:

• J-value for plane stress: floating point

• J-value for plane strain: floating point

F.28 Packet Type 28: interaction-integral results: T-stresses

The packet contains results for the currently-defined domain constructed using the domain command.Domain definition data is contained in the first logical record following the header record. Interactionintegral results for individual rings (domains) are contained in the following logical records. (Note: ringsand domains are synonymous.)

The number of additional packet records indicated on the header record for:

• a single ring (automatic or user-defined) = 3.

• multiple automatically-defined rings = 1 + 2×(the number of rings+2).

The values in the first 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 -stressinteraction-integral output for plane stress and plane strain, respectively. For each of these two sets ofdata, the values in the record(s) corresponding to each ring are (see Chapter 4):

• interaction integral term 1: floating point

• interaction integral term 2: floating point

• interaction integral term 3: floating point

• interaction integral term 4: floating point

• interaction integral term 5: floating point

• interaction integral term 6: floating point

• interaction integral term 7: floating point

• interaction integral term 8: floating point

• interaction integral total: floating point

• T -stress T11: floating point

• T -stress T33: floating point

• number of elements skipped or killed: integer

For multiple rings, the next record of the packet stores:

• average of T11-values: floating point

• minimum of T11-values: floating point

• maximum of T11-values: floating point

• average of T33-values: floating point

• minimum of T33-values: floating point

Appendix F (Updated: 3/15/2013) F.13 Binary Packets File

Page 454: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

• maximum of T33-values: floating point

F.29 Packet Type 29: nodal temperatures

The packet contains the temperatures for each node appearing in the <integerlist> of the output packetstemperatures 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 withresults in the packet.

• the node number: integer

• current temperature (T ) – temperature T0 specified in the initial conditions for the model + allincremental changes (∆T ) defined through load steps: floating point

• T0 temperature specified in the initial conditions for the model (see Section 2.9). Values are zero ifno initial conditions specified

F.30 Packet Type 30: temperatures for element nodes

The packet contains the temperatures for each node of elements appearing in the <integerlist> of theoutput packets temperatures elements <integerlist> command. Results for each node of an elementappear on a single logical record. The number of additional packet records on the header record thusindicates 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 T0 specified in the initial conditions for the model + allincremental changes (∆T ) defined through load steps: floating point

• T0 temperature specified in the initial conditions for the model (see Section 2.9). Values are zero ifno initial conditions specified

F.31 Packet Type 31: tractions for interface-cohesive elements

The packet contains traction values for interface elements appearing in the <integerlist> of the outputpackets stresses elements <integerlist> command. By default, traction values are output at the elementintegration points – to request a single set of averaged values at the element center list the keywordcenter 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 thoseelements. 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: Tt1, Tt2, Ts and Tn. Additionalvalues, based on the type of cohesive material model associated with the element, follow these commonfour values. See tables in Section 3.3 for listing and definition 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)

• Tt1, Tt2, Ts and Tn

• Γ = 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

Page 455: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

• Tt1, Tt2, Ts and Tn

• T and T /Tp

• Γ =∫∆

0T T d∆

• Γur = Γ− 1/2 (T T ·∆)

ppr intf (8 values per integration point or 8 values for the center)

• Tt1, Tt2, Ts and Tn

• Ts/Ts−p and Tn/Tn−p

• Γ =∫∆

0T 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, displacementjump values are output at the element integration points – to request a single set of averaged values atthe 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 thoseelements. 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, followthese common four values. See tables in Section 3.3 for listing and definition 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)

• Tt1, Tt2, Ts and Tn

• Ts/Ts−p and Tn/Tn−p

• ∆s/∆s−p

• ∆n/∆n−p

F.33 Packet Reader (Fortran Program)

The Fortran source code for an example packet reader program is included in the WARP3D distributionin the directory packet dir. This example program is designed to run interactively in a shell window. Onstartup, it queries for a list of packet types to be processed during execution (other packet types in thebinary packets file 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

Page 456: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Binary Packets File

file and write some or all of the data values. We expect most users will modify extensively this exampleprogram 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 file)

ifort packet_reader.f -o packet_reader.go

Appendix F (Updated: 3/15/2013) F.16 Binary Packets File

Page 457: WARP3D 17.4.0 Manual Updated June 5 2013

G.1Appendix G Cohesive Element Treatment

Appendix G

Treatment of Cohesive/Interface Elements inPatran-Formatted Result Files

The way in which Patran handles formatted element result files mandates a specific for-mulationof interface elements inWARP3Dto achieveaccurate results. Patran acceptsbothformatted nodal and formatted element result files. When displaying results of any kindgraphically, Patran employs a node-based formulation, i.e., all graphical result gradientsare based upon nodal values. A user could reasonably presuppose that the ”element fill”display option for element results simply reveals the single resultant value for each ele-ment printed in the result file, but this is not the case. For formatted element result files,Patran assigns the single resultant value for an element to each node of the element, aver-ages the resultant value contributionsmadeby all the elementsattached toany givennode,and adopts that value as the result for the node. For formatted nodal result files, Patransimply adopts the value that is explicitly stated in the file and assigns it to the correct node.Posting and unposting model ”groups” do not alter displayed results.

Interface elements used in cohesive constitutive models can then skew the displayedresults of adjacent elements if not treated properly. Consider the following scenarios: ifcohesive element results are set to zero in the formatted element result file, Patran assignsa zero result to the nodes of the cohesive element. After undergoing inherent nodal averag-ingwithinPatran, the displayed results for adjacent non-interface elements are incorrectlyreduced. If ”cohesive-only” nodes (i.e. those nodes attached only to cohesive elements) aregiven zero resultant values in the formatted nodal results file, Patran displays resultantgradients across cohesive elements that canbe effectively ignored by the user, but are incor-rect nonetheless.

WARP3D combats these subtleties in Patran by effectively suppressing output of anykind in the formatted result files for cohesive elements and nodes attached only to cohesiveelements. Patran displays ”no” results for these elements and nodes, typically adopting acolor that is beyond the upper end of the current range to designate lack of results. In thisway, WARP3D avoids inherent averaging of artificial cohesive element results.

Page 458: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D Supported Computer Platforms

Appendix H

Supported Computer PlatformsSupport for various CPU architectures and computer platforms are added and removed to WARP3D astechnology advances.

Pre-compiled executables are distributed with the code for each supported platform. The executablesfor Windows and OS X provide parallel execution via threads and shared memory. They also use staticlinking of all required libraries. The Intel compiler system is thus not required on your systems to usethese executables.

The pre-compiled executables on Linux do link with some shared libraries from the Intel compiler andMPI 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, yourLinux systems are not required to have the Intel software installed to run the threads only executableincluded in the distribution. However, the Intel MPI system must be installed to use the executableincluded in our distribution. The Intel MPI software creates the MPI runtime environment at executionstartup 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 modifications to the source code, the Intel FortranComposer XE system must be installed on your computer. We use Release 2013 of the Intel softwareat this time. Future versions of the Intel compiler system should remain compatible with the WARP3Dsource code.

H.2 Linux

The pre-compiled executables run on 64-bit Linux systems. Our tests include RedHat and Ubuntudistributions.

To re-build the threads-only Linux executable to include modifications to the source code, the IntelFortran Composer XE 2013 for Linux system must be installed on your computer. Future versions ofthe 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 expectthe pre-compiled executable to also run under Lion. The Mac hardware must be Intel Core 2 Duo orlater. WARP3D runs parallel using only threads at this time.

To re-build the executable to include modifications to the source code, the Intel Fortran ComposerXE 2013 for Mac OS X system must be installed on your computer. We use Update 4 of the Intelsoftware at this time. Future versions of the Intel compiler system should remain compatible with theWARP3D source code

Appendix H (Updated: 5-13-2013) H.1 Supported Computer Platforms

Page 459: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

Appendix I

Abaqus Compatible UMATand Other USER Routines

The user-provided routines and importantly the UMAT feature of Abaqus enjoy widespread popularityas a way to include new capabilities for modeling nonlinear behavior of materials. WARP3D includes thecapability to use existing UMAT codes with very minor changes. The User Subroutine Reference Manualincluded in the Abaqus formal documentation and several of their tutorials/presentations provide anextensive description of the variables passed to-from a UMAT. The discussions here focus on those areaswhere analysis concepts in Abaqus and WARP3D differ and the additional arguments passed to theUMAT with WARP3D specific information that the UMAT code may wish use. The approach takenhere in the descriptions assumes the reader already has a working UMAT and wants to include/use itin WARP3D.

As new “user” routine capabilities are added to WARP3D, they will be documented in this Appendixas well. See subsequent sections.

An overview of the various topics include:

• understand differences between the Abaqus step-increment-iteration concept of analysis and thestep-iteration concept employed in WARP3D

• modify the routine umat set features included in the umats.f file of the src directory in the WARP3Ddistribution. 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 efficiency, modify the existing UMAT code to makeit thread safe – WARP3D will by default invoke concurrent instances of the UMAT via threads. Anoption is available to force serial execution of stress updating for element blocks referencing a UMAT

• decide if the UMAT will handle temperature effects on strains or if WARP3D will handle the tem-perature effects based on user-specified thermal expansion coefficients

• modify the UMAT code to include the WARP3D specific arguments passed after all the standardAbaqus prescribed arguments

• build a new WARP3D executable that includes the UMAT

• refer to the UMAT as a material assigned to finite elements in a model and provide values of propertiesfor 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 fixed orvariable-sized increments, and with global Newton iterations over an increment to drive residual nodalforces to acceptably small values. In the simplest form, an Abaqus step defines the new level of totalapplied load on the model with increments used to facilitate and track the nonlinear solution as the loadis gradually increased over the step – output may be obtained after any increment once the Newtoniterations converge.

WARP3D uses the concept of steps and iterations. A step imposes a small increase/decrease of newloading on the model with global Newton iterations to drive residuals caused by nonlinear response overthe 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

Page 460: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

does not have a concept comparable to an Abaqus step. The total loading on the model is the sumof all (incremental) loads imposed in each of the steps for which the solution has been computed. Theincrease/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 modelnodes. Incremental forces to enforce contact constraints and to release forces during crack growth aregenerated and included by internal WARP3D routines. Output may be requested once the equilibriumiterations converge for a load step, a restart file 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 isgiven here of the arguments with values assigned and expected on return by WARP3D. See the AbaqusUser Subroutine Reference Manual for complete details.

• *stress. (6×1) vector of stresses. Same order as Abaqus (xx, yy, zz, xy, xz, yz). Converged values forload step n are passed on entry; updated values at n+1 are returned. In finite-strain problems, theseare the unrotated Cauchy stresses [see section below. Same as in Abaqus Explicit, also see WARP3DChapter 1]

• *statev. (nstatv×1) vector of state variables at the material point. Values at n on entry are updatedto 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 byWARP3D.

• *rpl, *ddsddt, *drplde, *drpldt. Variables for coupled thermal-stress or thermal-electrical-structuralsolutions in Abaqus. WARP3D passes correct sizes and types with zero values but otherwise ignoresthese variables. WARP3D does not support coupled solutions

• *stran, *dstran. (6 × 1) vector of strains at WARP3D load step n and current estimate of strainchange over n→ n + 1 (see section below about temperature processing). In finite-strain problems,these are unrotated components and approximations of the logarithmic strain (same as in AbaqusExplicit, also see WARP3D Chapter 1)

• *time. (2× 1)time(1) = simulation time at start of WARP3D load step n; time(2) = time(1) sinceWARP3D does not have the concept of Abaqus steps.

• *dtime. time tn+1 − tn

• *temp, *dtemp. temperatures Tn and Tn+1 − Tn

• *predef. (1× 1) vector. Predefined field variables. Not defined 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

Page 461: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

• nstatv. number of state (history) variables for a material point. Value must be hard-coded into theroutine umat set features included in the umats.f file. No specific limits are imposed on the numberof state values per material point

• *props. (nprops×1) values of user-specified properties for the UMAT. In the input for a model, usersdeclare values of props with um 1 < value > um 2 < value >. . .

• nprops maximum number of user-specified properties for the UMAT. WARP3D limit is 50

• *coords. (3× 1) cartesian, global coordinates for the material point. In finite-strain solutions, theseare 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 finite-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 adaptivesub-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 solutionat 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 firstcall to UMAT for all material points, kinc = 1.

• kiter. WARP3D Newton iteration number for a load step. See special notes below for temperatureprocessing 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 arenumbered starting at 1, not zero.

• knumthreads. the number of threads assigned to process all element blocks for stress and Jacobianupdating

All floating point values are double precision – indicated by * above. Underlined arguments are theWARP3D additions at the end.

I.3 Processing of Temperature Effects on Strains

Abaqus provides two alternatives for handling temperature effects on material response in umats:

• the user specifies thermal expansion coefficients for the material external to the UMAT and Abaqusprocesses temperature effects – specifically the stran and dstran quantities then have only the me-chanical strains. Abaqus removes the thermal contribution to strains before calling the UMAT. TheUMAT does nothing about temperature effects on material response.

• the UMAT is designed and implemented to process all temperature effects 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 coefficients for the material outside of the UMAT (wherethey are visible to Abaqus). Rather, they are defined in the input for a model as part of the UMATproperties (e.g., um 1 < value > um 2 < value >, . . . ).

Appendix I (Updated: 5-10-2013) J.3 Abaqus Compatible UMAT

Page 462: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

The same two approaches are available in WARP3D for processing of temperature effects. WARP3Dsets thermal expansion coefficients initially to zero at the beginning of a material definition in an inputfile to define a model. If the user specifies non-zero values of the isotropic thermal expansion coefficient(alpha) or any of the anisotropic values (alphax, alphay, alphaz, alphaxy, alphaxz or alphayz ), WARP3Dremoves thermal strain components from stran and dstran before calling the UMAT. Here is an exampleinput for a material definition 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 coefficients left at the default zero value in theinput, WARP3D will also invoke the UMAT with kiter = 0 at the beginning of a load step. TheUMAT should remove the thermal strain contribution from dstran and immediately return: no othercomputations should be performed by the UMAT when kiter = 0.

This example code at the very top of a UMAT extracts the expansion coefficient from the 5th positionin the properties vector (i.e., the value set through um 5 ), updates dstran and returns for kiter = 0.For kiter 6= 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 themechanical 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 Effects, NLGEOM

The UMAT may implement nonlinear constitutive responses based on hypoelasticty or hyperelasticity(same as Abaqus).

WARP3D employs the same formulation for finite strain effects in hypoelasticty as used in AbaqusExplicit. The processing of finite rotation effects in computing the solution from step n to n + 1 areall handled by WARP3D using the notion of an unrotated coordinate system or equivalently a rotationneutralized configuration (see Chapter 1 of this manual, Abaqus Explicit documentation and Chapter8.3 of Computational Inelasticity by J.C. Simo and T.J.R Hughes, Springer, 1998). For hypoelasticconstitutive 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. WARP3Dthen transforms the updated (unrotated) Cauchy stresses to Cauchy stresses on the configuration atn + 1 to compute nodal forces using (symbolically)

∫BTσ dV and also transforms the Jacobian ddsdde

to n + 1 for element stiffness updating.

For hyperelastic constitutive formulations, the UMAT employs the deformation gradients at n andn + 1 to compute the new stresses at n + 1, stress. It is expected that the UMAT returns stress asthe Cauchy stresses at n + 1 and the Jacobian in the configuration at n + 1. WARP3D then omitstransformations executed for the hypoelastic formulation.

Appendix I (Updated: 5-10-2013) J.4 Abaqus Compatible UMAT

Page 463: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

For WARP3D to understand which approach above the UMAT adopts, a flag is set in the routineumat 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 file in the src directory. WARP3D invokes this routineduring execution to obtain information about features of the UMAT. Developers must edit the valuesin the info vector to define 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 file. It should be modified to match yourUMAT. 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 justprior to performing any user-requested stress output – this includes printed output and the generationof Patran compatible formatted or binary results files. The 6 stress values and state variables for thematerial point are passed to umat output which has the opportunity to provide up to 3 additional valuesin 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 inprinted output (with labels c1, c2 and c3 ) or as columns in Patran compatible result files for stresses.See Section 2.12 for discussions in printed output and Patran result files. Property values for the UMATand 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 theexample 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

Page 464: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

with descriptions

• *stress. (6× 1) vector of stresses. Same order as Abaqus (xx, yy, zz, xy, xz, yz). In finite-strain prob-lems, these are the Cauchy stresses

• *mat vals. (3 × 1) vector of additional output values. Put whatever is helpful to the UMAT userhere. These are referred to as c1, c2 and c3 above. WARP3D just prints these values on output andincludes them in Patran compatible result files

• *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 theroutine umat set features included in the umats.f file. No specific limits are imposed on the numberof state values per material point

• *time. (scalar) simulation time since start of analysis

• cmname. character * 8 always has content ’UMAT-WRP’

• *props. (nprops×1) values of user-specified properties for the UMAT. In the input for a model, usersdeclare values of props with um 1 < value > um 2 < value >. . .

• nprops maximum number of user-specified 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 floating point values are double precision – indicated by * above. Only the mat vals argument shouldbe modified.

I.7 Programming for Parallel Execution

WARP3D invokes the UMAT subroutine within a thread-parallel do loop over blocks of elements. Usingthe OpenMP framework, WARP3D spawns threads to process blocks of elements with code having thisgeneral 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, UMATcode should be written in “thread safe” form. A thread-safe UMAT routine must generally not:

• use any common blocks

• change the values of variables defined in data statements

• use save variables

• use equivalence

Common blocks, which are often used by a complex UMAT to communicate/share data with supportingroutines, represent the most easily recognizable construct that causes conflict between threads. Bydefault, only one instance of the common block exists in memory and is visible by all instances of theconcurrently executing UMAT routines. One thread could be thus updating the value of a variableconcurrently with another thread expecting to access the value it set previously.

Appendix I (Updated: 5-10-2013) J.6 Abaqus Compatible UMAT

Page 465: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

The threadprivate directive in OpenMP may be used to make common blocks private to each threadbut global within that thread. The runtime system creates and maintains a separate copy of the commonblocks for each thread. Data written to a threadprivate common block remains private to that threadand 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 duringelement block processing [these are gradually being replaced by modules to limit exposure of all but afew variables]. A number of modules are also defined. To prevent naming conflicts, modules and commonblocks if necessary should always start with umat .

Modules are thread-safe provided each writeable variable is declared as threadprivate. A simpleexample 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 arraysdeclared 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 executionreduces program efficiency and should be avoided if possible. It is preferable to use arrays with fixed-size defined locally in the UMAT – these are always placed on the runtime stack unique to each thread,are very efficient, and are always thread safe. allocatable arrays created, used and then de-allocated bythe UMAT are equally thread safe and also quite efficient.

Normal Fortran I/O is thread safe but very inefficient with the additional runtime support necessaryto 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. Theyoften made extensive use of COMMON blocks to reduce long argument lists to supporting routines, tocreate/share effectively global variables invisible to Abaqus, etc.

Re-writing such older codes may not be practical. Element blocks using such UMATs must thenbe processed using only 1 thread (serial) to prevent overwriting of COMMON variables. Processing ofsuch element blocks during stiffness 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 stressupdates for element blocks using UMAT codes that are not thread safe. An standard set of optionsspecified 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

Page 466: WARP3D 17.4.0 Manual Updated June 5 2013

User’s 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 variableOMP_NUM_THREADS. Stress updating for blocks of elements using the umat will be executed in parallel aswell unless the command umat serial on is given as illustrated above.

I.8 User Defined Nodal Forces & Temperatures

The routine user nodal loads is available to define nodal forces and temperatures for named loading“patterns” (see Section 2.8 for discussion of loading patterns and their use to define incremental loadsfor 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 definition of nodal loads. The definition ofloading 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 newload step to advance the solution from n → n + 1. The values returned by user nodal loads are scaledby the multiplier specified on the pattern in step definitions (see Section 2.8 for details). We expect thatmost often the user will specify a multiplier of 1.0 for the pattern loading in the load step definition.The values returned by the user nodal loads routine then define the real increment of nodal forces-temperatures contributed by the loading pattern. By calling the user nodal loads routine at each loadstep, WARP3D allows the routine to change the pattern values based on the current status of thesolution, e.g., current time, load step number, values read from an external file 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, character∗8). Name of the loading pattern that requests the user-function. In theexample above, load name contains the character string example . With this information available,different loading patterns may refer to the user routine with the user-routine code differentiatingvarious 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

Page 467: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D UMAT

• nnode. (scalar). Number of nodes in finite element model.

• step np1. (scalar). Value of n + 1 where solution is being advanced from load step n → n + 1.step np1 = 1 for first 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 configuration. (x, y, z)in columns 1-3.

• forces set. (scalar, logical). Initialized to .false. before call. Routine must set this = .true. if anynodal forces are defined in pattern values.

• temps set. (scalar, logical). Initialized to .false. before call. Routine must set this = .true. if anynodal temperatures are defined in pattern values.

• kout. (scalar). Fortran device number for any output the UMAT wishes to produce, e.g., debugginginformationelement number in the model

All floating 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 argumentlists for these routines are the same as those described in the Abaqus documention. The provided routinesare: xit, rotsig, sinv, sprinc, sprind, uhard, getnumcpus, getrank.

UMAT routines may wish to process external files. An unused and available Fortran device numbermay be obtained by invoking the routine integer function warp3d get device number(). The source codefor 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 file in the srcdirectory 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 executablewhich is placed in the run linux em64t, run mac os x, or run windows 64 directory. The scripts shouldbe re-run to create an updated executable each time the source code for the UMAT is modified.

The src directory in the WARP3D distribution contains a fully functioning example UMAT and canprovide a starting point for developing another UMAT.

Appendix I (Updated: 5-10-2013) J.9 Abaqus Compatible UMAT

Page 468: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

Appendix J

Crystal Plasticity ModelDerivation and Formulation

The kinematic assumptions that form the basis of the crystal plasticity model are very different fromtypical continuum plasticity models. The CP model does not have a conventional yield surface andits flow rule bears little resemblance to the associative flow rules used in the continuum models. Thisappendix derives the CP model starting from basic assumptions about dislocation motion and workhardening behavior. The general formulation closely follows [1]. For a detailed derivation of the MTShardening from basic dislocation dynamics see [2]. For a similar derivation of the geometric hardeningmodel 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 latticeconfiguration, not the reference configuration.

The stress integration occurs in the current configuration, and is the time integration of a convectedderivative. The rotated lattice and current configurations are often used without transformation, as ifthey are the in the same coordinates. This is because of the assumption of small stretch, where weassume the elastic stretch deformation is very small. If a material of interest sustains large stretches thisformulation would need changes.

J.1.2 Kinematic Equations

Let:

F = FeFp

which implies:F = FeFp + FeFp

and:F−1 = Fp−1Fe−1

Then consider the spatial velocity gradient:

L = FF−1 =(FeFp + FeFp

)Fp−1Fe−1

L = FeFe−1 + FeFpFp−1Fe−1

which we split into two parts:L = Le + Lp

with:Lp = FeLpFe−1

Appendix J (Updated: 5-10-2013) J.1 Crystal Plasticity Formulation

Page 469: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

Reference Lattice Rotated Lattice Current

Material

ΩΩΩΩ

Ωo

Fp

Fp−1

gT g

Re

ReT

I + ε

I− ε

no

bo

n

Dp

L

D

Wb

Dp

WpW

p

Figure J.1: Coordinate systems and configurations used in the derivation.

Appendix J (Updated: 5-10-2013) J.2 Crystal Plasticity Formulation

Page 470: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

Consider now the elastic assumption:

Fe = VeRe = (I + ε) Re ε I

i.e., small elastic stretch with large elastic rotation. Note then that Fe−1 = Re−1 (I + ε)−1 ≈ ReT (I− ε)

and Fe = εRe + (I + ε) Re. Then our formulas decompose to:

L =[εRe + (I + ε) Re

]ReT (I− ε) + (I + ε) ReLpReT (I− ε)

= ε−εε+ReReT−ReReTε+εReReT−εReReTε+ReLpReT +εReLpReT−ReLpReTε−εReLpReTε

and now neglect terms which are second-order in ε. This leads to:

L = ε− εε+ ReReT − ReReTε+ εReReT + ReLpReT + εReLpReT −ReLpReTε

Now split this into symmetric and skew parts:

D =1

2

(L + LT

)= ε− 1

2(εε+ εε)− ReReTε+ εReReT + ReDpReT + εReWpReT −ReWpReTε

W =1

2

(L− LT

)=

1

2(εε− εε) + ReReT + ReWpReT + εReDpReT −ReDpReTε

Let 12 (εε+ εε)→ 0 in D and let Dp = ReDpReT and Wp = ReReT + ReWpReT . Then we have:

D = ε+ Dp + εWp − Wpε (J.1.1)

W = Wp + εDp − Dpε+1

2(εε− εε) (J.1.2)

The only remaining unknown kinematic quantities are Dp and Wp (with Lp = FpFp−1). We need akinematic assumption to determine these tensors.

J.1.3 The Crystal Plasticity Kinematic Hypothesis

Consider the deformation gradient under polyslip to be the cumulative effect of each slip system de-forming in simple shear:

Fp =

nslip∏i=1

[I + γ(s)

(b(s) ⊗ n(s)

)]and make the first order approximation:

Fp = I +

nslip∑i=1

γ(s)(b(s) ⊗ n(s)

)Find the corresponding velocity gradient:

Lp = FpFp−1 =

nslip∑i=1

γ(s)(b(s) ⊗ n(s)

)Fp−1 =

nslip∑i=1

γ(s)(b(s) ⊗ Fp−T n(s)

)Recall the Piola rule for transforming normal vectors:

Lp =

nslip∑i=1

γ(s)(b(s) ⊗ n(s)

)

Appendix J (Updated: 5-10-2013) J.3 Crystal Plasticity Formulation

Page 471: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

With this key assumption we have:

Dp =

nslip∑i=1

γ(s)(b(s) ⊗ n(s)

)sym

Wp =

nslip∑i=1

γ(s)(b(s) ⊗ n(s)

)anti

where in general:

Asym =1

2

(A + AT

)Aanti =

1

2

(A−AT

)J.2 MTS Hardening

Consider the flow resolved shear stress on a single slip system – the force required to move a glissiledislocation on that slip system. Viewed another way, the work of the resolved shear over some incrementof slip is the energy required for a dislocation to overcome the energy barrier presented by obstacles todislocation motion. These obstacles can be grain boundaries, solute atoms, interphase boundaries, orother (sessile) dislocations.

Complicating this description is that the work of an applied stress is not the only source of energyhelping dislocations overcome obstacles. Moving dislocations also have kinetic energy associated withtheir rate of deformation (the strain rate) and, equivalently as we will see, thermal energy associatedwith the temperature of the material. Both of these energy sources can help a dislocation spontaneouslyovercome an obstacle and continue moving.

A single dislocation cannot be considered in isolation of others in the material. As dislocations movealong a slip system, the density of sessile forest dislocation opposing slip will initially increase as glissiledislocations 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, dynamicrecovery is itself a rate/temperature activated process. Finally, these sessile forest dislocations are notthe only dislocation present in the material – there are also dislocations necessary to accommodatenon-uniform plastic deformation. We will consider these dislocations separately in the next section.

Combining all these contributions to the flow stress is a daunting task. We follow the example ofKocks, Argon, and Ashby [2] who systematically developed a model for the flow stress of the materialusing the concept of the Mechanical Threshold Stress (as we consider a single slip system, we might referto it as the Mechanical Threshold Strength or Mechanical Threshold resolved Shear, all of which can beabbreviated MTS). The MTS starts from a thermodynamic consideration of the factors mentioned aboveand ends with an expression for the flow shear along a slip system, given an instantaneous combination oftemperature and rate, and a deformation (slip) history used to calculate an effective dislocation density.

J.2.1 The Mechanical Threshold Strength

Consider first the flow shear along a quasi-statically loaded a slip system in a material at 0K. Under theseconditions, a dislocation would not have any help from thermal/rate activation in overcoming obstaclesto 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 flow shear of the slip system as:

τ (0 K, 0 1/s) = τMTS

Appendix J (Updated: 5-10-2013) J.4 Crystal Plasticity Formulation

Page 472: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

where τ (T, e) is the flow shear and τMTS is the Mechanical Threshold Strength (MTS) – the flow shearat 0K in quasi-static deformation. Looking ahead, we know that many mechanisms oppose dislocationmotion. Some of these mechanisms may be athermal and some will depend on temperature and rate.Splitting off different 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 cannothelp to overcome) and each τi is a different mechanism affected by temperature and strain rate. Theidea of the MTS model is that we can scale these zero-temperature, zero-rate components of the flowshear up to a combination of rate and temperature. Expressing this idea as an equation:

τ (T, e) = τa +µ (T )

µ0

m∑i=1

Si (T, e) τi (J.2.1)

where the Si (T, e) are scale factors and µ/µ0 accounts for temperature-dependent elastic properties ofthe material. Here we adopt an empirical relation for the temperature-dependent shear modulus:

µ (T ) = µ0 −D0

exp (T0/T )− 1

Kocks, Argon, and Ashby express the scale factors in terms of an energy barrier to be overcome by acombination of the energy associated with the applied stress and the (free) activation energy associatedwith thermal/rate kinetics. First we normalize the (Gibbs) free energy:

∆G = gµb3 (J.2.2)

Kocks et al. choose an Arrhenius form to combine strain rate and temperature into a single energy term:

g =kT

µ (T ) b3ln

(ε0,i

e

)(J.2.3)

where g is the (normalized) energy, k the Boltzmann constant, b the magnitude of the Burgers vector, ethe equivalent strain rate, and ε0 a parameter. Now we must make some assumption about the shape ofthe 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 flow shear τ and some small displacement δa) and weknow the total free energy (area) provided by thermal activation (Eq. J.2.2). We can then reduce thedescription of the shape of the energy profile to an equation relating the free energy to τi (τi = Si (T, e) τi,the contribution to the flow shear of mechanism i) and τi. Kocks et al. picked an empirical relation:

∆G = g0,iµb3

1−

(τiτi

)piqi(J.2.4)

where g0, p, and q are parameters. This yields families of energy profiles 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 flow stress contribution, we find:

τi = τi

1−[

kT

µ (T ) b3g0,iln

(ε0,i

e

)] 1

qi

1

pi

(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

Page 473: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

W

∆G

bδa

τ

τ

τ

Figure J.2: Generic energy profile showing contributions of work and free (thermal activation) energy.

τ

b∆a

τ

b∆aτ

b∆a

τ

b∆a

τ

b∆a

τ

b∆a

τ

b∆a

τ

b∆a

p = 1 p = 12

q = 1

q = 12

q = 2

q > 2

Figure J.3: Energy profiles produced by Eq. J.2.4.

Appendix J (Updated: 5-10-2013) J.6 Crystal Plasticity Formulation

Page 474: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

Sta

ge

I

Sta

geII

Sta

geII

I

Sta

geIV

σ

εp

Figure J.4: The stages of work hardening.

Si (T, e) =

1−[

kT

µ (T ) b3g0,iln

(ε0,i

e

)] 1

qi

1

pi

These equations give a model of hardening at constant dislocation density. Now we consider an evolvingdensity of dislocations.

J.2.2 Work Hardening

Based on experimental results, work hardening is divided into a series of stages (see Fig. J.4). StageI 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 necessarydislocations in the next section, leaving Stages II and III. Empirically then, we need a theory whichstarts 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 wedefine it in terms of the density of necessary dislocations.

Physically, two mechanisms are competing during Stage III hardening. As dislocations move along slipsystems they contribute additional forest dislocation density, for example through dislocation bowing.This decreases the distance between obstacles to dislocation motion and increases the required flowstress. 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 activatedprocess. This serves to decrease the dislocation density on activated slip systems. If we ignore StageIV hardening, the combination of these two mechanisms leads to a work-hardening saturation stress –when the flow stress reaches this value it remains constant. Assume that dislocation bowing and relatedmechanisms increase the dislocation density in proportion to its square root, whereas recovery is a linearprocess:

∂ρf∂γ

= k1√ρf − k2 (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 flow stress in the material:

τ = ηµb√ρf

Appendix J (Updated: 5-10-2013) J.7 Crystal Plasticity Formulation

Page 475: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

τ

γ

τv

θ0

τy

Figure J.5: Hardening model behavior.

where η ≈ 1/3 and τ is the work-hardening contribution to flow stress. Now consider evolution withslip:

∂τ

∂γ= ηµb

∂γ

√ρf =

ηµb

2√ρf

∂ρf∂γ

combine with Eq. J.2.6:

∂τ

∂γ=

ηµb

2√ρf

(k1√ρf − k2ρf

)= k1

ηµb

2− k2

1

2ηµb√ρf = k1

ηµb

2− k2

1

let k1 = (2θ0) / (ηµb) and k2 = (2θ0) /τv (T, e). Here θ0 is the initial, Stage II rate of work hardeningand τ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 thesame Ahrenius scaling as we used for the total rate/temperature dependence in the previous section:

τv (T, e) = τv

1−[

kT

µ (T ) b3g0,vln

(ε0

e

)] 1

qv

1

pv

and we expand Eq. J.2.7 to a differential equation in terms of time (not slip):

∂τ

∂t= θ0

[1− τ

τv

] nslip∑s=1

∣∣∣γ(s)∣∣∣ (J.2.8)

Fig. J.5 shows the flow 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

Page 476: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

2. The rate/temperature sensitivity of τv in Eq. J.2.8 is much greater than the rate sensitivity of thescaling factor S in Eq. J.2.1, so for the working hardening component of Eq. J.2.1 we neglect thescaling 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 final Stage II and III hardening model:

τ (t, T, ε) = τa + τy (T, ε)µ

µ0+ τ (t, τv (T, ε))

µ

µ0(J.2.9)

˙τ =∑

θ0

[1− τ

τv

] nslip∑s=1

∣∣∣γ(s)∣∣∣ (J.2.10)

τy (T, ε) = τy

1−[

kT

µ (T ) b3g0,yln

(ε0

e

)] 1

qy

1

py

(J.2.11)

τv (T, ε) = τv

1−[

kT

µ (T ) b3g0,vln

(ε0

e

)] 1

qv

1

pv

(J.2.12)

with

µ (T ) = µ0 −D0

exp (T0/T )− 1(J.2.13)

and

e =

√2

3D : D. (J.2.14)

J.3 Geometric Hardening

In the previous section we discussed the contribution of forest dislocations to work hardening. Forestdislocations are treated in a statistical sense – we assume a uniform distribution described by a singledensity value ρf . Tacitly then we assume these dislocations do not contribute to the net dislocation stateof the material, that there are approximately equal numbers of positive- and negative-signed dislocations,that when viewed in terms of a sufficiently-large Burgers circuit their net Burgers vector is zero, andthat therefore, on the continuum-scale, these statistical dislocations do not contribute to the continuousdislocation density, measured by the Nye tensor α.

There must be another source of dislocations – those necessary to accommodate non-uniform plasticdeformation. These geometrically necessary dislocations contribute the excess sign of dislocations thatdevelop the Nye tensor. For additional detail about necessary dislocations see [3]. For details of thefollowing derivation see [4].

The Nye tensor of necessary dislocations develops through incompatibility in the deformation mea-sure Fe−1 (or equivalently Fp). Specifically,

α = ∇× Fe−1

where the curl is taken with the definition curl Aij = Ckm = εijkAmj,i where εijk is the Levi-Civitapermutation symbol. The appropriate measure of linear dislocation density along a slip plane is givenby:

λ(s) =√(αn(s)

):(αn(s)

)Appendix J (Updated: 5-10-2013) J.9 Crystal Plasticity Formulation

Page 477: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

where n(s)is a slip plane normal and : represents tensor contraction on both indices. We add this intoour hardening model of Eq. J.2.10 as follows: Define a stress for each slip system:

τ(s)λ =

k0

k1ηµλ(s)

with k1 = (2θ0) / (ηµb) as above and k0 a parameter characterizing geometric hardening. We add thesum of these stresses, normalized by the current flow stress, into Eq. J.2.10:

∂τ

∂t=

nslip∑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)λ /τ effects 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 geometricallynecessary 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 defined 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 gT 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 configuration andthe current coordinates is the elastic rotation Re.

Based on these rotations, define the constant vectors b(s)s = gTb

(s)0 and n

(s)s = gTn

(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)

τ

∣∣∣∣n−1

τ (s) (J.4.1)

with

τ (s) = τ :[Rea(s)

s (Re)T]

= τ :[Rem(s)

s (Re)T]

by symmetry, and

γ0 = e =

√2

3D : D

J.4.3 Elasticity

Relate elastic strain to stress via:

ε = S∗τ

where S∗ is the anisotropic elastic compliance tensor rotated to the current configuration.

Appendix J (Updated: 5-10-2013) J.10 Crystal Plasticity Formulation

Page 478: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

J.4.4 Final Formulation

Recall Eq. J.1.1 above:

D = ε+ Dp + εWp − Wpε

substitute in the elastic strain/stress relation:

D = S∗τ + Dp + S∗τWp − WpS∗τ

Rearrange:

τ = C∗(D− Dp + S∗τWp − WpS∗τ

)(J.4.2)

where C∗ is the elastic stiffness tensor, rotated from the crystal to the current configuration.

We found the decomposed parts of the plastic spatial velocity gradient to be (refer to section J.1above):

Dp =

nslip∑s=1

γ(s)[Rem(s)

s (Re)T]

Wp = Re (Re)T

+

nslip∑s=1

γ(s)[Req(s)

s (Re)T]

Furthermore, recall Eq. J.1.2:

W = Re (Re)T

+

nslip∑s=1

γ(s)[Req(s)

s (Re)T]

+(εDp − Dpε

)+

1

2(εε− εε)

so a rate form for the elastic rotation is given by:

Re =

[W −

nslip∑s=1

γ(s)[Req(s)

s (Re)T]−(εDp − Dpε

)− 1

2(εε− εε)

]Re (J.4.3)

Finally, recall the work hardening evolution Eq. J.3.1:

˙τ =

nslip∑s=1

θ0

1− τ

τv+τ

(s)λ

τ

∣∣∣γ(s)∣∣∣ (J.4.4)

and the associated flow shear equations. Equations J.4.2, J.4.3, and J.4.4 are what we must integrateover 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 theelastic rotation tensor Re and the Nye tensor of necessary dislocation density α both evolve slowlyrelative to the stress and working hardening state of the material. With this assumption, we integratethe stress rate Eq. J.4.2 and the working hardening rate Eq. J.4.4 implicitly, integrate the elastic rotationrate Eq. J.4.3 explicitly, and update the Nye tensor using α = ∇× Fe−1 only at the end of a step. Bythe displacement-driven nature of finite element models, we have the new deformation gradient F, thenew 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

Page 479: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

J.5.1 Kirchhoff Stress Update

Nonlinear Equations

Under these assumptions, an implicit Euler integration of Eq. J.4.2 yields:

τn+1 = τn + ∆tC∗n

(Dn+1 − Dp

n+1 + S∗nτn+1W

pn+1 − Wp

n+1S∗nτn+1

)(J.5.1)

Similarly, an implicit Euler integration of Eq. J.4.4 yields:

τn+1 = τn + ∆tθ0

nslip∑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 tosolve for the updated stress and work hardening state. Obviously we must put the equations solely interms of our known quantities Fn+1 and Tn+1 and the unknowns τn+1 and τn+1. To do this we use thediscrete versions of many of the equations above:

Ln+1 =Fn+1 − Fn

∆tF−1n+1

Dn+1 =1

2

(Ln+1 + LTn+1

)

en+1 = γo,n+1 =

√2

3Dn+1 : Dn+1

Dpn+1 =

nslip∑s=1

γ(s)n+1

[Renm(s)

s (Ren)T]

Wpn+1 = Re

n (Ren)T

+

nslip∑s=1

γ(s)n+1

[Renq(s)

s (Ren)T]

γ(s)n+1 =

γ0,n+1

τn+1

∣∣∣∣∣τ(s)n+1

τn+1

∣∣∣∣∣n−1

τ(s)n+1

τ(s)n+1 = τn+1 :

[Renm(s)

s (Ren)T]

τn+1 = τa + τy,n+1 + τn+1

τy,n+1 = τy

1−[

kTn+1

µn+1b3g0,yln

(ε0

en+1

)] 1

qy

1

py

τv,n+1 = τv

1−[

kTn+1

µn+1b3g0,vln

(ε0

en+1

)] 1

qv

1

pv

Appendix J (Updated: 5-10-2013) J.12 Crystal Plasticity Formulation

Page 480: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

µn+1 = µ0 −D0

exp (T0/Tn+1)− 1

We solve this system of equations with a local (material) Newton iteration scheme.

Local Newton Iteration

We pose the residual for Newton’s method (from Eqs. J.5.1 and J.5.2):

R1 = τn+1 − τn −∆tC∗n

(Dn+1 − Dp

n+1 + S∗nτn+1W

pn+1 − Wp

n+1S∗nτn+1

)(J.5.3)

R2 = τ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 Newton’s 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:

∂R1

∂τ= 1sym −∆tC∗

ijmn

(S∗mnkpW

plp − W

pmpSpnkl

)+ ∆t

γ0n

(τ)n

nslip∑s=1

∣∣∣τ (s)∣∣∣n−1

(C∗Rem(s) (Re)

T)⊗(Rem(s) (Re)

T)−(τReq(s) (Re)

T)⊗(Rem(s) (Re)

T)

+(C∗(Req(s) (Re)

T)

Sτ)⊗(Rem(s) (Re)

T)

(J.5.5)

∂R1

∂τ= ∆t

γ0n

(τ)n+1 C∗

nslip∑s=1

∣∣∣τ (s)∣∣∣n−1

τ (s)−Rem(s) (Re)

T+(SτReq(s) (Re)

T −Req(s) (Re)T

Sτ)

(J.5.6)

∂R2

∂τ= −∆t

γ0n

τnθ0

nslip∑s=1

1− τ

τv+τ

(s)λ

τ

∣∣∣τ (s)∣∣∣n−2

τ (s)Rem(s) (Re)T

(J.5.7)

∂R2

∂τ= 1 + ∆tθ0

nslip∑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 differential equations are very stiff, in large part because of Eq. J.4.1, the empiricalrate-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

Page 481: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

to plastic deformation, the nonlinear solution procedure fails to converge. To solve this problem weimplement an adaptive Newton’s method. If the method fails to converge over the full step from n ton+1 the method subdivides the process into four (quarter) steps and attempts to solve each quarter stepsuccessively. If one of the quarter steps fails to converge, the method subdivides that substep again, andso 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 finite element formulationswork with the Cauchy stress, not the Kirchhoff stress:

σn+1 =1

det (Fn+1)τn+1

We also need both the elastic stretch and the stretch rate for the next stress-update:

εn+1 = S∗nτn+1

εn+1 =εn+1 − εn

∆t

J.5.2 Elastic Rotation and Dislocation Density Update

Finally, we integrate the elastic rotation Ren+1 explicitly and update some quantities associated with it

(including the Nye tensor and our measures of linear necessary dislocation density λ(s)). Any rotationmatrix must be orthogonal. Re is initialized to the identity tensor I, which is orthogonal. Any correctintegration taking it from state n to n + 1 must then retain the orthogonality property. One suchintegration scheme is called exponential Euler, which integrates differential equations of the form:

X = A (t) X

using the formula:Xn+1 = exp (An) Xn

Applying this to Eq. J.4.3 we have:

Ren+1 = exp

[Wn+1 −

nslip∑s=1

γ(s)n+1

[Renq(s)

s (Ren)T]− A− B

]∆t

Ren

whereA =

(εn+1D

pn+1 − Dp

n+1εn+1

)B =

1

2(εn+1εn+1 − εn+1εn+1)

After finding the new rotation we can update the rate of rotation:

Ren+1 =

(Ren+1 −Re

n

)/∆t

We both the elastic rotation and stretch we can re-create the elastic deformation tensor:

Fen+1 = (I + εn+1) Ren+1

from this we can find the Nye tensor of geometrically necessary dislocation density:

αn+1 = −∇× Fe−1n+1 (J.5.9)

Appendix J (Updated: 5-10-2013) J.14 Crystal Plasticity Formulation

Page 482: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

Finally, from the Nye tensor we can calculate all the λ(s):

λ(s)n+1 =

√(αn+1n(s)

):(αn+1n(s)

)and the τ

(s)λ :

τ(s)λ,n+1 =

k0

k1ηµn+1λ

(s)n+1

For conventional hexagonal finite elements with tri-linear shape functions, there exists insufficientcontinuity to calculate the curl in Eq. J.5.9. However, within each element we can use least squaresfitting to a tri-linear function to calculate an estimate of the curl in an element using the Gauss-pointcalculations of Fen+1.

In addition we must rotate forward the elasticity tensors C∗ and S∗ to the new rotated latticeconfiguration. 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 consistentor algorithmic tangent for the next iteration of the global Newton loop. In particular, WARP3D expectsan approximation to the algorithmic tangent of the form:

An+1 =∂∆τn+1

∂∆Dn+1

where ∆Dn+1 = Dn+1∆tn+1.

Calculating this derivative explicitly is very difficult for the CP model. However, using the inversefunction theorem, we can find the tangent with a minimum of additional computation, using the localNewton’s method Jacobian we found in Section J.5.1. Consider the stress residual (Eq. J.5.3) at the endof a successful stress update:

R(1)n+1 = 0

Then we can differentiate using the chain rule:

∂0

∂∆Dkl= 0 =

∂R(1)ij

∂∆Dkl+

∂R(1)ij

∂∆τmn

∂∆τmn∂∆Dkl

+∂R

(1)ij

∂τ

∂τ

∂∆Dkl

∂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∂∆Dkl

+∂R

(1)ij

∂τ

∂τ

∂∆Dkl= −

∂R(1)ij

∂∆Dkl(J.6.1)

Notice that we already determined∂R

(1)ij

∂τmnand

∂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 J11 and J12. ∂∆τmn

∂∆Dklis the consistent

tangent, what we are trying to find.∂R1

ij

∂∆Dklwe can calculate explicitly. Unfortunately we don’t know

∂τ∂∆Dkl

, and if we try to solve the system of equations implicit in Eq. J.6.1 we would find it to beunder-determined. However, we can get the extra equation we need to solve the system by repeatingthis process with the work hardening part of the residual (Eq. J.5.4):

∂R(2)

∂∆Dkl=

∂0

∂∆Dkl= 0 =

∂R(2)

∂∆Dkl+∂R(2)

∂τmn

∂∆τmn∂∆Dkl

+∂R(2)

∂τ

∂τ

∂∆Dkl

Appendix J (Updated: 5-10-2013) J.15 Crystal Plasticity Formulation

Page 483: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

∂R(2)

∂τmn

∂∆τmn∂∆Dkl

+∂R(2)

∂τ

∂τ

∂∆Dkl= − ∂R(2)

∂∆Dkl(J.6.2)

Exactly as before, we already calculated ∂R(2)

∂τmn= J21 (Eq. J.5.7) and ∂R(2)

∂τ = J22 (Eq. J.5.8) above,∂∆τmn

∂∆Dkland ∂τ

∂∆Dklare unknowns, and we can explicitly calculate ∂R(2)

∂∆Dkl. Now if we combine Eqs. J.6.1

and J.6.2 we can solve for ∂∆τmn

∂∆Dkl(and the useless ∂τ

∂∆Dkl).

To do this we need the derivatives∂R

(1)ij

∂∆Dkland ∂R(2)

∂∆Dkl. These are:

∂R(1)

∂∆D= −C∗

n

1 +

2

3γ20

nslip∑s=1

1− n

τn+1

τy

pq ln(ε0γ0

) γ(s)

[(S∗nτn+1)

(Renq(s)

s (Ren)T)−(Renq(s)

s (Ren)T)

(S∗nτn+1)−

(Renm(s)

s (Ren)T)]

⊗Dn+1)

∂R(2)

∂∆D= − 2θ0

3γ20

Dkl

nslip∑s=1

1− n

τn+1

τy

pyqy ln(ε0γ0

)(1− τn+1

τv+

τ(s)λ

τn+1

)+

1

pvqv ln(ε0γ0

) τn+1

τv

∣∣∣γ(s)∣∣∣

So to find the algorithmic tangent, at the end of a successful stress update we solve the system ofequations:

J(7x7)n+1 A

(7x6)n+1 = B

(7x6)n+1

where Jn+1 is the local, material Jacobian matrix, computed with the final, converged stress values, thetop six rows of An+1 is the algorithmic tangent matrix, and

Bn+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 systemof 42 equations and 42 unknowns.

J.7 Strain Rates and Temperature Effects

J.7.1 Thermal strains

Now we introduce thermal strains in the formulation. Assuming isotropic thermal expansion with coef-ficient α and, in this section, let temperature be θ:

F = FeFθFp = (I + ε) Reeα(θ−θ0)IFp = eα(θ−θ0) (I + ε) ReFp

F = αeα(θ−θ0)θ (I + ε) ReFp + eα(θ−θ0)εReFp + eα(θ−θ0) (I + ε) ReFp + eα(θ−θ0) (I + ε) ReFp

F−1 = eα(θ0−θ)Fp−1Re−1 (I− ε)

Most of the terms in the expansion of the spatial velocity gradient remain the same:

L = ε− 1

2(εε+ εε)− 1

2(εε− εε) + ReReT + εReReT − ReReTε+ R∗DpR∗T

+εReDpReT −ReDpReTε+ ReWpReT + εReWpReT −ReWpReTε+ αθI

Appendix J (Updated: 5-10-2013) J.16 Crystal Plasticity Formulation

Page 484: WARP3D 17.4.0 Manual Updated June 5 2013

User’s Guide - WARP3D CP Formulation

This means the only kinematic change is:

D = ε+ Dp + εWp − Wpε+ αθI

D = S∗τ + Dp + S∗τWp − WpS∗τ + αθI

S∗τ = D− αθI− Dp + S∗τWp − WpS∗τ

τ = C∗[(

D− αθI)− Dp + S∗τWp − WpS∗τ

]the temperatures at n and n+ 1 are known, so we can approximate:

θ =∆θ

∆t

So the modification to the algorithm is to substitute Dθ for D in the algorithm, with:

Dθ = D− α∆θ

∆tI

J.7.2 Work density rates

The total power developed by the stress is:

W = τ : L = τ : D

The plastic work rate is:W p = τ : Dp

Note that Dp 6= Dp 6= Dp. Instead find Dp by finding the symmetric part of Lp:

Lp = FeLpFe−1 = (I + ε) Re(Dp + Wp

)ReT (I− ε)

= ReDpReT + εReDpReT −ReDpReTε+ ReWpReT + εReWpReT −ReWpReTε

The symmetric part is:

Dp =1

2

(Lp + (Lp)

T)

= ReDpReT + εReWpReT −ReWpReTε

Dp = Dp + ε

nslip∑s=1

γ(s)[Req(s)

s (Re)T]−nslip∑s=1

γ(s)[Req(s)

s (Re)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 simplegradient theory of crystal plasticity. Scipta Materialia, 48:167-172, 2003.

Appendix J (Updated: 5-10-2013) J.17 Crystal Plasticity Formulation