static_loads Module

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

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

  • LOAD

  • GRAV

  • ACCEL

  • ACCEL1

  • FORCE / MOMENT

  • FORCE1 / MOMENT1

  • FORCE2 / MOMENT2

  • MOMENT

  • PLOAD

  • PLOAD2

  • PLOAD4

class pyNastran.bdf.cards.loads.static_loads.ACCEL(sid, N, direction, locs, vals, cid=0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Acceleration Load

Defines static acceleration loads, which may vary over a region of the structural model. The load variation is based upon the tabular input defined on this Bulk Data entry.

1

2

3

4

5

6

7

8

9

ACCEL

SID

CID

N1

N2

N3

DIR

LOC1

VAL1

LOC2

VAL2

Continues in Groups of 2

ACCEL

100

2

0.0

1.0

2.0 | X | |

1.0

1.1

2.0

2.1

3.0

3.1

4.0

4.1

Creates an ACCEL card

Parameters
sidint

load id

N(3, ) float ndarray

the acceleration vector in the cid frame

directionstr

Component direction of acceleration variation {X, Y, Z}

locsList[float]

Location along direction DIR in coordinate system CID for specification of a load scale factor.

valsList[float]

The load scale factor associated with location LOCi

cidint; default=0

the coordinate system for the load

commentstr; default=’’

a comment for the card

Cid()[source]
N = None

Components of the acceleration vector measured in coordinate system CID. (Real; at least one Ni != 0)

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cid = None

Coordinate system identification number. (Integer>0: Default=0)

cross_reference(model: BDF) → None[source]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

direction = None

Component direction of acceleration variation. (Character; one of X,Y or Z)

get_loads()[source]
raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors, debug=True)[source]
sid = None

Load set identification number (Integer>0)

type = 'ACCEL'
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.static_loads.ACCEL1(sid, scale, N, nodes, cid=0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Acceleration Load

Defines static acceleration loads at individual GRID points.

1

2

3

4

5

6

7

ACCEL1

SID

CID

A

N1

N2

N3

GRIDID1

GRIDID2

etc

Creates an ACCEL1 card

Parameters
sidint

load id

scalefloat

scale factor for load

N(3, ) float ndarray

the acceleration vector in the cid frame

directionstr

Component direction of acceleration variation {X, Y, Z}

nodesList[int]

the nodes to apply acceleration to

cidint; default=0

the coordinate system for the load

commentstr; default=’’

a comment for the card

Cid()[source]
N = None

Components of the acceleration vector measured in coordinate system CID. (Real; at least one Ni != 0)

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cid = None

Coordinate system identification number. (Integer>0: Default=0)

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
nodes = None

nodes to apply the acceleration to

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

Acceleration vector scale factor. (Real)

sid = None

Load set identification number (Integer>0)

type = 'ACCEL1'
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.static_loads.CLOAD(sid, scale, scale_factors, load_ids, comment='')[source]

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

Static Load Combination for Superelement Loads (Superposition)

references excite ids (e.g., an LSEQ); looks like a LOAD

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

classmethod _init_from_empty()[source]
cross_reference(model: BDF) → None[source]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

get_load_ids()[source]

xref/non-xref way to get the load ids

raw_fields()[source]
safe_cross_reference(model: BDF, xref_errors, debug=True)[source]
type = 'CLOAD'
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.static_loads.FORCE(sid, node, mag, xyz, cid=0, comment='')[source]

Bases: pyNastran.bdf.cards.loads.static_loads.Load0

Defines a static concentrated force at a grid point by specifying a scale factor and a vector that determines the direction.

1

2

3

4

5

6

7

8

FORCE

SID

NODE

CID

MAG

FX

FY

FZ

FORCE

3

1

Creates a FORCE card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

xyz(3, ) float ndarray

the load direction in the cid frame

cidint; default=0

the coordinate system for the load

commentstr; default=’’

a comment for the card

type = 'FORCE'
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.static_loads.FORCE1(sid, node, mag, g1, g2, comment='')[source]

Bases: pyNastran.bdf.cards.loads.static_loads.Load1

Defines a static concentrated force at a grid point by specification of a magnitude and two grid points that determine the direction.

1

2

3

4

5

6

FORCE1

SID

G

F

G1

G2

FORCE1

6

13

-2.93

16

13

Creates a FORCE1 card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

n1 / n2int / int

defines the load direction n = n2 - n1

commentstr; default=’’

a comment for the card

type = 'FORCE1'
class pyNastran.bdf.cards.loads.static_loads.FORCE2(sid, node, mag, g1, g2, g3, g4, comment='')[source]

Bases: pyNastran.bdf.cards.loads.static_loads.Load2

Defines a static concentrated force at a grid point by specification of a magnitude and four grid points that determine the direction.

1

2

3

4

5

6

7

8

FORCE2

SID

G

F

G1

G2

G3

G4

Creates a FORCE2/MOMENT2 card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

g1 / g2 / g3 / g4int / int / int / int

defines the load direction n = (g2 - g1) x (g4 - g3)

commentstr; default=’’

a comment for the card

_properties = ['scaled_vector', 'node_id', 'node_ids']
type = 'FORCE2'
class pyNastran.bdf.cards.loads.static_loads.GRAV(sid, scale, N, cid=0, mb=0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines acceleration vectors for gravity or other acceleration loading.

1

2

3

4

5

6

7

8

GRAV

SID

CID

A

N1

N2

N3

MB

GRAV

1

3

32.2

0.0

0.0

-1.0

Creates an GRAV card

Parameters
sidint

load id

scalefloat

scale factor for load

N(3, ) float ndarray

the acceleration vector in the cid frame

cidint; default=0

the coordinate system for the load

mbint; default=0

???

commentstr; default=’’

a comment for the card

Cid()[source]
GravityVector()[source]

returns the gravity vector in absolute coordinates

N = None

Acceleration vector components measured in coordinate system CID

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cid = None

Coordinate system identification number.

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]
mb = None

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. See Remark 10. (Integer; Default = 0)

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, debug=True)[source]
scale = None

