loads Module

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

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

  • LSEQ

  • DAREA

  • SLOAD

  • RFORCE

  • RANDPS

class pyNastran.bdf.cards.loads.loads.DAREA(sid, nodes, components, scales, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines scale (area) factors for static and dynamic loads. In dynamic analysis, DAREA is used in conjunction with ACSRCE, RLOADi and TLOADi entries.

RLOAD1 -> DAREA by SID

1

2

3

4

5

6

7

8

DAREA

SID

P1

C1

A1

P2

C2

A2

DAREA

3

6

2

8.2

15

1

10.1

Creates a DAREA card

Parameters
sidint

darea id

nodesList[int]

GRID, EPOINT, SPOINT id

componentsList[int]

Component number. (0-6; 0-EPOINT/SPOINT; 1-6 GRID)

scalesList[float]

Scale (area) factor

commentstr; default=’’

a comment for the card

classmethod _init_from_empty()[source]
_properties = ['node_ids']
add(darea)[source]
classmethod add_card(card, icard=0, comment='')[source]
cross_reference(model: BDF) → None[source]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

property node_ids
raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors, debug=True)[source]
type = 'DAREA'
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.loads.loads.DEFORM(sid, eid, deformation, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.Load

Defines an enforced displacement value for static analysis.

1

2

3

5

6

8

6

8

DEFORM

SID

E1

D1

E2

D2

E3

D3

DEFORM

100

32

-2.6

5

.9

6

.9

Creates an DEFORM card, which defines applied deformation on a 1D elemment. Links to the DEFORM card in the case control deck.

Parameters
sidint

load id

eidint

CTUBE/CROD/CONROD/CBAR/CBEAM element id

deformationfloat

the applied deformation

commentstr; default=’’

a comment for the card

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

Adds a DEFORM 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_loads()[source]
raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors, debug=True)[source]
type = 'DEFORM'
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.loads.loads.DynamicLoad[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

class pyNastran.bdf.cards.loads.loads.LOADCYH(sid, scale, hid, htype, scales, load_ids, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Harmonic Load Input for Cyclic Symmetry Defines the harmonic coefficients of a static or dynamic load for use in cyclic symmetry analysis.

1

2

3

4

5

6

7

8

9

LOADCYH

SID

S

HID

HTYPE

S1

L1

S2

L2

Creates a LOADCYH card

Parameters
sidint

loadset id; LOADSET points to this

commentstr; default=’’

a comment for the card

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

Adds a LOADCYH 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_loads()[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, xref_errors)[source]
type = 'LOADCYH'
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.loads.loads.LOADCYN(sid, scale, segment_id, scales, load_ids, segment_type=None, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.Load

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) → None[source]
get_loads()[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, xref_errors)[source]
type = 'LOADCYN'
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.loads.loads.LSEQ(sid, excite_id, lid, tid=None, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a sequence of static load sets

Todo

how does this work…

1

2

3

4

5

LSEQ

SID

EXCITEID

LID

TID

ACSRCEIf there is no LOADSET Case Control command, then EXCITEID

may reference DAREA and SLOAD entries. If there is a LOADSET Case Control command, then EXCITEID may reference DAREA entries as well as SLOAD entries specified by the LID field in the selected LSEQ entry corresponding to EXCITEID.

DAREARefer to RLOAD1, RLOAD2, TLOAD1, TLOAD2, or ACSRCE entries

for the formulas that define the scale factor Ai in dynamic analysis.

DPHASE :

SLOADIn the static solution sequences, the load set ID (SID) is

selected by the Case Control command LOAD. In the dynamic solution sequences, SID must be referenced in the LID field of an LSEQ entry, which in turn must be selected by the Case Control command LOADSET.

LSEQ LIDLoad set identification number of a set of static load

entries such as those referenced by the LOAD Case Control command.

LSEQ, SID, EXCITEID, LID, TID

#————————————————————– # F:Program FilesSiemensNXNastrannxn10p1nxn10p1nasttplcube_iter.dat

DLOAD 1001 1.0 1.0 55212 sid = 1001 load_id = [55212] -> RLOAD2.SID

RLOAD2, SID, EXCITEID, DELAYID, DPHASEID, TB, TP, TYPE RLOAD2 55212 55120 55122 55123 55124 EXCITEID = 55120 -> DAREA.SID DPHASEID = 55122 -> DPHASE.SID

DARA SID NID COMP SCALE DAREA 55120 913 3 9.9E+9 SID = 55120 -> RLOAD2.SID

DPHASE SID POINTID C1 TH1 DPHASE 55122 913 3 -90.0 SID = 55122 POINTID = 913 -> GRID.NID

GRID NID X Y Z GRID 913 50. 0.19 -39.9

Creates a LSEQ card

Parameters
sidint

loadset id; LOADSET points to this

excite_idint

set id assigned to this static load vector

lidint

load set id of a set of static load entries; LOAD in the Case Control

tidint; default=None

temperature set id of a set of thermal load entries; TEMP(LOAD) in the Case Control

commentstr; default=’’

a comment for the card

Lid() → int[source]
LoadID(lid: int) → int[source]
Tid()[source]
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a LSEQ 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_loads() → Any[source]
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, xref_errors)[source]
type = 'LSEQ'
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.loads.loads.Load[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

defines the DefaultLoad class

property node_ids

get the node ids

type = 'DefLoad'
class pyNastran.bdf.cards.loads.loads.LoadCombination(sid, scale, scale_factors, load_ids, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Common method for LOAD, DLOAD

Common method for LOAD, DLOAD

Parameters
sidint

load id

scalefloat

overall scale factor

scale_factorsList[float]

individual scale factors (corresponds to load_ids)

load_idsList[int]

individual load_ids (corresponds to scale_factors)

commentstr; default=’’

a comment for the card

LoadID(lid)[source]
classmethod add_card(card, comment='')[source]
get_load_ids()[source]

xref/non-xref way to get the load ids

get_loads()[source]

Note

requires a cross referenced load

scale = None

overall scale factor

sid = None

load ID

validate()[source]

card checking method that should be overwritten

class pyNastran.bdf.cards.loads.loads.RFORCE(sid, nid, scale, r123, cid=0, method=1, racc=0.0, mb=0, idrf=0, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.Load

idrf doesn’t exist in MSC 2005r2; exists in MSC 2016

Parameters
sidint

load set id

nidint

grid point through which the rotation vector acts

scalefloat

scale factor of the angular velocity in revolutions/time

r123List[float, float, float] / (3, ) float ndarray

rectangular components of the rotation vector R that passes through point G (R1**2+R2**2+R3**2 > 0 unless A and RACC are both zero).

cidint; default=0

Coordinate system defining the components of the rotation vector.

methodint; default=1

Method used to compute centrifugal forces due to angular velocity.

raccint; default=0.0

Scale factor of the angular acceleration in revolutions per unit time squared.

mbint; default=0

Indicates whether the CID coordinate system is defined in the main Bulk Data Section (MB = -1) or the partitioned superelement Bulk Data Section (MB = 0). Coordinate systems referenced in the main Bulk Data Section are considered stationary with respect to the assembly basic coordinate system.

idrfint; default=0

ID indicating to which portion of the structure this particular RFORCE entry applies. It is possible to have multiple RFORCE entries in the same subcase for SOL 600 to represent different portions of the structure with different rotational accelerations. IDRF corresponds to a SET3 entry specifying the elements with this acceleration. A BRKSQL entry may also be specified with a matching IDRF entry.

commentstr; default=’’

a comment for the card

Cid()[source]
Nid()[source]
classmethod _init_from_empty()[source]
_properties = ['node_id']
classmethod add_card(card, comment='')[source]

Adds a RFORCE 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_loads()[source]
property node_id
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, xref_errors)[source]
type = 'RFORCE'
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.loads.loads.RFORCE1(sid, nid, scale, group_id, cid=0, r123=None, racc=0.0, mb=0, method=2, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.Load

NX Nastran specific card

1

2

3

4

5

6

7

8

9

RFORCE1

SID

G

CID

A

R1

R2

R3

METHOD

RACC

MB

GROUPID

Creates an RFORCE1 card

Parameters
sidint

load set id

nidint

grid point through which the rotation vector acts

scalefloat

scale factor of the angular velocity in revolutions/time

r123List[float, float, float] / (3, ) float ndarray

rectangular components of the rotation vector R that passes through point G (R1**2+R2**2+R3**2 > 0 unless A and RACC are both zero).

raccint; default=0.0

Scale factor of the angular acceleration in revolutions per unit time squared.

mbint; default=0

Indicates whether the CID coordinate system is defined in the main Bulk Data Section (MB = -1) or the partitioned superelement Bulk Data Section (MB = 0). Coordinate systems referenced in the main Bulk Data Section are considered stationary with respect to the assembly basic coordinate system.

group_idint

Group identification number. The GROUP entry referenced in the GROUPID field selects the grid points to which the load is applied.

cidint; default=0

Coordinate system defining the components of the rotation vector.

methodint; default=2

Method used to compute centrifugal forces due to angular velocity.

commentstr; default=’’

a comment for the card

Cid()[source]
Nid()[source]
classmethod _init_from_empty()[source]
_properties = ['node_id']
classmethod add_card(card, comment='')[source]

Adds a RFORCE1 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_loads()[source]
property node_id
raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors)[source]
type = 'RFORCE1'
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.loads.loads.SLOAD(sid, nodes, mags, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.Load

Static Scalar Load Defines concentrated static loads on scalar or grid points.

1

2

3

4

5

6

7

8

SLOAD

SID

S1

F1

S2

F2

S3

F3

SLOAD

16

2

5.9

17

-6.3

14

-2.93

Note

Can be used in statics OR dynamics.

If Si refers to a grid point, the load is applied to component T1 of the displacement coordinate system (see the CD field on the GRID entry).

Creates an SLOAD (GRID/SPOINT load)

Parameters
sidint

load id

nodesint; List[int]

the GRID/SPOINT ids

magsfloat; List[float]

the load magnitude

commentstr; default=’’

a comment for the card

Nid(node)[source]
classmethod _init_from_empty()[source]
_properties = ['node_ids']
classmethod add_card(card, comment='')[source]

Adds a SLOAD 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_loads()[source]

Todo

not done

property node_ids

get the node ids

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

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, xref_errors)[source]
sid = None

load ID

type = 'SLOAD'
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

write_card_16(is_double: bool = False) → str[source]
class pyNastran.bdf.cards.loads.loads.SPCD(sid, nodes, components, enforced, comment='')[source]

Bases: pyNastran.bdf.cards.loads.loads.Load

Defines an enforced displacement value for static analysis and an enforced motion value (displacement, velocity or acceleration) in dynamic analysis.

1

2

3

4

5

6

7

8

SPCD

SID

G1

C1

D1

G2

C2

D2

SPCD

100

32

436

-2.6

5

2

.9

Creates an SPCD card, which defines the degree of freedoms to be set during enforced motion

Parameters
conidint

constraint id

nodesList[int]

GRID/SPOINT ids

componentsList[str]

the degree of freedoms to constrain (e.g., ‘1’, ‘123’)

enforcedList[float]

the constrained value for the given node (typically 0.0)

commentstr; default=’’

a comment for the card

.. note:: len(nodes) == len(components) == len(enforced)
.. warning:: Non-zero enforced deflection requires an SPC/SPC1 as well.

Yes, you really want to constrain the deflection to 0.0 with an SPC1 card and then reset the deflection using an SPCD card.

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

Adds a SPCD 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_loads()[source]
property node_ids

get the node ids

raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors, debug=True)[source]
type = 'SPCD'
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