dynamic
Module¶
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
-
_properties
= ['node_id1', 'node_id2', 'node_ids']¶
-
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)
-
node_id1
¶
-
node_id2
¶
-
node_ids
¶
-
nodes
= None¶ Grid, extra, or scalar point identification number. (Integer > 0)
-
sid
= None¶ Identification number of DELAY entry. (Integer > 0)
-
type
= 'DELAY'¶
-
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
-
_properties
= ['node_id1', 'node_id2', 'node_ids']¶
-
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
-
node_id1
¶
-
node_id2
¶
-
node_ids
¶
-
type
= 'DPHASE'¶
-
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
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()
-
type
= 'FREQ'¶
-
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
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
-
type
= 'FREQ1'¶
-
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
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
-
type
= 'FREQ2'¶
-
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
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
-
type
= 'FREQ3'¶
-
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
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
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'FREQ4'¶
-
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
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
-
type
= 'FREQ5'¶
-
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
-
_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
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'NLPARM'¶
-
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
-
_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
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'NLPCI'¶
-
-
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
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
-
type
= 'ROTORD'¶
-
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
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
-
type
= 'ROTORG'¶
-
classmethod
-
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
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
-
type
= 'TF'¶
-
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
-
_properties
= ['node_ids']¶
-
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
-
node_ids
¶
-
type
= 'TIC'¶
-
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
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
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'TSTEP'¶
-
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
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
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'TSTEP1'¶
-
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
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']¶
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'TSTEPNL'¶