WARP3D Intro Lecture

24
Robert H. Dodds, Jr. (and many others!) M.T. Geoffrey Yeh Endowed Chair, Emeritus Department of Civil & Environmental Engineering University of Illinois at Urbana-Champaign Research Professor Department of Civil & Environmental Engineering University of Tennessee, Knoxville August 2013

Transcript of WARP3D Intro Lecture

Robert H. Dodds, Jr. (and many others!) M.T. Geoffrey Yeh Endowed Chair, Emeritus Department of Civil & Environmental Engineering University of Illinois at Urbana-Champaign Research Professor Department of Civil & Environmental Engineering University of Tennessee, Knoxville August 2013

2

*University of Illinois/NCSA, Open Source License. License text is Copyright (c) 2012 University of Illinois at Urbana- Champaign. Key provision of license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ”Software”), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so. (see full license in WARP3D distribution)

http://code.google.com/p/warp3d/

•  Open source*, 3D nonlinear FEA code for solid mechanics

•  Solids subjected to static, dynamic, thermal loadings

•  Many features for fracture mechanics simulations

•  Ready-to-run executables for complete problem solution & output

•  Not a “framework” requiring further work by users before solving problems

•  Extensive parallel execution via threads and threads+ MPI

•  Runs the same on laptops è desktops è supercomputers

•  Routinely used to solve nonlinear solids models with 500K nodes/elements on desktops; much larger models (1-5 M) nodes on supercomputers/clusters

3

•  Evolved from DARPA sponsored research at Illinois on software architectures for parallel execution of FEA codes (1989-1995)

•  Internal code architecture fixed in 1999-2000 from this research

•  Internal design to maximize parallel performance using element blocks and domains: MPI ranks to process domains, threads to process blocks and local vectorizable loops inside threads

•  Focus on limited feature set for robust 3-D nonlinear analyses of fatigue & fracture in structural materials

•  Solid and interface elements: no 2-D, no shells, no plates, no beams

•  Clean, modern design with comparatively small source code @ 140K LOC. Manageable by a small group.

4

•  Commercial software (Nastran, Abaqus, Ansys,…) not designed originally for parallel execution: efforts to “back design” still continuing

•  Best software architecture for parallel FEA codes not obvious in early 1990s; hardware concepts were changing rapidly

•  Open-source research code with best practices to support graduate education worldwide: there is no substitute for writing code in the process of learning mechanics

•  Highly targeted feature set (e.g. FGMs, crack extension, Gurson models, cohesive models…) supporting sponsored student research on challenging fracture issues

•  Abaqus is great; we use it in research. But students never see the code !

Page 1 of 2/Users/rdodds/Desktop/untitled text.fSaved: 8/25/13 9:50:02 PM Aug 25, 2013 Printed For: Robert Dodds

do i = 1, span1

c 2

if( .not. yield(i) ) cycle3

g = shear_mod_vec(i) 4

aps_n = history_n(i, 3)5

k_n = history_n(i,2)6

Q_bar = mm_props(i,1)7

b = mm_props(i,2)8

H_bar = mm_props(i,3)9

gamma = mm_props(i,5)10

sig_tol = mm_props(i,6)11

c12

rel_tol = sig_tol * sigyld_vec(i)13

c14

mean_stress = ( stress_n(i, 1) + stress_n(i,2) + 15

& stress_n(i, 3) )/three16

dev_stress_n(1) = stress_n(i,1) - mean_stress17

dev_stress_n(2) = stress_n(i,2) - mean_stress18

dev_stress_n(3) = stress_n(i,3) - mean_stress19

dev_stress_n(4) = stress_n(i,4)20

dev_stress_n(5) = stress_n(i,5)21

dev_stress_n(6) = stress_n(i,6)22

c23

alpha_n(1:6) = history_n(i,6:11)24

c25

mean_deps = ( deps(i, 1) + deps(i,2) + 26

& deps(i, 3) )/three27

c28

devdeps(1) = deps(i,1) - mean_deps29

devdeps(2) = deps(i,2) - mean_deps30

devdeps(3) = deps(i,3) - mean_deps31

devdeps(4) = deps(i,4)32

