warp3d intro lecture
Post on 27-Oct-2015
126 Views
Preview:
TRANSCRIPT
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
• 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
top related