dynamic Module

Inheritance diagram of pyNastran.bdf.cards.dynamic

All dynamic control cards are defined in this file. This includes:

  • FREQ
  • FREQ1
  • FREQ2
  • FREQ3 (not implemented)
  • FREQ4
  • FREQ5 (not implemented)
  • NLPCI
  • NLPARM
  • TSTEP
  • TSTEP1
  • TSTEPNL
  • ROTORG
  • ROTORD
  • TIC
  • TF

All cards are BaseCard objects.

class pyNastran.bdf.cards.dynamic.DELAY(sid, nodes, components, delays, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

1 2 3 4 5 6 7 8
DELAY SID POINT ID1 C1 T1 P2 C2 T2

Creates a DELAY card

Parameters:
sid : int

DELAY id that is referenced by a TLOADx, RLOADx or ACSRCE card

nodes : List[int]

list of nodes that see the delay len(nodes) = 1 or 2

components : List[int]

the components corresponding to the nodes that see the delay len(nodes) = len(components)

delays : List[float]

Time delay (tau) for designated point Pi and component Ci len(nodes) = len(delays)

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
_properties = ['node_id1', 'node_id2', 'node_ids']
add(self, delay)[source]
classmethod add_card(card, comment='')[source]

Adds a DELAY card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

components = None

Component number. (Integers 1 through 6 for grid points; zero or blank for extra or scalar points)

cross_reference(self, model, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

delays = None

Time delay (tau) for designated point Pi and component Ci. (Real)

get_delay_at_freq(self, freq)[source]
node_id1
node_id2
node_ids
nodes = None

Grid, extra, or scalar point identification number. (Integer > 0)

raw_fields(self)[source]
sid = None

Identification number of DELAY entry. (Integer > 0)

type = 'DELAY'
uncross_reference(self)[source]

Removes cross-reference links

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.DPHASE(sid, nodes, components, phase_leads, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines the phase lead term θ in the equation of the dynamic loading function.

1 2 3 4 5 6 7 8
DPHASE SID POINT ID1 C1 TH1 P2 C2 TH2

Creates a DPHASE card

Parameters:
sid : int

DPHASE id that is referenced by a RLOADx or ACSRCE card

nodes : List[int]

list of nodes that see the delay len(nodes) = 1 or 2

components : List[int]

the components corresponding to the nodes that see the delay len(nodes) = len(components)

phase_leads : List[float]

Phase lead θ in degrees. len(nodes) = len(delays)

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
_properties = ['node_id1', 'node_id2', 'node_ids']
add(self, dphase)[source]
classmethod add_card(card, comment='')[source]

Adds a DPHASE card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

cross_reference(self, model)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

get_dphase_at_freq(self, freq)[source]
node_id1
node_id2
node_ids
raw_fields(self)[source]
safe_cross_reference(self, model, xref_errors)[source]
type = 'DPHASE'
uncross_reference(self)[source]

Removes cross-reference links

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.FREQ(sid, freqs, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a set of frequencies to be used in the solution of frequency response problems.

1 2 3 4 5 6 7 8 9
FREQ SID F1 F2 etc.        

Creates a FREQ card

Parameters:
sid : int

set id referenced by case control FREQUENCY

freqs : List[float]

the frequencies for a FREQx object

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a FREQ card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

add_frequencies(self, freqs)[source]

Combines the frequencies from 1 FREQx object with another. All FREQi entries with the same frequency set identification numbers will be used. Duplicate frequencies will be ignored.

Parameters:
freqs : List[float] / (nfreq, ) float ndarray

the frequencies for a FREQx object

add_frequency_object(self, freq)[source]
Parameters:freq – a FREQx object

See also

addFrequencies()

get_freqs(self)[source]
raw_fields(self)[source]
type = 'FREQ'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.FREQ1(sid, f1, df, ndf=1, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a set of frequencies to be used in the solution of frequency response problems by specification of a starting frequency, frequency increment, and the number of increments desired.

1 2 3 4 5
FREQ1 SID F1 DF NDF

Note

this card rewrites as a FREQ card

Creates a FREQ1 card

Parameters:
sid : int

set id referenced by case control FREQUENCY

f1 : float

first frequency

df : float

frequency increment

ndf : int

number of frequency increments

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a FREQ1 card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
type = 'FREQ1'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.FREQ2(sid, f1, f2, nf=1, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a set of frequencies to be used in the solution of frequency response problems by specification of a starting frequency, final frequency, and the number of logarithmic increments desired.

1 2 3 4 5
FREQ2 SID F1 F2 NF

Note

this card rewrites as a FREQ card

Creates a FREQ2 card

Parameters:
sid : int

set id referenced by case control FREQUENCY

f1 : float

first frequency

f2 : float

last frequency

nf : int; default=1

number of logorithmic intervals

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a FREQ2 card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
type = 'FREQ2'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.FREQ3(sid, f1, f2=None, freq_type='LINEAR', nef=10, cluster=1.0, comment='')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

1 2 3 4 5 6 7
FREQ3 SID F1 F2 TYPE NEF CLUSTER
FREQ3 6 20.0 200.0 LINEAR 10 2.0

Creates a FREQ3 card

Parameters:
sid : int

set id referenced by case control FREQUENCY

f1 : float; default=0.0???

Lower bound of frequency range in cycles per unit time.

f2 : float; default=1E20???

Upper bound of frequency range in cycles per unit time.

freq_type : str; default=LINEAR

valid_types={LINEAR, LOG}

nef : int; default=10

???

cluster : float; default=1.0

???

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a FREQ3 card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
type = 'FREQ3'
validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.FREQ4(sid, f1=0.0, f2=1e+20, fspread=0.1, nfm=3, comment='')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Defines a set of frequencies used in the solution of modal frequency response problems by specifying the amount of ‘spread’ around each natural frequency and the number of equally spaced excitation frequencies within the spread.

1 2 3 4 5 6 7 8 9
FREQ4 SID F1 F2 FSPD NFM      

Note

this card rewrites as a FREQ card

Todo

not done…

Creates a FREQ4 card

Parameters:
sid : int

set id referenced by case control FREQUENCY

f1 : float; default=0.0

Lower bound of frequency range in cycles per unit time.

f2 : float; default=1E20

Upper bound of frequency range in cycles per unit time.

nfm : int; default=3

Number of evenly spaced frequencies per ‘spread’ mode.

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a FREQ4 card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
repr_fields(self)[source]

Gets the fields in their simplified form

Returns:
fields : List[varies]

the fields that define the card

type = 'FREQ4'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.FREQ5(sid, fractions, f1=0.0, f2=1e+20, comment='')[source]

Bases: pyNastran.bdf.cards.dynamic.FREQ

Defines a set of frequencies used in the solution of modal frequency-response problems by specification of a frequency range and fractions of the natural frequencies within that range.

1 2 3 4 5 6 7 8 9
FREQ5 SID F1 F2 FR1 FR2 FR3 FR4 FR5
FREQ5 6 20.0 2000.0 1.0 0.6 0.8 0.9 0.95
  1.05 1.1 1.2          

Creates a FREQ5 card

Parameters:
sid : int

set id referenced by case control FREQUENCY

f1 : float; default=0.0

Lower bound of frequency range in cycles per unit time.

f2 : float; default=1e20

Upper bound of frequency range in cycles per unit time.

fractions : List[float]

Fractions of the natural frequencies in the range F1 to F2.

comment : str; default=’‘

a comment for the card

.. note:: FREQ5 is only valid in modal frequency-response

solutions (SOLs 111, 146, and 200) and is ignored in direct frequency response solutions.

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a FREQ card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
type = 'FREQ5'
validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.NLPARM(nlparm_id, ninc=None, dt=0.0, kmethod='AUTO', kstep=5, max_iter=25, conv='PW', int_out='NO', eps_u=0.01, eps_p=0.01, eps_w=0.01, max_div=3, max_qn=None, max_ls=4, fstress=0.2, ls_tol=0.5, max_bisect=5, max_r=20.0, rtol_b=20.0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a set of parameters for nonlinear static analysis iteration strategy.

1 2 3 4 5 6 7 8 9
NLPARM ID NINC DT KMETHOD KSTEP MAXITER CONV INTOUT
  ESPU EPSP EPSW MAXDIV MAXQN MAXLS FSTRESS LSTOL
  MAXBIS       MAXR   RTOLB CONV

Creates an NLPARM card

Parameters:
nlparm_id : int

NLPARM id; points to the Case Control NLPARM

ninc :int; default=None

The default ninc changes default based on the solution/element type & params. The default for NINC is 10, except if there is a GAP, Line Contact, Heat Transfer or PARAM,NLTOL,0, in which case the default is 1.

dt : float; default=0.0

???

kmethod : str; default=’AUTO’

???

kstep : int; default=5

???

max_iter : int; default=25

???

conv : str; default=’PW’

???

int_out : str; default=’NO’

???

eps_u : float; default=0.01

???

eps_p : float; default=0.01

???

eps_w : float; default=0.01

???

max_div : int; default=3

???

max_qn; default=None -> varies

???

max_ls : int; default=4

???

fstress : float; default=0.2

???

ls_tol : float; default=0.5

???

max_bisect : int; default=5

???

max_r : float; default=20.

???

rtol_b : float; default=20.

???

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
_properties = ['nlparm_id']
classmethod add_card(card, comment='')[source]

Adds a NLPARM card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
repr_fields(self)[source]

Gets the fields in their simplified form

Returns:
fields : List[varies]

the fields that define the card

type = 'NLPARM'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.NLPCI(nlpci_id, Type='CRIS', minalr=0.25, maxalr=4.0, scale=0.0, desiter=12, mxinc=20, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

classmethod _init_from_empty()[source]
_properties = ['nlpci_id']
classmethod add_card(card, comment='')[source]

Adds a NLPCI card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
repr_fields(self)[source]

Gets the fields in their simplified form

Returns:
fields : List[varies]

the fields that define the card

type = 'NLPCI'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.ROTORD(sid, rstart, rstep, numstep, rids, rsets, rspeeds, rcords, w3s, w4s, rforces, brgsets, refsys='ROT', cmout=0.0, runit='RPM', funit='RPM', zstein='NO', orbeps=1e-06, roprt=0, sync=1, etype=1, eorder=1.0, threshold=0.02, maxiter=10, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

NX-specific card

Define Rotor Dynamics Solution Options

1 2 3 4 5 6 7 8 9
ROTORD SID RSTART RSTEP NUMSTEP REFSYS CMOUT RUNIT FUNIT
  ZSTEIN ORBEPS ROTPRT SYNC ETYPE EORDER THRSHOLD MAXITER
  RID1 RSET1 RSPEED1 RCORD1 W3_1 W4_1 RFORCE1 BRGSET1
  RID2 RSET2 RSPEED2 RCORD2 W3_2 W4_2 RFORCE2 BRGSET2
               
  RIDi RSETi RSPEEDi RCORDi W3_i W4_i RFORCEi BRGSETi
               
  RID10 RSET10 RSPEED10 RCORD10 W3_10 W4_10 RFORCE10 BRGSET10
1 2 3 4 5 6 7 8 9
ROTORD 998 0.0 250.0 58 fix -1.0 cps  
  no              
  1 11 1 0.0 0.0 1 101  
  2 12 1 0.0 0.0 102    
  3 13 1.5 1 0.0 0.0 103  
  4 14 1.75 1 0.0 0.0 104  
  5 15 1.75 1 0.0 0.0 105  
  6 16 1 0.0 0.0 106    
  7 17 2.0 1 0.0 0.0 107  
  8 18 2.25 1 0.0 0.0 108  
  9 19 7.5 1 0.0 0.0 109  
  10 20 1 0.0 0.0 10 110  

Adds a ROTORD card

Parameters:
sid : int

Set identifier for all rotors. Must be selected in the case control deck by RMETHOD = SID.

rstart : float

Starting value of reference rotor speed.

rstart : float

Step-size of reference rotor speed. See Remark 3. (Real ≠ 0.0)

numstep : int

Number of steps for reference rotor speed including RSTART.

rids : List[int]

Identification number of rotor i. (Integer > 0 with RID(i+1) > RIDi; Default = i)

rsets : List[int]

Refers to the RSETID value on the ROTORG, ROTORB, and ROTSE bulk entries for rotor RIDi. (Integer > 0 or blank if only one rotor)

rspeeds : List[int/float, …, int/float]

float : rotor speeds int : TABLEDi

rcords : List[int]

???

w3s : List[float]

???

w4s : List[float]

???

rforces : List[int]

???

brgsets : List[int]

???

refsys : str; default=’ROT’
Reference system

‘FIX’ analysis is performed in the fixed reference system. ‘ROT’ analysis is performed in the rotational reference system.

cmout : float; default=0.0

???

runit : str; default==’RPM’

???

funit : str; default==’RPM’,

???

zstein : str; default==’NO’

???

orbeps : float; default=1.e-6

???

roprt : int; default=0

???

sync : int; default=1

???

etype : int; default=1

???

eorder : float; default=1.0

???

threshold : float; default=0.02

???

maxiter : int; default=10

???

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a ROTORD card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

cross_reference(self, model)[source]
raw_fields(self)[source]
type = 'ROTORD'
validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.ROTORG(sid, nids, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Rotor Grids Selection Selects the grids that define a rotor.

1 2 3 4 5 6 7 8 9
ROTORG RSETID G1 G2 G3 G4 G5 G6 G7
ROTORG 14 101 THRU 190 BY 5    
  46 23 57 82 9 16    
  201 THRU 255          
  93 94 95 97        
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a ROTORG card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

cross_reference(self, model)[source]
raw_fields(self)[source]
type = 'ROTORG'
uncross_reference(self)[source]

Removes cross-reference links

validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.TF(sid, nid0, c, b0, b1, b2, nids, components, a, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a dynamic transfer function of the form:
(B0 + B1 p + B2 *p2)*ud sum(A0_i + A1_i*p + A2_i*p2)*ui = 0
1 2 3 4 5 6 7 8 9
TF SID GD CD B0 B1 B2    
  G_1 C_1 A0_1 A1_1 A2_1 etc.    
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a TF card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

cross_reference(self, model)[source]
raw_fields(self)[source]
type = 'TF'
validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.TIC(sid, nodes, components, u0=0.0, v0=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Transient Initial Condition

Defines values for the initial conditions of variables used in structural transient analysis. Both displacement and velocity values may be specified at independent degrees-of-freedom. This entry may not be used for heat transfer analysis.

Creates a TIC card

Parameters:
sid : int

Case Control IC id

nodes : int / List[int]

the nodes to which apply the initial conditions

components : int / List[int]

the DOFs to which apply the initial conditions

u0 : float / List[float]

Initial displacement.

v0 : float / List[float]

Initial velocity.

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
_properties = ['node_ids']
add(self, tic)[source]
classmethod add_card(card, comment='')[source]

Adds a TIC card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

cross_reference(self, model)[source]
node_ids
raw_fields(self)[source]
safe_cross_reference(self, model, xref_errors)[source]
type = 'TIC'
uncross_reference(self)[source]

Removes cross-reference links

validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.TSTEP(sid, N, DT, NO, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Transient Time Step Defines time step intervals at which a solution will be generated and output in transient analysis.

1 2 3 4 5 6 7 8 9
TSTEP SID N1 DT1 NO1        
    N2 DT2 NO2        
    etc.            
1 2 3 4 5 6 7 8 9
TSTEP 101 9000 .001 9000        
    1000 .001 1        

Creates a TSTEP card

Parameters:
sid : int

the time step id

N : List[int/None]

List of number of time steps for each step section.

DT : List[float/None]

List of time steps for each step section.

NO : List[int/None]

List of step frequency for each step section. Every N steps, results will be printed.

comment : str; default=’‘

a comment for the card

DT = None

Time increment (float)

N = None

Number of time steps of value DTi. (Integer > 1)

NO = None

Skip factor for output. Every NOi-th step will be saved for output (default=1)

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a TSTEP card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
repr_fields(self)[source]

Gets the fields in their simplified form

Returns:
fields : List[varies]

the fields that define the card

type = 'TSTEP'
validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.TSTEP1(sid, tend, ninc, nout, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Transient Time Step Defines time step intervals at which a solution will be generated and output in transient analysis.

1 2 3 4 5 6 7 8 9
TSTEP1 SID TEND1 NINC1 NOUT1        
    TEND2 NINC2 NOUT2        
    etc.            
1 2 3 4 5 6 7 8 9
TSTEP1 1 10.0 5 2        
    50.0 4 3        
    100 2 ALL        

Creates a TSTEP1 card

Parameters:
sid : int

the time step id

tend : List[float/None]

???

ninc : List[int/None]

???

nout : List[int/str/None]

???

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a TSTEP1 card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
repr_fields(self)[source]

Gets the fields in their simplified form

Returns:
fields : List[varies]

the fields that define the card

type = 'TSTEP1'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card

class pyNastran.bdf.cards.dynamic.TSTEPNL(sid, ndt, dt, no, method='ADAPT', kstep=None, max_iter=10, conv='PW', eps_u=0.01, eps_p=0.001, eps_w=1e-06, max_div=2, max_qn=10, max_ls=2, fstress=0.2, max_bisect=5, adjust=5, mstep=None, rb=0.6, max_r=32.0, utol=0.1, rtol_b=20.0, min_iter=None, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines parametric controls and data for nonlinear transient structural or heat transfer analysis. TSTEPNL is intended for SOLs 129, 159, and 600. Parameters for Nonlinear Transient Analysis.

1 2 3 4 5 6 7 8 9
TSTEPNL ID NDT DT NO METHOD KSTEP MAXITER CONV
  ESPU EPSP EPSW MAXDIV MAXQN MAXLS FSTRESS  
  MAXBIS ADJUST MSTEP RB MAXR UTOL RTOLB  

method = None for NX, but apparently TSTEP as well, which is not in the QRG

Creates a TSTEPNL card

Parameters:
sid : int

the time step id

ndt : int

???

dt : float

???

no : int

???

method : str

??? MSC = {AUTO, ITER, ADAPT, SEMI, FNT, PFNT} NX = {None, TSTEP}

kstep : ???; default=None

???

max_iter : int; default=10

???

conv : str; default=’PW’

??? PW, W, U

eps_u : float; default=1.e-2

???

eps_p : float; default=1.e-3

???

eps_w : float; default=1.e-6

???

max_div : int; default=2

???

max_qn : int; default=10

???

max_ls : int; default=2

???

fstress : float; default=0.2

???

max_bisect : int; default=5

???

adjust : int; default=5

???

mstep : int; default=None

???

rb : float; default=0.6

???

max_r = float; default=32.

???

utol = float; default=0.1

???

rtol_b = float; default=20.

???

min_iter : int; default=None

not listed in all QRGs

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a TSTEPNL card from BDF.add_card(...)

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

allowed_methods = ['AUTO', 'ITER', 'ADAPT', 'SEMI', 'FNT', 'PFNT', 'TSTEP']
raw_fields(self)[source]
repr_fields(self)[source]

Gets the fields in their simplified form

Returns:
fields : List[varies]

the fields that define the card

type = 'TSTEPNL'
validate(self)[source]

card checking method that should be overwritten

write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card