devdeps(5) = deps(i,5)33

devdeps(6) = deps(i,6)34

c35

c compute the fraction of the step that is purely elastic and 36

c update the stress_s vector to include the additional elastic37

c components. also update devdeps.38

c39

call mm05_fa_elastic_fraction( g, dev_stress_n, alpha_n, 40

& devdeps, eta, k_n, iout, felem, gpn, i, prior_linear(i))41

c42

c use only one substep and return (for debugging)43

c44

Page 2 of 2/Users/rdodds/Desktop/untitled text.fSaved: 8/25/13 9:50:02 PM Aug 25, 2013 Printed For: Robert Dodds

call mm05_fa_nsteps(1, devdeps, dev_stress_n, alpha_n, aps_n, 45

& g, Q_bar, b, H_bar, gamma, sigyld_vec(i),46

& stress_1step, alpha_1step, aps_1step, lambda_1step,47

& sig_t, alpha_sm1, norm_equiv_sm1,iout,gpn,felem, i, step,48

& iter, signal_flag, adaptive_possible, cut_step_size_now)49

c50

stress_np1(i,1:6) = stress_1step(1:6)51

history_np1(i,1) = lambda_1step52

history_np1(i,2) = root2third*(sigyld_vec(i) + 53

& Q_bar*(one-exp( -b*aps_1step )))54

history_np1(i,3) = aps_1step55

history_np1(i,5) = H_bar56

history_np1(i,6:11) = alpha_1step(1:6)57

trial_stress(i,1:6) = sig_t(1:6)58

return59

end if60

c61

call mm05_fa_nsteps(1, devdeps, dev_stress_n, alpha_n, aps_n, 62

& g, Q_bar, b, H_bar, gamma, sigyld_vec(i),63

& stress_1step, alpha_1step, aps_1step, lambda_1step,64

& sig_t, alpha_sm1, norm_equiv_sm1,iout,gpn,felem, i, step,65

& iter, signal_flag, adaptive_possible, cut_step_size_now)66

c67

call mm05_fa_nsteps(2, devdeps, dev_stress_n, alpha_n, aps_n, 68

& g, Q_bar, b, H_bar, gamma, sigyld_vec(i),69

& stress_2step, alpha_2step, aps_2step, lambda_2step,70

& sig_t, alpha_sm1, norm_equiv_sm1, iout,gpn,felem, i,step,71

& iter, signal_flag, adaptive_possible, cut_step_size_now)7273

5

•  Key research sponsors over past 15+ years: ❖  NASA (Ames, MSFC)

❖  U.S. Nuclear Regulatory Commission

❖  U.S. Navy (Carderock)

❖  Oak Ridge National Laboratory

❖  DoD, DoE through graduate fellowships

❖  Nathan M. Newmark & M.T. Geoffrey Yeh Endowed Faculty Chairs at Illinois

•  Platforms (all 64-bit) ❖  Linux: threads only, threads + MPI [RedHat, Ubuntu, SuSE…]

❖  Windows: threads only, W7, W8

❖  Mac OS X: threads only, 10.8.x

❖  We use compilers, MPI libraries & math libraries from Intel to build WARP3D. Intel MPI is required to run WARP3D for threads + MPI on Linux.

❖  Intel compilers are not required to use the ready-to-run executables in the WARP3D distribution

❖  WARP3D is written using features of Fortran 90, 95 and 2003

6

•  WARP3D is a FEA analysis engine. It runs from the command prompt in a shell window or a batch job management system

•  WARP3D does not have a GUI to create solid geometry-meshes or to post-process results

•  We depend on excellent commercial, open-source and homegrown software for these activities

•  Commercial examples*: Patran, FEACrack (Quest Reliability, Inc), TrueGrid, FEMAP, Hypermesh, …

•  Non-commercial examples: Cubit, ParaView, Gmsh, …

•  WARP3D takes input for the mesh, material properties, loading, compute and output commands from one or more text files (like Abaqus .inp files)

•  WARP3D system has a translator to convert Patran neutral files to WARP3D input. WARP3D writes Patran-style result files. Translates these to Exodus II if needed.

*WARP3D developers have no financial or other agreements with any commercial company