scale factor

sid = None

Set identification number

type = 'GRAV'
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.static_loads.LOAD(sid, scale, scale_factors, load_ids, comment='')[source]

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

1

2

3

4

5

6

7

8

9

LOAD

SID

S

S1

L1

S2

L2

S3

L3

S4

L4

etc.

LOAD

101

-0.5

1.0

3

6.2

4

Creates a LOAD card

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

.. note:: MSC can handle self-referencing loads, NX cannot
classmethod _init_from_empty()[source]
cross_reference(model: BDF) → None[source]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

get_load_types()[source]

Note

requires a cross referenced load

get_reduced_loads(resolve_load_card=False, filter_zero_scale_factors=False)[source]

Get all load objects in a simplified form, which means all scale factors are already applied and only base objects (no LOAD cards) will be returned.

Parameters
resolve_load_cardbool; default=False

Nastran requires that LOAD cards do not reference other load cards This feature can be enabled.

filter_zero_scale_factorsbool; default=False

Nastran does not filter loads with a 0.0 scale factor. So, if you have a 0.0 load, but are missing load ids, Nastran will throw a fatal error.

.. todo:: lots more object types to support
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, debug=True)[source]
type = 'LOAD'
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.static_loads.Load0(sid, node, mag, xyz, cid=0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

common class for FORCE, MOMENT

Creates a FORCE/MOMENT card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

xyz(3, ) float ndarray

the load direction in the cid frame

cidint; default=0

the coordinate system for the load

commentstr; default=’’

a comment for the card

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

Adds a FORCE/MOMENT 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

classmethod export_to_hdf5(h5_file, model, loads)[source]

exports the loads in a vectorized way

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, debug=True)[source]
property scaled_vector
to_global()[source]
uncross_reference() → None[source]

Removes cross-reference links

validate()[source]

card checking method that should be overwritten

class pyNastran.bdf.cards.loads.static_loads.Load1(sid, node, mag, g1, g2, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

common class for FORCE1, MOMENT1

Creates a FORCE1/MOMENT1 card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

n1 / n2int / int

defines the load direction n = n2 - n1

commentstr; default=’’

a comment for the card

G1()[source]
G2()[source]
classmethod _init_from_empty()[source]
_properties = ['node_id', 'node_ids', 'scaled_vector']
classmethod add_card(card, comment='')[source]

Adds a FORCE1/MOMENT1 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
property 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, safe_coord, debug=True)[source]

Todo

cross reference and fix repr function

property scaled_vector
to_global()[source]
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.static_loads.Load2(sid, node, mag, g1, g2, g3, g4, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

common class for FORCE2, MOMENT2

Creates a FORCE2/MOMENT2 card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

g1 / g2 / g3 / g4int / int / int / int

defines the load direction n = (g2 - g1) x (g4 - g3)

commentstr; default=’’

a comment for the card

G1()[source]
G2()[source]
G3()[source]
G4()[source]
classmethod _init_from_empty()[source]
_properties = ['node_id', 'node_ids']
classmethod add_card(card, comment='')[source]

Adds a FORCE2/MOMENT2 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
property 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, safe_coord, debug=True)[source]

