rigid Module

Inheritance diagram of pyNastran.bdf.cards.elements.rigid

All rigid elements are defined in this file. This includes:

  • RBAR

  • RBAR1

  • RBE1

  • RBE2

  • RBE3

  • RSPLINE

  • RSSCON

All rigid elements are RigidElement and Element objects.

class pyNastran.bdf.cards.elements.rigid.RBAR(eid, nids, cna, cnb, cma, cmb, alpha=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

Defines a rigid bar with six degrees-of-freedom at each end.

1

2

3

4

5

6

7

8

9

RBAR

EID

GA

GB

CNA

CNB

CMA

CMB

ALPHA

RBAR

5

1

2

123456

6.5-6

Creates a RBAR element

Parameters
eidint

element id

nidsList[int, int]

node ids; connected grid points at ends A and B

cna / cnbstr

independent DOFs in ‘123456’

cma / cmbstr

dependent DOFs in ‘123456’

alphafloat; default=0.0

coefficient of thermal expansion

commentstr; default=’’

a comment for the card

Ga()[source]
Gb()[source]
classmethod _init_from_empty()[source]
_properties = ['dependent_nodes', 'independent_nodes', 'nodes']
classmethod add_card(card, comment='')[source]

Adds a RBAR 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 dependent_nodes

gets the dependent node ids

property independent_nodes

gets the independent node ids

property nodes
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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RBAR'
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.elements.rigid.RBAR1(eid, nids, cb, alpha=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

1

2

3

4

5

6

RBAR1

EID

GA

GB

CB

ALPHA

RBAR1

5

1

2

123

6.5-6

dummy init

Ga()[source]
Gb()[source]
classmethod _init_from_empty()[source]
_properties = ['dependent_nodes', 'independent_nodes', 'nodes']
classmethod add_card(card, comment='')[source]

Adds a RBAR1 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 dependent_nodes

gets the dependent node ids

property independent_nodes

gets the independent 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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RBAR1'
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.elements.rigid.RBE1(eid, Gni, Cni, Gmi, Cmi, alpha=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

1

2

3

4

5

6

7

8

RBE1

EID

GN1

CN1

GN2

CN2

GN3

CN3

GN4

CN4

GN5

CN5

GN6

CN6

UM

GM1

CM1

GM2

CM2

GM3

CM3

GM4

CM4

etc

ALPHA

RBE1

59

59

123

60

456

UM

61

246

Creates an RBE1 element

Parameters
eidint

element id

GniList[int]

independent node ids

CniList[str]

the independent components (e.g., ‘123456’)

GmiList[int]

dependent node ids

CmiList[str]

the dependent components (e.g., ‘123456’)

alphafloat; default=0.

thermal expansion coefficient

commentstr; default=’’

a comment for the card

property Gmi_node_ids
property Gni_node_ids
classmethod _init_from_empty()[source]
_properties = ['Gmi_node_ids', 'Gni_node_ids', 'dependent_nodes', 'independent_nodes']
classmethod add_card(card, comment='')[source]

Adds a RBE1 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 dependent_nodes

gets the dependent node ids

property independent_nodes

gets the independent 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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RBE1'
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.elements.rigid.RBE2(eid, gn, cm, Gmi, alpha=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

1

2

3

4

5

6

7

8

9

RBE2

EID

GN

CM

GM1

GM2

GM3

GM4

GM5

GM6

GM7

GM8

etc.

ALPHA

Creates an RBE2 element

Parameters
eidint

element id

gnint

Identification number of grid point to which all six independent degrees-of-freedom for the element are assigned.

cmstr

Component numbers of the dependent degrees-of-freedom in the global coordinate system at grid points GMi.

GmiList[int]

dependent nodes

alphafloat; default=0.0

???

property Gmi_node_ids
Gn()[source]
classmethod _init_from_empty()[source]
_properties = ['Gmi_node_ids', 'dependent_nodes', 'independent_nodes']
classmethod add_card(card, comment='')[source]

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cm = None

Component numbers of the dependent degrees-of-freedom in the global coordinate system at grid points GMi. (Integers 1 through 6 with no embedded blanks.)

convert_to_mpc(mpc_id)[source]
\[-A_i u_i + A_j u_j = 0\]

where \(u_i\) are the base DOFs (max=6)

1

2

3

4

5

6

7

8

MPC

sid

g1

c1

a1

g2

c2

a2

RBE2

eid

gn

cm

g1

g2

g3

g4

cross_reference(model: BDF) → None[source]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

property dependent_nodes

gets the dependent node ids

eid = None

Element identification number

gn = None

Identification number of grid point to which all six independent degrees-of-freedom for the element are assigned. (Integer > 0)

property independent_nodes

gets the independent 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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RBE2'
uncross_reference() → None[source]

Removes cross-reference links

update(maps)[source]

Updates the card without xref

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=False)[source]
class pyNastran.bdf.cards.elements.rigid.RBE3(eid: int, refgrid: int, refc: str, weights: List[float], comps: List[str], Gijs: List[int], Gmi=None, Cmi=None, alpha: float = 0.0, tref: float = 0.0, comment: str = '')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

Todo

not done, needs testing badly

1

2

3

4

5

6

7

8

9

RBE3

EID

REFGRID

REFC

WT1

C1

G1,1

G1,2

G1,3

WT2

C2

G2,1

G2,2

etc.

WT3

C3

G3,1

G3,2

etc.

WT4

C4

G4,1

G4,2

etc.

‘UM’

GM1

CM1

GM2

CM2

GM3

CM3

GM4

CM4

GM5

CM5

etc.

‘ALPHA’

ALPHA

Creates an RBE3 element

Parameters
eidint

element id

refgridint

dependent node

refcstr

dependent components for refgrid???

GiJsList[int, …, int]

independent nodes

compsList[str, …, str]

independent components

weightsList[float, …, float]

weights for the importance of the DOF

GmiList[int, …, int]; default=None -> []

dependent nodes / UM Set

CmiList[str, …, str]; default=None -> []

dependent components / UM Set

alphafloat; default=0.0

thermal expansion coefficient

treffloat; default=0.0

reference temperature (new in MSC 2021)

commentstr; default=’’

a comment for the card

property Gijs_node_ids
property Gmi_node_ids
classmethod _init_from_empty()[source]
_properties = ['wt_cg_groups', 'ref_grid_id', 'Gijs_node_ids', 'dependent_nodes', 'independent_nodes']
classmethod add_card(card, comment='')[source]

Adds a RBE3 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 dependent_nodes

gets the dependent node ids TODO: not checked

property independent_nodes

gets the independent node ids TODO: not checked

raw_fields()[source]
property ref_grid_id
repr_fields()[source]

Gets the fields in their simplified form

Returns
fieldsList[varies]

the fields that define the card

safe_cross_reference(model: BDF, debug: bool = True) → int[source]
type = 'RBE3'
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

property wt_cg_groups
class pyNastran.bdf.cards.elements.rigid.RROD(eid, nids, cma=None, cmb=None, alpha=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

Rigid Pin-Ended Element Connection Defines a pin-ended element that is rigid in translation

1

2

3

4

5

6

7

RROD

EID

GA

GB

CMA

CMB

ALPHA

RROD

5

1

2

6.5-6

Creates a RROD element

Parameters
eidint

element id

nidsList[int, int]

node ids; connected grid points at ends A and B

cma / cmbstr; default=None

dependent DOF must be in [None, ‘1’, ‘2’, ‘3’] one of them must be None

alphafloat; default=0.0

coefficient of thermal expansion

commentstr; default=’’

a comment for the card

Ga()[source]
Gb()[source]
classmethod _init_from_empty()[source]
_properties = ['dependent_nodes', 'independent_nodes']
classmethod add_card(card, comment='')[source]

Adds a RROD 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 dependent_nodes

gets the dependent node ids

property independent_nodes

gets the independent 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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RROD'
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.elements.rigid.RSPLINE(eid, independent_nid, dependent_nids, dependent_components, diameter_ratio=0.1, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

Creates a RSPLINE card, which uses multipoint constraints for the interpolation of displacements at grid points

Parameters
eidint

element id

independent_nidint

the independent node id

dependent_nidsList[int]

the dependent node ids

dependent_componentsList[str]

Components to be constrained

diameter_ratiofloat; default=0.1

Ratio of the diameter of the elastic tube to the sum of the lengths of all segments

commentstr; default=’’

a comment for the card

classmethod _init_from_empty()[source]
_properties = ['dependent_nodes', 'independent_nodes']

Defines multipoint constraints for the interpolation of displacements at grid points.

1

2

3

4

5

6

7

8

9

RSPLINE

EID

D/L

G1

G2

C2

G3

C3

G4

C4

G5

C5

G6

etc.

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

Adds a RSPLINE 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 dependent_nodes

gets the dependent node ids

property independent_nodes

gets the independent 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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RSPLINE'
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.elements.rigid.RSSCON(eid, rigid_type, shell_eid=None, solid_eid=None, a_solid_grids=None, b_solid_grids=None, shell_grids=None, comment='')[source]

Bases: pyNastran.bdf.cards.elements.rigid.RigidElement

Creates an RSSCON card, which defines multipoint constraints to model clamped connections of shell-to-solid elements.

Parameters
eidint

element id

rigid_typestr

GRID/ELEM

shell/solid_eidint; default=None

the shell/solid element id (if rigid_type=ELEM)

shell/solid_gridsList[int, int]; default=None

the shell/solid node ids (if rigid_type=GRID)

commentstr; default=’’

a comment for the card

B—-S—-A
EidShell()[source]
EidSolid()[source]
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds a RSSCON 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 dependent_nodes

gets the dependent node ids

property independent_nodes

gets the independent 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]

Cross links the card so referenced cards can be extracted directly

Parameters
modelBDF()

the BDF object

type = 'RSSCON'

Defines multipoint constraints to model clamped connections of shell-to-solid elements.

1

2

3

4

5

6

7

8

9

RSSCON

RBID

TYPE

ES1

EA1

EB1

ES2

EA2

EB2

RSSCON

110

GRID

11

12

13

14

15

16

RSSCON

111

GRID

31

74

75

RSSCON

115

ELEM

311

741

RSSCON

116

INTC

2

1

3

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.elements.rigid.RigidElement[source]

Bases: pyNastran.bdf.cards.base_card.Element

dummy init

cross_reference(model: BDF) → None[source]