Page 1 of 1/Users/rdodds/Desktop/zzSaved: 8/10/13 1:46:27 PM Aug 10, 2013 Printed For: Robert Dodds

[rdodds]$ cd example_problems_for_READMEs1

[~/warp3d_project/example_problems_for_READMEs]2

[rdodds]$ warp3d_OSX 12 <<< -- start with 12 threads3

4

>> Running Mac OS X (64) version of WARP3D...5

OpenMP + threaded MKL solver6

7

>> Starting WARP3D in foreground...8

9

*******************************************************************10

** **11

** **12

** W W AAAAA RRRRRR PPPPPP 33333 DDDD **13

** W W A A R R P P 3 3 D D **14

** W W A A R R P P 3 D D **15

** W W A A R R P P 3 D D **16

** W W W AAAAAAA RRRRRR PPPPPP ---- 3333 D D **17

** W W W A A R RR P 3 D D **18

** W W W A A R RR P 3 3 D D **19

** WWW WWW A A R RR P 33333 DDDD **20

** **21

** Mac OS X (64-bit) -dev- Release: 17.4.2 **22

** Code Build Number: 2460 (7/22/2013) **23

** University of Illinois Dept. of Civil Eng. **24

** Today: Sat Aug 10 13:45:12 2013 **25

** **26

** **27

** NOTICE: **28

** Use of Program Implies Agreement With **29

** Terms and Conditions Set Forth in File **30

** "license_agreement". Enter the WARP3D **31

** Command "license" to Display License. **32

** **33

** Limits this version: **34

** nodes: 1000000 elements: 1000000 **35

** **36

*******************************************************************37

*input from file test_18a38

*input from file test_18a39

>>>>> input file is: test_18a 40

c 41

c 42

c ductile crack growth in a shallow notch se(b)4344

7

•  Solids: 8, 9, 12, 15, 20 node (hex) isoparametrics; 4, 10 node tets; all with face, temperature, body loadings

•  Interface-cohesive: 8-node quad, 6,12-node triangles

•  Static, impact/dynamic (time-history integration)

•  Finite-strain plasticity (mises, crystal plasticity, deformation plasticity, hydrogen effects, Gurson-Tvergaard, strain-rate dependent, Frederick-Armstrong & Generalized cyclic, temperature dependent, etc.)

•  Fully automatic crack growth modeling (element death, CTOA and user controlled node release, interface-cohesive, adaptive solution strategies)

•  J-integral computation (domain formulation with all features)

•  Advanced interaction integrals (KI-KII –KIII, T-stress, including FGMs)

•  Rigid-body contact (no friction)

•  Functionally graded materials (linear and nonlinear)

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

A⇠2 =

A2

A⇠3 =

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 ⇠31 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

8

*See appendex for additional capabilities/details on J-integrals and crack growth modeling

WARP3D-Release 17.4.1 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*Urbana1Champaign*

A#Report#on#Research#Projects#Sponsored#by#the#

U.S.#NUCLEAR#REGULATORY#COMMISSION#OFFICE#OF#NUCLEAR#REGULATORY#RESEARCH#DIVISION#OF#ENGINEERING#WASHINGTON,#D.C.##NASASAMES#RESEARCH#CENTER#MOFFETT#FIELD,#CALIFORNIA##NASASMARSHALL#SPACEFLIGHT#CENTER#HUNTSVILLE,#ALABAMA##OAK#RIDGE#NATIONAL#LABORATORY#OAK#RIDGE,#TENNESSEE##DEPARTMENT#OF#CIVIL#&#ENVIRONMENTAL#ENGINEERING#UNIVERSITY#OF#ILLINOIS#AT#URBANASCHAMPAIGN##July#2013#

UILU$ENG$95$2012-

ISSN:-0069$4274-

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

•  Automatic tied contact

•  User-control over nonlinear solution strategy, convergence

•  Adaptive nonlinear solution strategies

•  Full restart support

•  Solvers: ❖  Pardiso (direct, iterative) in Intel Math Kernel Library for threaded parallel execution

❖  Hypre iterative (from LLNL) for MPI + threads on Linux

•  Packet-based output for user post-processing

