dloads Module

Inheritance diagram of pyNastran.bdf.cards.loads.dloads

All dynamic loads are defined in this file. This includes:

  • ACSRCE
  • DLOAD
  • TLOAD1
  • TLOAD2
  • RLOAD1
  • RLOAD2
class pyNastran.bdf.cards.loads.dloads.ACSRCE(sid, excite_id, rho, b, delay=0, dphase=0, power=0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines acoustic source as a function of power vs. frequency.

1 2 3 4 5 6 7 8
ACSRCE SID EXCITEID DELAYI/DELAYR DPHASEI/DPHASER TP/RP RHO B
..math ::
C = sqrt(B ⁄ ρ) Source Strength = {A} * 1/(2πf) * sqrt( 8πC P(f) / ρ) ^ (ei(θ + 2πfτ))

Creates an ACSRCE card

Parameters:
sid : int

load set id number (referenced by DLOAD)

excite_id : int

Identification number of a DAREA or SLOAD entry that lists each degree of freedom to apply the excitation and the corresponding scale factor, A, for the excitation

rho : float

Density of the fluid

b : float

Bulk modulus of the fluid

delay : int; default=0

Time delay, τ.

dphase : int / float; default=0

the dphase; if it’s 0/blank there is no phase lag float : delay in units of time int : delay id

power : int; default=0

Power as a function of frequency, P(f). float : value of P(f) used over all frequencies for all

degrees of freedom in EXCITEID entry.

int : TABLEDi entry that defines P(f) for all degrees of

freedom in EXCITEID entry.

comment : str; default=’‘

a comment for the card

DPhase(self)[source]
Delay(self)[source]
Power(self)[source]
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a ACSRCE 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_load_at_freq(self, freq)[source]
..math ::
C = sqrt(B ⁄ ρ) Source_strength = {A} * 1/(2πf) * sqrt( 8πC P(f) / ρ) ^ (ei(θ + 2πfτ))
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

safe_cross_reference(self, model, xref_errors)[source]
type = 'ACSRCE'
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.loads.dloads.DLOAD(sid, scale, scale_factors, load_ids, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.LoadCombination

1 2 3 4 5 6 7 8 9
DLOAD SID S S1 L1 S2 L2 S3 L3
  S4 L4 etc.          

Creates a DLOAD card

Parameters:
sid : int

Load set identification number. See Remarks 1. and 4. (Integer > 0)

scale : float

Scale factor. See Remarks 2. and 8. (Real)

Si : List[float]

Scale factors. See Remarks 2., 7. and 8. (Real)

load_ids : List[int]

Load set identification numbers of RLOAD1, RLOAD2, TLOAD1, TLOAD2, and ACSRCE entries. See Remarks 3 and 7. (Integer > 0)

comment : str; default=’‘

a comment for the card

classmethod _init_from_empty()[source]
cross_reference(self, model)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

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

safe_cross_reference(self, model, xref_errors, debug=True)[source]
type = 'DLOAD'
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.loads.dloads.RLOAD1(sid, excite_id, delay=0, dphase=0, tc=0, td=0, Type='LOAD', comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.DynamicLoad

Defines a frequency-dependent dynamic load of the form for use in frequency response problems.

\[\left\{ P(f) \right\} = \left\{A\right\} [ C(f)+iD(f)] e^{ i \left\{\theta - 2 \pi f \tau \right\} }\]
1 2 3 4 5 6 7 8
RLOAD1 SID EXCITEID DELAY DPHASE TC TD TYPE
RLOAD1 5 3     1    

NX allows DELAY and DPHASE to be floats

Creates an RLOAD1 card, which defienes a frequency-dependent load based on TABLEDs.

Parameters:
sid : int

load id

excite_id : int

node id where the load is applied

delay : int/float; default=None

the delay; if it’s 0/blank there is no delay float : delay in units of time int : delay id

dphase : int/float; default=None

the dphase; if it’s 0/blank there is no phase lag float : delay in units of time int : delay id

tc : int/float; default=0

TABLEDi id that defines C(f) for all degrees of freedom in EXCITEID entry

td : int/float; default=0

TABLEDi id that defines D(f) for all degrees of freedom in EXCITEID entry

Type : int/str; default=’LOAD’

the type of load 0/LOAD 1/DISP 2/VELO 3/ACCE 4, 5, 6, 7, 12, 13 - MSC only

comment : str; default=’‘

a comment for the card

Tc(self)[source]
Td(self)[source]
classmethod _init_from_empty()[source]
_properties = ['delay_id', 'dphase_id']
classmethod add_card(card, comment='')[source]

Adds a RLOAD1 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

delay_id
dphase_id
get_load_at_freq(self, freq, scale=1.0)[source]
get_loads(self)[source]
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

safe_cross_reference(self, model, xref_errors)[source]
type = 'RLOAD1'
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.loads.dloads.RLOAD2(sid, excite_id, delay=0, dphase=0, tb=0, tp=0, Type='LOAD', comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.DynamicLoad

Defines a frequency-dependent dynamic load of the form for use in frequency response problems.

\[\left\{ P(f) \right\} = \left\{A\right\} * B(f) e^{ i \left\{ \phi(f) + \theta - 2 \pi f \tau \right\} }\]
1 2 3 4 5 6 7 8
RLOAD2 SID EXCITEID DELAY DPHASE TB TP TYPE
RLOAD2 5 3     1    

NX allows DELAY and DPHASE to be floats

Creates a nRLOAD2 card, which defienes a frequency-dependent load based on TABLEDs.

Parameters:
sid : int

load id

excite_id : int

node id where the load is applied

delay : int/float; default=None

the delay; if it’s 0/blank there is no delay float : delay in units of time int : delay id

dphase : int/float; default=None

the dphase; if it’s 0/blank there is no phase lag float : delay in units of time int : delay id

tb : int/float; default=0

TABLEDi id that defines B(f) for all degrees of freedom in EXCITEID entry

tc : int/float; default=0

TABLEDi id that defines C(f) for all degrees of freedom in EXCITEID entry

td : int/float; default=0

TABLEDi id that defines D(f) for all degrees of freedom in EXCITEID entry

tp : int/float; default=0

TABLEDi id that defines phi(f) for all degrees of freedom in EXCITEID entry

Type : int/str; default=’LOAD’

the type of load 0/LOAD 1/DISP 2/VELO 3/ACCE 4, 5, 6, 7, 12, 13 - MSC only

comment : str; default=’‘

a comment for the card

LoadID(self)[source]
Tb(self)[source]
Tp(self)[source]
classmethod _init_from_empty()[source]
_properties = ['delay_id', 'dphase_id']
classmethod add_card(card, comment='')[source]

Adds a RLOAD2 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

delay_id
dphase_id
get_load_at_freq(self, freq, scale=1.0)[source]
get_loads(self)[source]
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

safe_cross_reference(self, model, xref_errors)[source]
type = 'RLOAD2'
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.loads.dloads.TLOAD1(sid, excite_id, tid, delay=0, Type='LOAD', us0=0.0, vs0=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.DynamicLoad

Transient Response Dynamic Excitation, Form 1

Defines a time-dependent dynamic load or enforced motion of the form:

\[\left\{ P(t) \right\} = \left\{ A \right\} \cdot F(t-\tau)\]

for use in transient response analysis.

1 2 3 4 5 6 7 8
TLOAD1 SID EXCITEID DELAY TYPE TID US0 VS0

MSC 2016.1

1 2 3 4 5 6
TLOAD1 SID EXCITEID DELAY TYPE TID

NX 11

Creates a TLOAD1 card, which defienes a time-dependent load based on a DTABLE.

Parameters:
sid : int

load id

excite_id : int

node id where the load is applied

tid : int

TABLEDi id that defines F(t) for all degrees of freedom in EXCITEID entry float : MSC not supported

delay : int/float; default=None

the delay; if it’s 0/blank there is no delay float : delay in units of time int : delay id

Type : int/str; default=’LOAD’

the type of load 0/LOAD 1/DISP 2/VELO 3/ACCE 4, 5, 6, 7, 12, 13 - MSC only

us0 : float; default=0.

Factor for initial displacements of the enforced degrees-of-freedom MSC only

vs0 : float; default=0.

Factor for initial velocities of the enforced degrees-of-freedom MSC only

comment : str; default=’‘

a comment for the card

Tid(self)[source]
Type = None

Defines the type of the dynamic excitation. (LOAD,DISP, VELO, ACCE)

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

Adds a TLOAD1 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

delay = None

If it is a non-zero integer, it represents the identification number of DELAY Bulk Data entry that defines . If it is real, then it directly defines the value of that will be used for all degrees-of-freedom that are excited by this dynamic load entry. See also Remark 9. (Integer >= 0, real or blank)

delay_id
excite_id = None

Identification number of DAREA or SPCD entry set or a thermal load set (in heat transfer analysis) that defines {A}. (Integer > 0)

get_load_at_time(self, time, scale=1.0)[source]
get_loads(self)[source]
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

safe_cross_reference(self, model, debug=True)[source]
sid = None

load ID

tid = None

Identification number of TABLEDi entry that gives F(t). (Integer > 0)

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

Removes cross-reference links

us0 = None

Factor for initial displacements of the enforced degrees-of-freedom. (Real; Default = 0.0)

validate(self)[source]

card checking method that should be overwritten

vs0 = None

Factor for initial velocities of the enforced degrees-of-freedom. (Real; Default = 0.0)

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.loads.dloads.TLOAD2(sid, excite_id, delay=0, Type='LOAD', T1=0.0, T2=None, frequency=0.0, phase=0.0, c=0.0, b=0.0, us0=0.0, vs0=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.DynamicLoad

Transient Response Dynamic Excitation, Form 1

Defines a time-dependent dynamic load or enforced motion of the form:

\[\]

left{ P(t) right} = left{ A right} e^(C*t) cos(2 pi f t + phi)

P(t) = 0 (t<T1+tau or t > T2+tau) P(t) = {A} * t^b * e^(C*t) * cos(2*pi*f*t + phase) (T1+tau <= t <= T2+tau)

for use in transient response analysis.

1 2 3 4 5 6 7 8 9
TLOAD2 SID EXCITEID DELAY TYPE T1 T2 FREQ PHASE
  C B US0 VS0        

MSC 2016.1

1 2 3 4 5 6 7 8 9
TLOAD2 SID EXCITEID DELAY TYPE T1 T2 FREQ PHASE
  C B            

NX 11

Creates a TLOAD2 card, which defines a exponential time dependent load based on constants.

Parameters:
sid : int

load id

excite_id : int

node id where the load is applied

delay : int/float; default=None

the delay; if it’s 0/blank there is no delay float : delay in units of time int : delay id

Type : int/str; default=’LOAD’

the type of load 0/LOAD 1/DISP 2/VELO 3/ACCE 4, 5, 6, 7, 12, 13 - MSC only

T1 : float; default=0.

time constant (t1 > 0.0) times below this are ignored

T2 : float; default=None

time constant (t2 > t1) times above this are ignored

frequency : float; default=0.

Frequency in cycles per unit time.

phase : float; default=0.

Phase angle in degrees.

c : float; default=0.

Exponential coefficient.

b : float; default=0.

Growth coefficient.

us0 : float; default=0.

Factor for initial displacements of the enforced degrees-of-freedom MSC only

vs0 : float; default=0.

Factor for initial velocities of the enforced degrees-of-freedom MSC only

comment : str; default=’‘

a comment for the card

T1 = None

Time constant. (Real >= 0.0)

T2 = None

Time constant. (Real; T2 > T1)

Type = None

Defines the type of the dynamic excitation. (Integer; character or blank; Default = 0)

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

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

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

b = None

Growth coefficient. (Real; Default = 0.0)

c = None

Exponential coefficient. (Real; Default = 0.0)

cross_reference(self, model)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

delay_id
frequency = None

Frequency in cycles per unit time. (Real >= 0.0; Default = 0.0)

get_load_at_time(self, time, scale=1.0)[source]
get_loads(self)[source]
phase = None

Phase angle in degrees. (Real; Default = 0.0)

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

safe_cross_reference(self, model, xref_errors, debug=True)[source]
sid = None

load ID SID must be unique for all TLOAD1, TLOAD2, RLOAD1, RLOAD2, and ACSRCE entries.

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

Removes cross-reference links

us0 = None

Factor for initial displacements of the enforced degrees-of-freedom. (Real; Default = 0.0)

validate(self)[source]

card checking method that should be overwritten

vs0 = None

Factor for initial velocities of the enforced degrees-of-freedom (Real; Default = 0.0)

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

pyNastran.bdf.cards.loads.dloads.update_loadtype(load_type)[source]