You are on page 1of 35

MSC.

Software Technical Session

Restarts! Save The Bytes! Green Analysis with MSC Nastran


Getting the most out of your compute cycles & your database files
Prafulla Kulkarni/ MSC Software Aug 2011

MSC.Software Technical Session

Todays Agenda
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 whats already been run


What is a restart? Why would I use one?

When would I use one?


When wouldnt I use one? How do I use one?

So whats the catch?

MSC.Software Technical Session

What is a restart?
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) 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

MASTER/ DBALL

MSC.Software Technical Session

Why would I use one?


Key Benefits:
Model configuration control Increased analysis/data recovery throughput Reduced license usage (better) (faster) (cheaper)

Better

Faster

Cheaper
5

MSC.Software Technical Session

When would I use one?


Typical FEA process
1. 2. 3. 4. 5. 6. 7. Read in bulk data deck Formulate global mass/stiffness matrices (grids & elems) [KGG], [MGG] Apply boundary conditions (SPC set) [KFF] [KAA] Solve (invert statics, eigenvalue buckling & modes .) Apply loads {UL} = [KLL]-1 {PL} Calculate global displacements {UG} {UL} 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

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 Data Recovery Just Loads New loads to run Modes done, modal transient / frequency response next Change NLPARM for last 15% of the load Nonlinear Changes to just a few SE SuperElements

Modal Response

MSC.Software Technical Session

When wouldnt 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
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

MSC.Software Technical Session

MSC Nastran Database Organization


The MSC Nastran database system has three (3) principal database components:
1. The Brains

(MASTER) (DBALL)

Knows where everything is stored (index) Where all the 1s and 0s are stored

2. The Bulk

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:

MASTER/ DBALL

Save the database (MASTER/DBALL files)


Use scr=no keyword

Restart run:
FMS:
Reference existing database via ASSIGN statement Add RESTART command

Coldstart run
ASSIGN MASTER='Ex_01.MASTER', DELETE $ Remove old ASSIGN DBALL='Ex_01.DBALL', DELETE $ databases :

Restart Run
ASSIGN MASTER='Ex_01.MASTER', OLD ASSIGN DBALL='Ex_01.DBALL', OLD RESTART : $ Insure old $ (OPTIONAL) $ Required!!!

11

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

Coldstart
SOL 101 CEND LOAD = 100 SPC = 200

Restart
SOL 101 CEND $ $ LOAD = 100 SPC = 200

Load has changed from 100 to <none>

SPC set has changed from 200 to <none>


New BC means new

BEGIN BULK :

BEGIN BULK :

[KLL] to form & solve!

12

MSC.Software Technical Session

How do I use one?


Restart run (contd):
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!
New FORCEs, dynamic loadings, FREQi entries, TABLEDi

Add any new items

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 reinclude 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 (!)

Ex01_CS_00.dat Ex01_RS_01.dat

Coldstart run
ASSIGN 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 Run
ASSIGN 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

14

MSC.Software Technical Session

Restart f06 output


RESTART EXAMPLE 01 - DATA RECOVERY RESTART S O R T E D ENTRY COUNT 12. 1 .. 2 CELAS2 10 SLOAD 100 ENDDATA .. 3 1.E5 2000 .. 4 2000 535. .. B U L K 5 .. MAY D A T A 6 .. 7 5, 2010 E C H O .. 8 .. 9 .. 10 . MD NASTRAN 5/ 9/08 PAGE 4

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

TOTAL COUNT=

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

Coldstart run
ASSIGN 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 Run
ASSIGN 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

17

MSC.Software Technical Session

So whats 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
9:43:23 0:00 184.0 0.0 0.3 The following items have changed in data block EPT Record :Entry :Item Record :Entry :Item PBAR : :C1 PBAR : :C2 PBAR : :E1 PBAR : :E2 : 9:43:24 0:01 208.0 0.0 0.4 The following items have changed in data block GEOM3S Record :Entry :Item Record :Entry :Item FORCE : :SID FORCE : :G FORCE : :N 9:43:24 0:01 208.0 0.0 0.4 9:43:24 0:01 208.0 0.0 0.4 9:43:24 0:01 208.0 0.0 0.4 9:43:24 0:01 208.0 0.0 0.4 *56* The following items are deleted due to changes (Name PTELEM :DB: 1 PJGRV :DB: 1 PJ :DB: UOO :DB: 1 EPSSEO :DB: 1 UOX :DB: PL :DB: 1 QR :DB: 1 UL :DB: LOADREDX:P : 1 SESUM :DB: 1 EST :DB: 9:43:24 0:01 209.0 1.0 0.4 0.0 Record PBAR PBAR 0.0 IFPL :Entry : : PHASE0 362 :Item :D1 :F1 1409 RESTART BEGN Record PBAR PBAR RESTART BEGN Record FORCE :Entry : :Item :F :Entry : : :Item :D2 :F2

Record FORCE

:Entry :

:Item :CID

: 1 1 1 1

0.0 PHASE0 1409 RESTART END 0.0 PHASE0 1410 IF BEGN 0.0 PHASE0 1415 ENDIF BEGN 0.0 PHASE0 1416 RESTART BEGN DB-Data Block or P-Parameter or VP-Virtual Parameter : Count): PG :DB: 1 PGGRV :DB: 1 PSS :DB: 1 PA :DB: 1 PAGRV :DB: 1 PCHNG :P : 1 CRX :DB: 1 EPSSEX :DB: 1 LOADGENX:P : 1 VGFD :DB: 1 FREQDEPS:P : 1 SLT :DB: 1 0.0 PHASE0 1416 RESTART END