•  User-routines ❖  Abaqus compatible UMAT and UEXTERNALDB interfaces

❖  USER_NODAL_LOADS for runtime definition of loading just before a new load (time) step

❖  USER_SOLUTION_PARAMS enables user to set any parameter controlling the nonlinear solution algorithms and the incremental loading for the next (time) step

•  Interactive and batch Execution

•  Documentation (updated Theory & User Guide online)

9

•  Growth and coalescence of discrete voids in a J2 plastically deforming metal at finite strains

•  1 layer of 3D, 20-node elements in thickness direction (for simplicity of example)

•  Plane-strain constraints with constrained exterior as shown leads to so-called uniaxial plane-strain model at the macroscale

•  Imposed uniform extension over top surface

•  Alternate loading: internal pressure in one or both voids (included in input but not used)

•  Reactions at top nodes give nominal (continuum) stress. Displacement on top surface gives nominal (continuum) strain. Nominal stress peaks then drops as voids grow

•  Examine internal plastic flow, growth towards coalescence

•  Illustrates key components of analyses with WARP3D

1.6

2.0

2 @ 0.2

r  = 0.1 Xg

Yg

Δ

�0 = 1 E = 500 ⌫ = 0.3

f0 = 0.02Initial  porosity:  Thickness:  0.1  

10

•  Meshing: ❖  Built with Patran ❖  Output to a neutral file (sizes, coordinates, connectivities) ❖  Translated to a WARP3D (text) input file (warp3d.inp) using

patwarp program (in WARP3D distribution) ❖  Edited this file to add material properties, constraints, tweak

nonlinear solution parameters, add compute and output commands

•  Material: incremental Mises with segmental definition of uniaxial true stress-log strain curve. Isotropic hardening. Finite strains.

•  Solution: ran model on 2012 MacPro (2 x 6-core X5675 processors). 200 load steps (increments) of imposed displacements on top surface. Load peaks before step 50 and continues to decrease as voids grow. Wall clock time (secs): 1 thread, 1118; 2 threads, 619; 4 threads, 378; 8 threads, 268 (494 global Newton iterations)

•  Post-processing: WARP3D outputs Patran-style nodal results files (displacements, strains, stresses). Use pat2exii program to build .exo file for ParaView to examine results. pat2exii included in WARP3D distribution.

Nodes: 41,647 Elements: 5,800

11

•  Nominal stress: reaction force on top surface nodes / undeformed area of top surface

•  Nominal strain: imposed Δ / 2.0 (height)

•  Figures show deformed mesh at true scale

•  At step 200 (strain = 0.065), coalescence is imminent

Nominal stress, �N

Nominal strain, "N

f0 = 0.020f = f0 + "

�N , "N

"̄0.8

0.6

0.2

0.0

0.4

�e2.67

2.00

1.33

0.67

0 "N = 0.025Step 50:

"N = 0.025Step 50:

12

•  Use a C, c, ! or # in column 1 followed by a blank to indicate a comment line

•  Blank lines and spaces ignored

•  Names of most things are truncated by WARP3D at 8 characters (material number can have 24 cars)

•  A $ terminates actual input data on a line

•  Commands continue with comma

•  Can use multiple, nested input files for convenience: ❖  *input from data_part_1

