restart nastran
TRANSCRIPT
•MSC.Software Technical Session
Restarts!
Save The Bytes!
“Green” Analysis with MSC Nastran
Getting the most out of your compute cycles &
your database filesPrafulla Kulkarni/ MSC Software Aug 2011
MSC.Software Technical Session
Today’s Agenda
•2
• Introduction to restarts
• Structure of the MSC.Nastran input file
• User Interface for a restart.
• Restart in Static analysis
• Restart in Dynamic analysis
• Restart in Non-linear analysis
MSC.Software Technical Session
Re-using what’s already been run
• What is a restart?
• Why would I use one?
• When would I use one?
• When wouldn’t I use one?
• How do I use one?
• So what‟s the catch?
•3
MSC.Software Technical Session
What is a restart?
• Restarts are fairly intelligent
– Make use of data stored in MASTER/DBALL files
– Evaluates what has changed in the input deck
– Removes any existing matrices/tables that would
be affected by those changes (if any)
– Retains any that are not
– Re-calculates only what is necessary
– No user directions required
•4
MASTER/
DBALL
• A restart is an MSC Nastran run that makes use
of already-stored-in-the-database info (instead of
re-calculating the exact same set of data. Again.
And again…)
MSC.Software Technical Session
Why would I use one?
• Key Benefits:
– Model configuration control (better)
– Increased analysis/data recovery throughput (faster)
– Reduced license usage (cheaper)
•5
Cheaper
Better Faster
MSC.Software Technical Session
When would I use one?
• Typical FEA process1. Read in bulk data deck
2. Formulate global mass/stiffness matrices (grids & elems) [KGG], [MGG]
3. Apply boundary conditions (SPC set) [KFF] [KAA]
4. Solve (“invert” – statics, eigenvalue – buckling & modes ….)
5. Apply loads {UL} = [KLL]-1 × {PL}
6. Calculate global displacements {UG} {UL}
7. Calculate stresses & strains based on displacements σ = [G]×{UG}
• Of these steps, #4 is the most costly (wall-clock time, CPU
resources, & license checkout duration)
– Anywhere ~after #4 makes sense (non-SE run)
– Almost anytime if only a few SE are changing
•6
MSC.Software Technical Session
When would I use one?
• Restarting makes sense when there is something to restart
from (#4 & beyond):
• Applicable Scenarios
– Need more results output
– New loads to run
– Modes done, modal transient / frequency response next
– Change NLPARM for last 15% of the load
– Changes to just a few SE
•7
SuperElements
Nonlinear
Modal Response
Just Loads
Data Recovery
MSC.Software Technical Session
When wouldn’t I use restarts?
• Changes that affect (any) element stiffness/mass
– Thickness, bar area, grid point location, …
• Boundary Condition change (different SPCs or MPCs)
– BCs are applied near the beginning before the “solve”
– Note: Any new “SPC=“ or “MPC=“ callout is a new BC
• Regardless whether any new DOFs are constrained or not
– Changes to the “METHOD=“ or EIGR/EIGRL entries
• Again, any changes will trigger a new eigenvalue solve
• Approach changes (non-SE)
– Statics Modes
– Modal Transient Direct Transient
•8
MASTER/
DBALL
MSC.Software Technical Session
How do I use one?
• Basic Instructions:
A. Do not delete the database after a run
B. Reference the database in the next run
C. Tell the program you are doing a restart
•9
MSC.Software Technical Session
MSC Nastran Database Organization
• The MSC Nastran “database system” has three (3) principal
database components:
1. The Brains (MASTER)
• Knows where everything is stored (index)
2. The Bulk (DBALL)
• Where all the 1s and 0s are stored
3. The Fleeting (SCRATCH)
• Data that typically would NOT be used for restarting
•10
MSC.Software Technical Session
How do I use one?
• Initial (coldstart) run:
– Save the database (MASTER/DBALL files)
• Use “scr=no” keyword
• Restart run:
– FMS:
• Reference existing database via ASSIGN statement
• Add RESTART command
•11
MASTER/
DBALL
Coldstart runASSIGN MASTER='Ex_01.MASTER', DELETE $ Remove old
ASSIGN DBALL='Ex_01.DBALL', DELETE $ databases
:
Restart RunASSIGN MASTER='Ex_01.MASTER', OLD $ Insure old
ASSIGN DBALL='Ex_01.DBALL', OLD $ (OPTIONAL)
RESTART $ Required!!!
:
MSC.Software Technical Session
How do I use one?
• Restart run - Exec & Case Control
– Program keys off difference between coldstart & restart decks!
• Evaluate consequences of adding or removing commands
• Do NOT overthink or try to out-guess automatic restart logic
•12
• Load has changed
from “100” to <none>
• SPC set has changed
from “200” to <none>
– New BC means new
[KLL] to form & solve!
SOL 101
CEND
LOAD = 100
SPC = 200
BEGIN BULK
:
Coldstart
SOL 101
CEND
$ LOAD = 100
$ SPC = 200
BEGIN BULK
:
Restart
MSC.Software Technical Session
How do I use one?
• Restart run (cont‟d):
– Bulk Data Section:
• User specifies additions &/or subtractions (only)
– If the bulk data is unchanged, then NO bulk data deck is required for the
restart run!
• Add any new items
– New FORCEs, dynamic loadings, FREQi entries, TABLEDi…
• Remove items via the slash entry “/,n1,n2” to remove sorted bulk
data entries n1 through n2
– Common technique is to remove all lines ( /,1,99999) and then re-
include entire bulk data deck
– Convenient, not necessarily efficient
•13
MSC.Software Technical Session
How do I use one? – Example 1 – STATIC
Data Recovery case
• Data Recovery Restart Example
– Nothing “new” to solve
– Only difference is output request
– No Bulk Data required (!)
•14
Coldstart runASSIGN MASTER='Ex_01.MASTER', DELETE $ Remove old
ASSIGN DBALL='Ex_01.DBALL', DELETE $ databases
$
$
SOL 101
CEND
TITLE=Restart Example 01 - COLDSTART RUN
LOAD = 100
DISP = ALL
$
$
$
BEGIN BULK
CELAS2, 10, 1.E5, 2000
SLOAD, 100, 2000, 535.
ENDDATA
Restart RunASSIGN MASTER='Ex_01.MASTER', OLD $ Insure old
ASSIGN DBALL='Ex_01.DBALL', OLD $ (OPTIONAL)
RESTART $ Required!!!
$
SOL 101
CEND
TITLE=Restart Example 01 - Data Recovery Restart
LOAD = 100 $ Load did not change so keep it
$ DISP = ALL $ This IS a change
$
FORCE=ALL $ New request
$
BEGIN BULK
$ Nothing changed in Bulk Data, so nothing
$ needs to be in bulk data
ENDDATA
Ex01_CS_00.dat
Ex01_RS_01.dat
MSC.Software Technical Session
Restart f06 output
RESTART EXAMPLE 01 - DATA RECOVERY RESTART MAY 5, 2010 MD NASTRAN 5/ 9/08 PAGE 4
S O R T E D B U L K D A T A E C H O
ENTRY
COUNT . 1 .. 2 .. 3 .. 4 .. 5 .. 6 .. 7 .. 8 .. 9 .. 10 .
1- CELAS2 10 1.E5 2000
2- SLOAD 100 2000 535.
ENDDATA
TOTAL COUNT= 3
M O D E L S U M M A R Y
NUMBER OF CELAS2 ELEMENTS = 1
________________________________________________________________________________________________________________________
RESTART EXAMPLE 01 - DATA RECOVERY RESTART MAY 5, 2010 MD NASTRAN 5/ 9/08 PAGE 5
________________________________________________________________________________________________________________________
RESTART EXAMPLE 01 - DATA RECOVERY RESTART MAY 5, 2010 MD NASTRAN 5/ 9/08 PAGE 6
F O R C E S I N S C A L A R S P R I N G S ( C E L A S 2 )
ELEMENT FORCE ELEMENT FORCE ELEMENT FORCE ELEMENT FORCE
ID. ID. ID. ID.
10 5.350000E+02
________________________________________________________________________________________________________________________
RESTART EXAMPLE 01 - DATA RECOVERY RESTART MAY 5, 2010 MD NASTRAN 5/ 9/08 PAGE 7
. . .
. . .
________________________________________________________________________________________________________________________
* * * END OF JOB * * *
•15
MSC.Software Technical Session
How do I use one? “Read-Only” Restart
• “Read-Only” Restart
– 2nd run has “read-only” access to original
database files
– Protects original database from inadvertent
overwrites
– Ideally suited for configuration control methods
– Allows multiple simultaneous user access to
original database
•16
MSC.Software Technical Session
How do I use one? – Example 2 – Read Only
– STATIC - Data Recovery case
• Data Recovery Read Only Restart Example
– Nothing “new” to solve
– Only difference is output request
– No Bulk Data required (!)
•17
Coldstart runASSIGN MASTER='Ex_01.MASTER', DELETE $ Remove old
ASSIGN DBALL='Ex_01.DBALL', DELETE $ databases
$
$
SOL 101
CEND
TITLE=Restart Example 01 - COLDSTART RUN
LOAD = 100
DISP = ALL
$
$
$
BEGIN BULK
CELAS2, 10, 1.E5, 2000
SLOAD, 100, 2000, 535.
ENDDATA
Restart RunASSIGN STATIC ='Ex_01.MASTER', OLD $ Insure old
RESTART LOGICAL = STATIC $ Required!!!
$
SOL 101
CEND
TITLE=Restart Example 01 - Data Recovery Restart
LOAD = 100 $ Load did not change so keep it
$ DISP = ALL $ This IS a change
$
FORCE=ALL $ New request
$
BEGIN BULK
$ Nothing changed in Bulk Data, so nothing
$ needs to be in bulk data
ENDDATA
MSC.Software Technical Session
So what’s the catch?
• The “cost” of Better, Faster, Cheaper:– Upfront planning for MASTER/DBALLs
• “SCR=NO” is often the default setting
– Use of FMS commands• File Management Section
– Size dependency• If job only takes 3 minutes to run, why bother?
– Working with the Automatic Restart Logic• Intentionally analysis “conservative”
• Change to one datablock may trigger unintended re-compute
• Use DIAG 56 for very useful restart info in f04
•18
$$$
MSC.Software Technical Session
Automatic Restart Logic
• USE “DIAG 56” in Exec Section
– Provides detailed restart logic info to f04 file
– Changes noted at field-level (see BAR data recovery pts below)
– Tells you what has been deleted and why
•19
9:43:23 0:00 184.0 0.0 0.3 0.0 IFPL 362 RESTART BEGN
The following items have changed in data block EPT
Record :Entry :Item Record :Entry :Item Record :Entry :Item Record :Entry :Item
PBAR : :C1 PBAR : :C2 PBAR : :D1 PBAR : :D2
PBAR : :E1 PBAR : :E2 PBAR : :F1 PBAR : :F2
:
9:43:24 0:01 208.0 0.0 0.4 0.0 PHASE0 1409 RESTART BEGN
The following items have changed in data block GEOM3S
Record :Entry :Item Record :Entry :Item Record :Entry :Item Record :Entry :Item
FORCE : :SID FORCE : :G FORCE : :CID FORCE : :F
FORCE : :N
9:43:24 0:01 208.0 0.0 0.4 0.0 PHASE0 1409 RESTART END
9:43:24 0:01 208.0 0.0 0.4 0.0 PHASE0 1410 IF BEGN
9:43:24 0:01 208.0 0.0 0.4 0.0 PHASE0 1415 ENDIF BEGN
9:43:24 0:01 208.0 0.0 0.4 0.0 PHASE0 1416 RESTART BEGN
*56* The following items are deleted due to changes (Name : DB-Data Block or P-Parameter or VP-Virtual Parameter : Count):
PTELEM :DB: 1 PJGRV :DB: 1 PJ :DB: 1 PG :DB: 1 PGGRV :DB: 1 PSS :DB: 1
UOO :DB: 1 EPSSEO :DB: 1 UOX :DB: 1 PA :DB: 1 PAGRV :DB: 1 PCHNG :P : 1
PL :DB: 1 QR :DB: 1 UL :DB: 1 CRX :DB: 1 EPSSEX :DB: 1 LOADGENX:P : 1
LOADREDX:P : 1 SESUM :DB: 1 EST :DB: 1 VGFD :DB: 1 FREQDEPS:P : 1 SLT :DB: 1
9:43:24 0:01 209.0 1.0 0.4 0.0 PHASE0 1416 RESTART END
MSC.Software Technical Session
Restart in Dynamic Analysis
• In dynamic analysis, the calculation of normal modes is, in general, the
most expensive operation.
• Therefore, a common application of restart is the performance of a
transient or frequency response analysis by restarting from the normal
modes calculation.
MSC.Software Technical Session
Restart in Dynamic Analysis - Example 3
• Modes Modal Response as Read-Only Restart
•21
Coldstart runASSIGN MASTER='modes.MASTER', delete $
ASSIGN DBALL='modes.DBALL', delete $
$
$
$
SOL 103 $ Normal Modes
CEND
$
TITLE = Restart Ex 2 - Coldstart run/modes
$
DISPL(PLOT)=ALL
$
$
METHOD = 10301
$
$
$
$
$
$
BEGIN BULK
Restart RunINIT MASTER(S) $ SCRATCH run!
ASSIGN MODES='modes.MASTER', old $ Reference
$ $
RESTART LOGICAL=MODES $ Note
$
SOL 111 $ Modal Frequency Response
CEND
$
TITLE = Restart Ex 2 - Modal Freq Response
$
DISPL(PLOT)=ALL
ACCEL(PLOT)=ALL
$
METHOD = 10301 $ Do NOT change this!
$
SDAMP = 11101
DLOAD = 11102
FREQ = 11103
OUTPUT(XYPLOT) $
XYPUNCH ACCE /111(T3RM), 211(T3RM)
BEGIN BULK
Ex03_CS_00.dat
Ex03_RS_01.dat
MSC.Software Technical Session
Restart in Dynamic Analysis - Example 4
• SOL111 Random Read-Only Restart
•22
Coldstart run$ ......................run1.dat.................
INIT MASTER(S)
SOL 111 $ Modal Frequency Response
CEND
spc = 77
acceleration(phase,plot) = all
METHOD = 219
SDAMP = 11102
FREQ = 604
SUBCASE 11101 $ Modal Frequency Response
DLOAD = 11103
BEGIN BULK
param,wtmass,.00259
conm2,999,99,,1.e8
suport,99,123
Coldstart runspc1,77,456,99
$ Harmonic Load, Output Frequencies, and Damping PARAMs
eigrl,219,-.1,200.
TABDMP1 11102 CRIT
0. .06 99999. 0.6 ENDT
RLOAD1 11103 11105 11106
DAREA,11105,99,3,1.e8
TABLED1 11106
0. 0. 10. 1. 2000. 1. 3000. 0.
99999. 0. ENDT
$
Freq4,604,10.,200.,.1,5
freq1,604,50.,50.,30
$ Followed by Grid and Element data…
ENDDATA
Ex04_run1.dat
Ex04_run2.dat
MSC.Software Technical Session
Restart in Dynamic Analysis - Example 4
• SOL111 Random Read-Only Restart
•23
Restart runinit master(s)
restart logical=run2
Assign run2='run1.MASTER'
$ run2.dat
SOL 111 $ Modal Frequency Response + Random
Input
CEND
$
spc = 77
METHOD = 219
SDAMP = 11102
FREQ = 604
RANDOM = 11107
SUBCASE 11101 $ Modal Frequency Response
DLOAD = 11103
Restart run$
output(xyplot)
xyprint accel psdf / 104(t3)
xyprint accel psdf / 105(t3)
BEGIN BULK
$
$
RANDPS 11107 11101 11101 1. 0. 11108
$
TABRND1 11108
0.0 0.2 2000. 0.2 endt
$
ENDDATA
Ex04_run1.dat
Ex04_run2.dat
MSC.Software Technical Session
Restart in Dynamic Analysis - Example 5
• SOL103 SOL112 Read-Only Restart
•24
Coldstart run----------modes.dat-------------------------
SOL 103
CEND
$
DISP(PLOT)=ALL
ESE(PLOT)=ALL
SPC = 777 $ for fixed base
METHOD = 100
$
BEGIN BULK
PARAM,POST,0
EIGRL, 100, ,400.0
SPC1, 777, 123456, 1, 2
Coldstart run$ Large masses that are used in the enforced motion
CONM2, 1017, 17, , 1.0E6
CONM2, 1071, 71, , 1.0E6
$
$ Followed by Grid and Element data…
ENDDATA
Ex05_run1.dat
Ex05_run2.dat
MSC.Software Technical Session
Restart in Dynamic Analysis - Example 5
• SOL103 SOL112 Read-Only Restart
•25
Restart runASSIGN MODE='modes.MASTER'
RESTART, logical=MODE
$
SOL 112
CEND
SET 33 = 5, 44, 69
DISP(PRINT)=33
$
METHOD = 100
SPC = 777 $ for fixed base
TSTEP = 200
DLOAD = 300
$
OUTPUT(XYPLOT)
Restart runXYPUNCH ACCEL/5(T3)
XYPUNCH ACCEL/95(T3)
BEGIN BULK
DAREA, 10, 17, 3, 1.0E6
DAREA, 20, 71, 3, 1.0E6
$
DLOAD, 300, 1.0, 1.0, 100, 1.0, 200
$ DAREA Type Freq Phase
TLOAD2, 100, 10, ,3 , ,1.0, 10.0
TLOAD2, 200, 20, ,3 , ,1.0, 30.0, 90.0
$
TSTEP, 200, 100, .001
$
ENDDATA
Ex05_run1.dat
Ex05_run2.dat
MSC.Software Technical Session
Restart in Nonlinear Static Analysis
• Performing a „read-only‟ restart for non-linear statics is used for
– Planned‟ segmentation of a large job
– Can be used for restarting failed jobs from the last saved loopid
MSC.Software Technical Session
Restart in Nonlinear Static Analysis
• Run the first job with a percentage of the loading in SUBCASE 1 (say,
25%). Name the job accordingly. Be sure to save the databases. See
example file: plate-run1.dat.
Coldstart runSOL 106
CEND
$ data recovery requests
STRESS(PLOT,SORT1,REAL,VONMISES,BILIN)=ALL
NLSTRESS(PLOT)=ALL
$ This constraint will apply to all subcases... so put
above
SPC = 2
SUBCASE 10
SUBTITLE=25% of load
NLPARM = 10
LOAD = 100
$
BEGIN BULK
PARAM POST 0
Coldstart runPARAM LGDISP 1
PARAM,NOCOMPS,-1
$
NLPARM 10 10
$ Loads for Load Case : Default
LOAD 100 1. .25 1
$ Displacement Constraints of Load Set : spc-a
SPCADD 2 1
SPC1 1 123456 1 2 3
$ Nodal Forces of Load Set : force-a
FORCE 1 61 0 10000. 0. 0. -1.
FORCE 1 62 0 10000. 0. 0. -1.
FORCE 1 63 0 10000. 0. 0. -1.
$ Followed by Grid and Element data.
MSC.Software Technical Session
Restart in Nonlinear Static Analysis
• Any converged and saved solution always gives the messages in your f06
file
*** USER INFORMATION MESSAGE 6186 (NCONVG)
*** SOLUTION HAS CONVERGED ***
SUBID 1 LOOPID 13 LOAD STEP 1.000 LOAD FACTOR 1.00000000
^^^ USER INFORMATION MESSAGE 9005 (NLSTATIC)
^^^ THE SOLUTION FOR LOOPID= 13 IS SAVED FOR RESTART
^^^
^^^ USER INFORMATION MESSAGE 9052 (NLSTATIC)
^^^ NONLINEAR STATIC ANALYSIS COMPLETED.
^^^
1 SAMPLE NONLINEAR READ-ONLY RSTART SERIES... RUN1, THE COLD START JULY 31, 2008 MSC.NASTRAN 4/ 3/07 PAGE 46
0
1 SAMPLE NONLINEAR READ-ONLY RSTART SERIES... RUN1, THE COLD START JULY 31, 2008 MSC.NASTRAN 4/ 3/07 PAGE 47
MSC.Software Technical Session
Restart in Nonlinear Static Analysis
• Any restart in SOL 106 must have the FMS command RESTART and the
two parameters PARAM,SUBID,value and PARAM,LOOPID,value
• The SUBID is the sequential number of a subcase. It is recommended
that the SUBID value always be incremented by one and point to a new
subcase.
• The LOOPID is the identifier of the converged solution from which the
restart is to take place.
MSC.Software Technical Session
Restart in Nonlinear Static Analysis
• To do restart job from previous job
– Establish it as a „read-only‟ restart by adding the following lines to the
FMS…
• ASSIGN RUN1=‟plate-run1.MASTER‟
• RESTART VERSION=LAST LOGICAL=RUN1
– Add PARAM,LOOPID,13 (where 13 is the last saved increment
identified in the .f06 file of run1)
– Add PARAM,SUBID,02 (where 02 is the #of subcases in run1 +1) to
the case control above the first subcase.
– Remove the entire bulk data section.
– Add the new subcase with callouts to loading, nlparm cards (only add
the necessary cards to the bulkdata section if they are different than
those used in run1).
• Repeat as many times as desired.
MSC.Software Technical Session
Restart in Nonlinear Static Analysis
Restart Run$ assign the database to restart off...
assign run1='plate-run1.MASTER'
restart version=last logical=run1
$
SOL 106
TIME 600
CEND
TITLE = sample nonlinear read-only rstart series... run2, first
restart
ECHO = sorted
$ data recovery requests
STRESS(PLOT,SORT1,REAL,VONMISES,BILIN)=ALL
NLSTRESS(PLOT)=ALL
$ This constraint will apply to all subcases... so put above
SPC = 2
$ define which loopid from the .f06 file to restart from
$ and which subcase to restart into... in this case the second
PARAM,LOOPID,13
PARAM,SUBID,2
Restart Run$ first subcase with a percentage of the loading (controlled by
scale factor on load card)
SUBCASE 10
SUBTITLE=25% of load
NLPARM = 10
LOAD = 100
$ add new subcase with a callout for a new load and nlparm
card
SUBCASE 20
SUBTITLE=50% of load
NLPARM = 20
LOAD = 200
BEGIN BULK
$ only NEW information is in the bulkdata... everything else is
removed.
NLPARM 20 5
$ new load card with scale factor of .5 applied to the same
forces as in run1
LOAD 200 1. .50 1
ENDDATA
MSC.Software Technical Session
Restart in Nonlinear Transient Analysis
• Restarts are controlled by parameters LOOPID, STIME
• The normal restart for a transient run is to be continued from the last step
of a previous subcase with different loads and/or TSTEPNL data.
• For the normal restart provide the following parameters:
LOOPID = N : Start from the Nth subcase
STIME = t : Start from time t
• input value for STIME differs depending on the value of METHOD
specified on the TSTEPNL entry.
MSC.Software Technical Session
Restart in Nonlinear Transient Analysis
Coldstart Run------------a129.dat-------------------------
SOL 129 $ NonLinear Transient Response
CEND
DISPL=ALL
STRESS=ALL
SUBCASE 12901 $ Nonlinear Transient Response
LoadSet = 199
DLOAD = 12901
TSTEPNL = 12902
BEGIN BULK
TLOAD1 12901 12903 0 12904
TSTEPNL 12902 5 .01 1
lseq,199,12903,99
PARAM,LGDISP,+1
PARAM W3 1000.
PARAM G .08
$followed by load , element and node data
ENDDATA
Restart Runassign run3 ='a129.MASTER'
restart logical=run3
SOL 129 $ NonLinear Transient Response
CEND
DISPL=ALL
STRESS=ALL
param,loopid,1
param,stime,0.05
SUBCASE 12901 $ Nonlinear Transient Response
LoadSet = 199
DLOAD = 12901
TSTEPNL = 12902
SUBCASE 12902 $ Nonlinear Transient Response
TSTEPNL = 12903
BEGIN BULK
TSTEPNL 12903 5 .01 1
ENDDATA
MSC.Software Technical Session
Save the Bytes!
•34
Hot Line Support
http://support.mscsoftware.com/servicerequest/
Visit SimCompanion to find answers fast and leverage all technical support resources.
http://simcompanion.mscsoftware.com
Attend a training course to help improve productivity.
http://www.mscsoftware.com/training
Leverage engineering services to accelerate the benefits of virtual product development with
confidence.
http://www.mscsoftware.com/services
For Additional information on Restart – Refer
•Nastran Linear Static Guide
•Nastran Reference Manual
•Basic Dynamic user’s Guide
MSC.Software Technical Session
Save the Bytes!
•35