Todo

cross reference and fix repr function

property scaled_vector
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.static_loads.MOMENT(sid, node, mag, xyz, cid=0, comment='')[source]

Bases: pyNastran.bdf.cards.loads.static_loads.Load0

Defines a static concentrated moment at a grid point by specifying a scale factor and a vector that determines the direction.

1

2

3

4

5

6

7

8

MOMENT

SID

G

CID

M

N1

N2

N3

MOMENT

2

5

6

2.9

0.0

1.0

0.0

Creates a MOMENT card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

xyz(3, ) float ndarray

the load direction in the cid frame

cidint; default=0

the coordinate system for the load

commentstr; default=’’

a comment for the card

property node_id
property node_ids

all the nodes referenced by the load

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

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

type = 'MOMENT'
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.static_loads.MOMENT1(sid, node, mag, g1, g2, comment='')[source]

Bases: pyNastran.bdf.cards.loads.static_loads.Load1

Defines a static concentrated moment at a grid point by specifying a magnitude and two grid points that determine the direction.

1

2

3

4

5

6

MOMENT1

SID

G

M

G1

G2

MOMENT1

6

13

-2.93

16

13

Creates a MOMENT1 card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

n1 / n2int / int

defines the load direction n = n2 - n1

commentstr; default=’’

a comment for the card

type = 'MOMENT1'
class pyNastran.bdf.cards.loads.static_loads.MOMENT2(sid, node, mag, g1, g2, g3, g4, comment='')[source]

Bases: pyNastran.bdf.cards.loads.static_loads.Load2

Defines a static concentrated moment at a grid point by specification of a magnitude and four grid points that determine the direction.

1

2

3

4

5

6

7

8

MOMENT2

SID

G

M

G1

G2

G3

G4

Creates a FORCE2/MOMENT2 card

Parameters
sidint

load id

nodeint

the node to apply the load to

magfloat

the load’s magnitude

g1 / g2 / g3 / g4int / int / int / int

defines the load direction n = (g2 - g1) x (g4 - g3)

commentstr; default=’’

a comment for the card

_properties = ['scaled_vector', 'node_id', 'node_ids']
type = 'MOMENT2'
class pyNastran.bdf.cards.loads.static_loads.PLOAD(sid, pressure, nodes, comment='')[source]

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

Static Pressure Load

Defines a uniform static pressure load on a triangular or quadrilateral surface comprised of surface elements and/or the faces of solid elements.

1

2

3

4

5

6

7

PLOAD

SID

P

G1

G2

G3

G4

PLOAD

1

-4.0

16

32

11

Creates a PLOAD card, which defines a uniform pressure load on a shell/solid face or arbitrarily defined quad/tri face.

Parameters
sidint

load id

pressurefloat

the pressure to apply

nodesList[int]

The nodes that are used to define the normal are defined using the same method as the CTRIA3/CQUAD4 normal. n = 3 or 4

commentstr; default=’’

a comment for the card

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

Adds a PLOAD 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, safe_coord)[source]
type = 'PLOAD'
static uncross_reference() → None[source]

Removes cross-reference links

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

The writer method used by BDF.write_card()

Parameters
sizeint; default=8

the size of the card (8/16)

class pyNastran.bdf.cards.loads.static_loads.PLOAD1(sid, eid, load_type, scale, x1, p1, x2=None, p2=None, comment='')[source]

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

Applied Load on CBAR, CBEAM or CBEND Elements

Defines concentrated, uniformly distributed, or linearly distributed applied loads to the CBAR or CBEAM elements at user-chosen points along the axis. For the CBEND element, only distributed loads over an entire length may be defined.

1

2

3

4

5

6

7

8

9

PLOAD1

SID

EID

TYPE

SCALE

X1

P1

X2

P2

PLOAD1

25

1065

MY

FRPR

0.2

2.5E3

0.8

3.5E3

Creates a PLOAD1 card, which may be applied to a CBAR/CBEAM

Parameters
sidint

load id

eidint

element to apply the load to

load_typestr

type of load that’s applied valid_types = {FX, FY, FZ, FXE, FYE, FZE,

MX, MY, MZ, MXE, MYE, MZE}

scalestr

Determines scale factor for X1, X2. {LE, FR, LEPR, FRPR}

x1 / x2float / float

the starting/end position for the load application the default for x2 is x1

p1 / p2float / float

the magnitude of the load at x1 and x2 the default for p2 is p1

commentstr; default=’’

a comment for the card