19

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 Coldstart run
ASSIGN 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

Ex03_CS_00.dat Ex03_RS_01.dat

Restart Run
INIT 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) $ 21 XYPUNCH ACCE /111(T3RM), 211(T3RM) BEGIN BULK

MSC.Software Technical Session

Restart in Dynamic Analysis - Example 4


SOL111 Random Read-Only Restart 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 $ Freq4,604,10.,200.,.1,5 spc1,77,456,99 eigrl,219,-.1,200. TABDMP1 11102 CRIT 0. .06 99999. 0.6 ENDT 11106

Ex04_run1.dat Ex04_run2.dat

Coldstart run
$ Harmonic Load, Output Frequencies, and Damping PARAMs

RLOAD1 11103 11105 DAREA,11105,99,3,1.e8 TABLED1 11106 0. 0. 10. 1.

2000. 1.

3000. 0.

99999. 0.

ENDT

param,wtmass,.00259
conm2,999,99,,1.e8 suport,99,123

freq1,604,50.,50.,30
$ Followed by Grid and Element data ENDDATA

22

MSC.Software Technical Session

Restart in Dynamic Analysis - Example 4


SOL111 Random Read-Only Restart Restart run
init 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 $ $ output(xyplot) xyprint accel psdf / 104(t3) xyprint accel psdf / 105(t3) BEGIN BULK $ $ RANDPS 11107 11101 11101 1. $ TABRND1 11108 0.0 0.2 2000. 0.2 endt 0.

Ex04_run1.dat Ex04_run2.dat

Restart run

11108

ENDDATA

23

MSC.Software Technical Session

Restart in Dynamic Analysis - Example 5


SOL103 SOL112 Read-Only Restart 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

Ex05_run1.dat Ex05_run2.dat

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

24

MSC.Software Technical Session

Restart in Dynamic Analysis - Example 5


SOL103 SOL112 Read-Only Restart Restart run
ASSIGN 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) 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

Ex05_run1.dat Ex05_run2.dat

Restart run
XYPUNCH ACCEL/5(T3) XYPUNCH ACCEL/95(T3)

TLOAD2, 100, 10, TLOAD2, 200, 20, $

,3 , ,1.0, 10.0 ,3 , ,1.0, 30.0, 90.0

TSTEP, 200, 100, .001 $ ENDDATA

25

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 run
SOL 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 PARAM $ NLPARM 10

Coldstart run
LGDISP 1 PARAM,NOCOMPS,-1

10

$ Loads for Load Case : Default LOAD 100 1. .25 1

$ Displacement Constraints of Load Set : spc-a


SPCADD 2 SPC1 1 1 123456 1 2 3

$ Nodal Forces of Load Set : force-a FORCE FORCE 1 1 61 62 0 0 10000. 0. 10000. 0. 0. 0. -1. -1.

FORCE

63

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 ^^^ ^^^ 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 IS SAVED FOR RESTART

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

Restart Run
$ first subcase with a percentage of the loading (controlled by scale factor on load card)

$
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

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

Restart Run
assign run3 ='a129.MASTER' restart logical=run3 SOL 129 $ NonLinear Transient Response

DISPL=ALL
STRESS=ALL SUBCASE 12901 $ Nonlinear Transient Response LoadSet = 199 DLOAD = 12901 TSTEPNL = 12902

CEND
DISPL=ALL STRESS=ALL param,loopid,1 param,stime,0.05 SUBCASE 12901 $ Nonlinear Transient Response

BEGIN BULK
TLOAD1 12901 12903 TSTEPNL 12902 5 lseq,199,12903,99 PARAM,LGDISP,+1 PARAM W3 PARAM G 1000. .08 .01 0 1 12904

LoadSet = 199
DLOAD = 12901 TSTEPNL = 12902 SUBCASE 12902 $ Nonlinear Transient Response TSTEPNL = 12903 BEGIN BULK TSTEPNL 12903 5 ENDDATA .01 1

$followed by load , element and node data ENDDATA

MSC.Software Technical Session

Save the Bytes!


For Additional information on Restart Refer
Nastran Linear Static Guide Nastran Reference Manual Basic Dynamic users Guide

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
34

MSC.Software Technical Session

Save the Bytes!

35

You might also like