❖  *input from data_part_2 (use quotes if file name has special characters, e.g. . # ! ?)

❖  *input from data _part_3

•  Nodes, elements numbered sequentially

•  Segmental σ-ε curve: strains are total values

Page 2 of 2/Users/rdodds/Desktop/zzSaved: 8/10/13 5:24:33 PM Aug 10, 2013 Printed For: Robert Dodds

2281 2296 2311 2326 2341 2356 2371 2386, 45

3551 3566 3581 3596 3611 3626 3641 3656, 46

3671 3686 3701 3716 3731 3746 3761 3776, 47

3791 3806 3821 3836 4351 4366 4381 4396, 48

4411 4426 4441 4456 4471 4486 4501 4516, 49

4531 4546 4561 4576 4591 4606 4621 4636 face 6 pressure 1.050

c5152

Page 1 of 1/Users/rdodds/Desktop/zzSaved: 8/13/13 2:19:03 PM Aug 13, 2013 Printed For: Robert Dodds

!1

structure holes2

! 3

stress-strain curve 1 $ E / sig-o = 5004

0.002 1.0, 5

0.007 1.17,6

0.013 1.30,7

0.023 1.428

0.033 1.52,9

0.043 1.57,10

0.063 1.66,11

0.124 1.84,12

0.204 1.97,13

50.0 3314

15

# 16

material a533b17

properties mises e 500 nu 0.3 curve 1 rho 0.018

19

number of nodes 41647 elements 580020

c21

elements22

1-5800 type q3disop nonlinear material a533b,23

order 2x2x2 center_output short24

c 25

*input from 'coordinates.inp'26

*input from 'incidences.inp'27

c28

constraints29

plane z = 0 w = 030

plane z = 0.1 w = 031

plane x = -0.6 u = 032

plane x = 1.0 u = 033

plane y = -1.0 v = 034

plane y = 1.0 v = 035

c36

plane y = 1.0 v = 0.004 $ nominal gross strain = yield 37

c 38

loading unit_pressure_holes39

element loads40

1 16 31 46 61 76 91 106, 41

121 136 151 166 181 196 211 226, 42

241 256 271 286 2101 2116 2131 2146, 43

2161 2176 2191 2206 2221 2236 2251 2266, 44

13

•  English-like commands

•  Most words may be abbreviated at a few characters

•  Most options in a command may be given in any order

•  Use either case letters (file names should be lower-case)

•  Decimal points are not required if there is no fraction

•  Data items must be separated by at least one blank

•  Lists of integers may have the form:

•  User-defined lists of nodes-elements maybe used anywhere integer lists maybe used

Page 1 of 1/Users/rdodds/Desktop/zz.txtSaved: 8/10/13 5:44:09 PM Aug 10, 2013 Printed For: Robert Dodds

c 1

loading test2

nonlinear3

step 1-75 constraints 0.254

step 76-200 constraints 0.15

c 6

nonlinear analysis parameters7

solution technique sparse direct 8

maximum iterations 5 $ newton iterations9

minimum iterations 210

convergence test norm res tol 0.005 $ tight11

nonconvergent solutions stop12

adaptive on13

linear stiffness for iteration one off14

batch messages on15

cpu time limit off16

material messages off17

bbar stabilization factor 0.018

consistent q-matrix on19

time step 1.0e0620

trace solution on21

extrapolate on22

display tied mesh mpcs off2324

c25

list "top-nodes" y = 1.026

c 27

c28

*input from 'compute_output.inp' 29

stop3031

<start> - <end> by <increment> where the increment may be (+,-). also <end> may be less than <start>

14

Translator: patwarp.exe

Text Editor (notepad, vi, emacs,…)

warp3d.exe <input > output

Patran Compatible Results (Binary and/or ASCII)

Printed Results

(ASCII)

Packets (Binary)

PATRAN, FEMAP, FEACrack, Cubit, ... …

Restart (Binary)

Draft WARP3D input (ASCII)

pat2exii.exe

.exo for ParaView & others (binary)

patran.out.# (neutral file: ASCII)

PATRAN, FEMAP,

FEACrack, …

patran.out.# (neutral file: ASCII)

WARP3D input (ASCII)

•  Structure id •  Material specifications

•  Model size (# nodes, elements)

•  Element specifications

•  Nodal coordinates

•  Element incidences (connectivity) •  Blocking

•  Crack growth parameters

•  Rigid contact surfaces

•  Displacement constraints •  Named loading conditions

•  Nonlinear loading condition

•  Nonlinear/dynamic solution parameters

•  Compute/output requests •  J compute/output requests

•  Make a restart file

15

Specified once Repeat as needed (generally this order)

16

Page 1 of 1/Users/rdodds/Desktop/zzSaved: 8/13/13 2:19:03 PM Aug 13, 2013 Printed For: Robert Dodds

!1

structure holes2

! 3

stress-strain curve 1 $ E / sig-o = 5004

0.002 1.0, 5

0.007 1.17,6

0.013 1.30,7

0.023 1.428

0.033 1.52,9

0.043 1.57,10

0.063 1.66,11

0.124 1.84,12

0.204 1.97,13

50.0 3314

15

# 16

material a533b17

properties mises e 500 nu 0.3 curve 1 rho 0.018

19

number of nodes 41647 elements 580020

c21

elements22

1-5800 type q3disop nonlinear material a533b,23

order 2x2x2 center_output short24

c 25

*input from 'coordinates.inp'26

*input from 'incidences.inp'27

c28

constraints29

plane z = 0 w = 030

plane z = 0.1 w = 031

plane x = -0.6 u = 032

plane x = 1.0 u = 033

plane y = -1.0 v = 034

plane y = 1.0 v = 035

c36

plane y = 1.0 v = 0.004 $ nominal gross strain = yield 37

c 38

loading unit_pressure_holes39

element loads40

1 16 31 46 61 76 91 106, 41

121 136 151 166 181 196 211 226, 42

241 256 271 286 2101 2116 2131 2146, 43

2161 2176 2191 2206 2221 2236 2251 2266, 44

Input total strains - not just plastic part. Can put multiple pairs of values per line. Last point used to define small, positive terminal slope.

1

4

5

6

7

2

3

mises is name of the WARP3D built-in material model

Default maximum sizes: 1M nodes and 1M elements

nonlinear option for finite strains/rotations. Reduced integration order 8 point rule (2x2x2)

Put file name in quotes if it contains spaces, punctuation other than _ (under bar)

Add option verify at end to see list of nodes. These constraints are incremental values imposed

during each load (time) step. Can use multiplier later.

Constraints may be in alternate coordinate systems. Multi-point constraints are supported.

Pressure loading inside both voids specified for illustration but not imposed on model in this analysis

1

2

3

4

5

6

7

Page 1 of 1untitled text 8

c 1

loading test2

nonlinear3

step 1-75 constraints 0.254

step 76-200 constraints 0.15

c 6

nonlinear analysis parameters7

solution technique sparse direct 8

maximum iterations 5 $ newton iterations9

minimum iterations 210

convergence test norm res tol 0.005 $ tight11

nonconvergent solutions stop12

adaptive on13

linear stiffness for iteration one off14

batch messages on15

wall time limit off16

material messages off17

bbar stabilization factor 0.018

consistent q-matrix on19

time step 1.0e0620

trace solution on21

extrapolate on22

display tied mesh mpcs off2324

c25

list "top-nodes" y = 1.026

c 27

c28

*input from 'compute_output.inp' 29

save to file 'solution_at_step_200.db'30

stop3132

17

One nonlinear loading may be defined. Each load step is also a time step. These are the incremental step loads. Step loads maybe re-defined at any time. Loading conditions (“patterns”) maybe included with the

step definition.

Analysis parameters may be changed between steps.

Request Pardiso solver with factorization on every iteration. Could use Pardiso iterative rather than direct (can be much more efficient)

Multiple convergence tests may be specified. Adaptive solutions automatically subdivide

steps if needed for global convergence. Wall-time limit used to stop job with restart file if

estimated time for step n+1 exceeds value Extrapolating solution from step n to n+1 often

improves convergence. User-defined lists of integers may be created using

many criteria and used wherever integer values are needed

Each compute command may drive solution for 1 or more steps.

Output commands are given between load steps.

Save makes a complete (binary) restart file. .db extension is not required.

Use restart from file … as first command in new job to resume solution.

1

2

3

4

5

1

2

3

4

5

18

coordinates.inp

c!coordinates $ E format is not required, any node ordering ok!*echo off! 1 0.100000000E+01 -0.960198760E+00 0.100000002E+00! 2 0.986666679E+00 -0.100000000E+01 0.100000002E+00! 3 0.100000000E+01 -0.100000000E+01 0.500000008E-01! .! .! .! 41646 -0.600000024E+00 0.242678121E+00 0.100000002E+00! 41647 -0.600000024E+00 0.242678121E+00 0.000000000E+00!*echo on!c !

c!incidences $ any element ordering ok!*echo off! 1 18230 18242 19070 19058 18229 18241 19069 19057,! 18228 18245 19056 18232 18226 18243 19054 18231 18227,! 18240 19068 19055! 2 18242 18256 19084 19070 18241 18255 19083 19069,! 18246 18259 19074 18245 18244 18257 19072 18243 18240,! 18254 19082 19068! .! .! .! 5799 150 143 12 19 149 142 11 18,! 146 10 14 17 144 8 13 15 148,! 141 9 16! 5800 143 138 7 12 142 137 6 11,! 136 5 4 10 134 2 1 8 141,! 135 3 9!*echo on!c !c!blocking automatic $ recommended for most all analyses!c !*echo on!

incidences.inp

compute displacements for loading test step 1! *input from 'get_results.inp'!! compute displacements for loading test step 5! *input from 'get_results.inp'! ! compute displacements for loading test step 10! *input from 'get_results.inp’!*input from 'get_results.inp’! compute displacements for loading test step 195! *input from 'get_results.inp'!! compute displacements for loading test step 200! *input from 'get_results.inp'!!

compute_output.inp

output displacements 5377! output reactions "top-nodes"! output patran formatted displacements! output patran formatted strains!

get_results.inp

- The .inp extension is not required

- Nodes must be numbered sequentially

- Elements must be numbered sequentially

19

•  WARP3D started from a shell window ❖  OS X, Linux most often a Bash shell

❖  Windows: DOS command prompt or Bash shell under Cygwin* environment

•  Set number of threads on OS X, Linux, Windows (Bash)^

•  Set number of threads on Windows command prompt shell^

•  Pass input-output files via standard shell redirection.

•  Include & at end for background execution

•  Start with no files for interactive execution

$ export OMP_NUM_THREADS=<value>!$ export MKL_NUM_THREADS=$OMP_NUM_THREADS!

$ set OMP_NUM_THREADS=<value>!$ set MKL_NUM_THREADS=<value>!

$ warp3d.exe < input_file > output_file !

$ warp3d.exe!

*We highly recommend the free Cygwin project for Windows to provide a Linux type working environment: http://www.cygwin.com

The WARP3D distribution directory has 3 Bash shell scripts to aid in starting the threaded version of the code: warp3d_script_linux_openmp! warp3d_script_mac_os_x! warp3d_script_windows!!Modify these as needed for your workflow

^Default uses number of threads available on hardware

Robert H. Dodds, Jr: http://cee.illinois.edu/faculty/robertdodds

WARP3D code: http://code.google.com/p/warp3d

Contributors to WARP3D Source Code Brian Healy Arne Gullerud Kyle Koppenhoefer Arun Roy Sushovan RoyChowdhury Matt Walters Jason Petti Barron Bichon

Kristine Cochran Yueming Liang Adam Carlyle Kyoungsoo Park James Sobotka Mark Messner Congrui Jin Greg Thorwald

Additional Information

•  3-D Implementation using domain integrals

•  Small-strains, finite strains, large rotations

•  Kinetic energy and acceleration effects included (rapid crack growth near sound speed not treated)

•  Crack face loadings included

•  Thermal loadings & anisotropic properties treated properly

•  FGMs handled properly

•  Definitions of domains: ❖  User controlled (nodal q-values, element lists)

❖  Automatic construction of q-values, element lists

•  Physical process ❖  Node Release at critical CTOA or user request

❖  Element extinction at critical porosity or plastic strain

❖  Interface elements w/cohesive properties

❖  Crack fronts tracked automatically

❖  Growth at multiple fronts simultaneously

•  Growth models adaptively control load step size ❖  Properly models the physical process of separation

❖  Improves numerical convergence properties of solution

•  All 3-D, all permit non-uniform growth

•  Node release at specified value of CTOA ❖  Linear traction-separation model during node release

•  Gurson-Tvergaard void growth model: ❖  Element extinction at specified void fraction

❖  Linear traction-separation model for final extinction

•  Stress-modified critical strain: mises plasticity prior to growth at critical stress-strain combinations ❖  Linear traction-separation model for final extinction

•  Interface-cohesive elements: ❖  Zero thickness interface elements for hex/tet

❖  Variety of nonlinear cohesive constitutive models

❖  Element extinction at exhaustion of cohesive tractions