Point Loadx1 == x2
Distributed Loadx1 != x2
Eid()[source]
property Type
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a PLOAD1 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, safe_coord)[source]
type = 'PLOAD1'
uncross_reference() → None[source]

Removes cross-reference links

valid_scales = ['LE', 'FR', 'LEPR', 'FRPR']
valid_types = ['FX', 'FY', 'FZ', 'FXE', 'FYE', 'FZE', 'MX', 'MY', 'MZ', 'MXE', 'MYE', 'MZE']
validate()[source]

card checking method that should be overwritten

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

The writer method used by BDF.write_card()

Parameters
sizeint; default=8

the size of the card (8/16)

class pyNastran.bdf.cards.loads.static_loads.PLOAD2(sid: int, pressure: float, eids: List[int], comment: str = '')[source]

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

1

2

3

4

5

6 | 7

8

9

PLOAD2

SID

P

EID1

EID2

EID3 | EID4

EID5

EID6

PLOAD2

21

-3.6

4

16

2

PLOAD2

SID

P

EID1

THRU

EID2

Creates a PLOAD2 card, which defines an applied load normal to the quad/tri face

Parameters
sidint

load id

pressurefloat

the pressure to apply to the elements

eidsList[int]

the elements to apply pressure to n < 6 or a continouus monotonic list of elements (e.g., [1, 2, …, 1000])

commentstr; default=’’

a comment for the card

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

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

property element_ids
get_loads()[source]
raw_fields() → List[Any][source]
raw_fields_separate(model: BDF) → List[List[Any]][source]
repr_fields() → List[Any][source]

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, xref_errors: Dict[Any, Any]) → None[source]
type = 'PLOAD2'
uncross_reference() → None[source]

Removes cross-reference links

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

The writer method used by BDF.write_card()

Parameters
sizeint; default=8

the size of the card (8/16)

write_card_separate(model: BDF, size: int = 8, is_double: bool = False) → str[source]
class pyNastran.bdf.cards.loads.static_loads.PLOAD4(sid, eids, pressures, g1, g34, cid=0, nvector=None, surf_or_line='SURF', line_load_dir='NORM', comment='')[source]

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

Solid Format

Defines a pressure load on a face of a CHEXA, CPENTA, or CTETRA element.

1

2

3

4

5

6

7

8

9

PLOAD4

SID

EID

P1

P2

P3

P4

G1

G3/G4

CID

N1

N2

N3

SORL

LDIR

Shell Format

Defines a pressure load on a face of a CTRIA3, CTRIA6, CTRIAR, CQUAD4, CQUAD8, or CQUADR element.

1

2

3

4

5

6

7

8

9

PLOAD4

SID

EID

P1

P2

P3

P4

THRU

EID2

CID

N1

N2

N3

SORL

LDIR

Warning

NX does not support SORL and LDIR, MSC does

Creates a PLOAD4 card

Parameters
sidint

the load id

eidsList[int, …]

shells : the range of element ids; must be sequential solids : must be length 1

pressuresList[float, float, float, float] / float

float : turned into a list of length 4 List[float] :

tri : must be length 4 (the last value should be the same as the 0th value) quad : must be length 4

g1int/None

only used for solid elements

g34int / None

only used for solid elements

cidint; default=0

the coordinate system for nvector

nvector(3, ) float ndarray

blank : load acts normal to the face float : the local pressure vector

surf_or_linestr; default=’SURF’

SURF : surface load LINE : line load (only defined for QUADR, TRIAR) not supported

line_load_dirstr; default=’NORM’

direction of the line load (see surf_or_line); {X, Y, Z, TANG, NORM} not supported

commentstr; default=’’

a comment for the card

TODO: fix the way “pressures” works
Cid()[source]

gets the coordinate system object

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cid = None

Coordinate system identification number. See Remark 2. (Integer >= 0;Default=0)

cross_reference(model: BDF) → None[source]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

property element_ids
g1 = None

used for solid element only

g34 = None

g3/g4 - different depending on CHEXA/CPENTA or CTETRA

get_element_ids(eid=None)[source]
get_loads()[source]
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, debug=True)[source]
type = 'PLOAD4'
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]

The writer method used by BDF.write_card()

Parameters
sizeint; default=8

the size of the card (8/16)

pyNastran.bdf.cards.loads.static_loads.normalize(self, msg: str = '')[source]

adjust the vector to a unit length scale up the magnitude of the vector

pyNastran.bdf.cards.loads.static_loads.update_pload4_vector(pload4: pyNastran.bdf.cards.loads.static_loads.PLOAD4, normal, cid: int)[source]

helper method