dynamic Module

digraph inheritanced15c602a2c { bgcolor=transparent; rankdir=LR; size=""; "pyNastran.bdf.cards.base_card.BaseCard" [URL="pyNastran.bdf.cards.base_card.html#pyNastran.bdf.cards.base_card.BaseCard",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a series of base methods for every card class"]; "pyNastran.bdf.cards.dynamic.DELAY" [URL="#pyNastran.bdf.cards.dynamic.DELAY",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="+-------+-----+-----------+-----+--------+------+-----+--------+"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.DELAY" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.DPHASE" [URL="#pyNastran.bdf.cards.dynamic.DPHASE",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines the phase lead term θ in the equation of the dynamic"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.DPHASE" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.FREQ" [URL="#pyNastran.bdf.cards.dynamic.FREQ",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a set of frequencies to be used in the solution of frequency"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.FREQ" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.FREQ1" [URL="#pyNastran.bdf.cards.dynamic.FREQ1",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a set of frequencies to be used in the solution of frequency"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.FREQ1" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.FREQ2" [URL="#pyNastran.bdf.cards.dynamic.FREQ2",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a set of frequencies to be used in the solution of frequency"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.FREQ2" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.FREQ3" [URL="#pyNastran.bdf.cards.dynamic.FREQ3",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="+-------+-----+------+-------+--------+-----+---------+"]; "pyNastran.bdf.cards.dynamic.FREQ" -> "pyNastran.bdf.cards.dynamic.FREQ3" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.FREQ4" [URL="#pyNastran.bdf.cards.dynamic.FREQ4",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a set of frequencies used in the solution of modal frequency"]; "pyNastran.bdf.cards.dynamic.FREQ" -> "pyNastran.bdf.cards.dynamic.FREQ4" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.FREQ5" [URL="#pyNastran.bdf.cards.dynamic.FREQ5",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a set of frequencies used in the solution of modal"]; "pyNastran.bdf.cards.dynamic.FREQ" -> "pyNastran.bdf.cards.dynamic.FREQ5" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.NLPARM" [URL="#pyNastran.bdf.cards.dynamic.NLPARM",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a set of parameters for nonlinear static analysis iteration"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.NLPARM" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.NLPCI" [URL="#pyNastran.bdf.cards.dynamic.NLPCI",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.NLPCI" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.ROTORD" [URL="#pyNastran.bdf.cards.dynamic.ROTORD",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="NX-specific card"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.ROTORD" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.ROTORG" [URL="#pyNastran.bdf.cards.dynamic.ROTORG",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Rotor Grids Selection"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.ROTORG" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.TF" [URL="#pyNastran.bdf.cards.dynamic.TF",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a dynamic transfer function of the form:"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.TF" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.TIC" [URL="#pyNastran.bdf.cards.dynamic.TIC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Transient Initial Condition"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.TIC" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.TSTEP" [URL="#pyNastran.bdf.cards.dynamic.TSTEP",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Transient Time Step"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.TSTEP" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.TSTEP1" [URL="#pyNastran.bdf.cards.dynamic.TSTEP1",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Transient Time Step"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.TSTEP1" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.dynamic.TSTEPNL" [URL="#pyNastran.bdf.cards.dynamic.TSTEPNL",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines parametric controls and data for nonlinear transient structural or"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.dynamic.TSTEPNL" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

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

  • FREQ

  • FREQ1

  • FREQ2

  • FREQ3

  • FREQ4

  • FREQ5

  • NLPCI

  • NLPARM

  • TSTEP

  • TSTEP1

  • TSTEPNL

  • ROTORG

  • ROTORD

  • TIC

  • TF

All cards are BaseCard objects.

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

Bases: BaseCard

1

2

3

4

5

6

7

8

DELAY

SID

POINT ID1

C1

T1

P2

C2

T2

Creates a DELAY card

Parameters:
sidint

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

nodeslist[int]

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

componentslist[int]

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

delayslist[float]

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

commentstr; default=’’

a comment for the card

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

components

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

cross_reference(model: BDF, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

delays

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

get_delay_at_freq(freq)[source]
property node_id1
property node_id2
property node_ids
nodes

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

raw_fields()[source]
sid

Identification number of DELAY entry. (Integer > 0)

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

Removes cross-reference links

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

DPHASE id that is referenced by a RLOADx or ACSRCE card

nodeslist[int]

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

componentslist[int]

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

phase_leadslist[float]

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

commentstr; default=’’

a comment for the card

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Removes cross-reference links

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

set id referenced by case control FREQUENCY

freqslist[float]

the frequencies for a FREQx object

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

add_frequencies(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:
freqslist[float] / (nfreq, ) float ndarray

the frequencies for a FREQx object

add_frequency_object(freq)[source]
Parameters:

freq – a FREQx object

See also

addFrequencies()

get_freqs()[source]
raw_fields()[source]
type = 'FREQ'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

set id referenced by case control FREQUENCY

f1float

first frequency

dffloat

frequency increment

ndfint

number of frequency increments

commentstr; default=’’

a comment for the card

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

classmethod add_card_lax(card: BDFCard, comment: str = '')[source]

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

raw_fields()[source]
type = 'FREQ1'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

set id referenced by case control FREQUENCY

f1float

first frequency

f2float

last frequency

nfint; default=1

number of logorithmic intervals

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

raw_fields()[source]
type = 'FREQ2'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

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

set id referenced by case control FREQUENCY

f1float; default=0.0???

Lower bound of frequency range in cycles per unit time.

f2float; default=1E20???

Upper bound of frequency range in cycles per unit time.

freq_typestr; default=LINEAR

valid_types={LINEAR, LOG}

nefint; default=10

???

clusterfloat; default=1.0

???

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

get_frequencies(natural_freq: ndarray) ndarray[source]
raw_fields()[source]
type = 'FREQ3'
validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

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

set id referenced by case control FREQUENCY

f1float; default=0.0

Lower bound of frequency range in cycles per unit time.

f2float; default=1E20

Upper bound of frequency range in cycles per unit time.

nfmint; default=3

Number of evenly spaced frequencies per ‘spread’ mode.

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

get_frequencies(natural_freq: ndarray) ndarray[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'FREQ4'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

set id referenced by case control FREQUENCY

f1float; default=0.0

Lower bound of frequency range in cycles per unit time.

f2float; default=1e20

Upper bound of frequency range in cycles per unit time.

fractionslist[float]

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

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

get_frequencies(natural_freq: ndarray) ndarray[source]

#f1 : 20.0 #f2 : 200.0 #fractions : [0.6, 0.8, 0.9, 0.95, 1.0, 1.05, 1.1, 1.2]

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

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

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

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.

dtfloat; default=0.0

???

kmethodstr; default=’AUTO’

???

kstepint; default=5

???

max_iterint; default=25

???

convstr; default=’PW’

???

int_outstr; default=’NO’

???

eps_ufloat; default=0.01

???

eps_pfloat; default=0.01

???

eps_wfloat; default=0.01

???

max_divint; default=3

???

max_qn; default=None -> varies

???

max_lsint; default=4

???

fstressfloat; default=0.2

???

ls_tolfloat; default=0.5

???

max_bisectint; default=5

max number of bisections

max_rfloat; default=20.

???

rtol_bfloat; default=20.

???

commentstr; default=’’

a comment for the card

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'NLPARM'
validate() None[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

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

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'NLPCI'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

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

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

rstartfloat

Starting value of reference rotor speed.

rstartfloat

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

numstepint

Number of steps for reference rotor speed including RSTART.

ridslist[int]

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

rsetslist[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)

rspeedslist[int/float, …, int/float]

float : rotor speeds int : TABLEDi

rcordslist[int]

???

w3slist[float]

???

w4slist[float]

???

rforceslist[int]

???

brgsetslist[int]

???

refsysstr; default=’ROT’
Reference system

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

cmoutfloat; default=0.0

???

runitstr; default==’RPM’

???

funitstr; default==’RPM’,

???

zsteinstr; default==’NO’

???

orbepsfloat; default=1.e-6

???

roprtint; default=0

???

syncint; default=1

???

etypeint; default=1

???

eorderfloat; default=1.0

???

thresholdfloat; default=0.02

???

maxiterint; default=10

???

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
raw_fields()[source]
type = 'ROTORD'
validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
raw_fields()[source]
type = 'ROTORG'
uncross_reference() None[source]

Removes cross-reference links

validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
raw_fields()[source]
type = 'TF'
validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

Case Control IC id

nodesint / list[int]

the nodes to which apply the initial conditions

componentsint / list[int]

the DOFs to which apply the initial conditions

u0float / list[float]

Initial displacement.

v0float / list[float]

Initial velocity.

commentstr; default=’’

a comment for the card

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
property node_ids
raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors)[source]
type = 'TIC'
uncross_reference() None[source]

Removes cross-reference links

validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

the time step id

Nlist[int/None]

List of number of time steps for each step section.

DTlist[float/None]

List of time steps for each step section.

NOlist[int/None]

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

commentstr; default=’’

a comment for the card

DT

Time increment (float)

N

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

NO

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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'TSTEP'
validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

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

Bases: 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:
sidint

the time step id

tendlist[float/None]

???

ninclist[int/None]

???

noutlist[int/str/None]

???

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'TSTEP1'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

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

MSC 2005.2 +———+———+——–+——-+——–+——–+——-+———+——+ | 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 | | +———+———+——–+——-+——–+——–+——-+———+——+

NX 2019.2 +———+———+——–+——-+——–+——–+——-+———+——+ | 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 | | +———+———+——–+——-+——–+——–+——-+———+——+ | | KUPDATE | | | | | | | | +———+———+——–+——-+——–+——–+——-+———+——+

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

Creates a TSTEPNL card

Parameters:
sidint

the time step id

ndtint

???

dtfloat

???

noint

???

methodstr

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

kstep???; default=None

???

max_iterint; default=10

???

convstr; default=’PW’

??? PW, W, U

eps_ufloat; default=1.e-2

???

eps_pfloat; default=1.e-3

???

eps_wfloat; default=1.e-6

???

max_divint; default=2

???

max_qnint; default=10

???

max_lsint; default=2

???

fstressfloat; default=0.2

???

max_bisectint; default=5

???

adjustint; default=5

???

mstepint; default=None

???

rbfloat; default=0.6

???

max_r = float; default=32.

???

utol = float; default=0.1

???

rtol_b = float; default=20.

???

min_iterint; default=None

not listed in all QRGs

commentstr; 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:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'TSTEPNL'
validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card