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:
eid : int

element id

nids : List[int, int]

node ids; connected grid points at ends A and B

cna / cnb : str

independent DOFs in ‘123456’

cma / cmb : str

dependent DOFs in ‘123456’

alpha : float; default=0.0

coefficient of thermal expansion

comment : str; default=’‘

a comment for the card

Ga(self)[source]
Gb(self)[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:
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

dependent_nodes

gets the dependent node ids

independent_nodes

gets the independent node ids

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

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

type = 'RBAR'
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.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
Ga(self)[source]
Gb(self)[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:
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

dependent_nodes

gets the dependent node ids

independent_nodes

gets the independent node ids

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]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

type = 'RBAR1'
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.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:
eid : int

element id

Gni : List[int]

independent node ids

Cni : List[str]

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

Gmi : List[int]

dependent node ids

Cmi : List[str]

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

alpha : float; default=0.

thermal expansion coefficient

comment : str; default=’‘

a comment for the card

Gmi_node_ids
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:
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

dependent_nodes

gets the dependent node ids

independent_nodes

gets the independent node ids

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]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

type = 'RBE1'
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.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:
eid : int

element id

gn : int

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

cm : str

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

Gmi : List[int]

dependent nodes

alpha : float; default=0.0

???

Gmi_node_ids
Gn(self)[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:
card : BDFCard()

a BDFCard object

comment : str; 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(self, 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(self, model)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

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)

independent_nodes

gets the independent node ids

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]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

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

Removes cross-reference links

update(self, maps)[source]

Updates the card without xref

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

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

element id

refgrid : int

dependent node

refc : str

dependent components for refgrid???

GiJs : List[int, …, int]

independent nodes

comps : List[str, …, str]

independent components

weights : List[float, …, float]

weights for the importance of the DOF

Gmi : List[int, …, int]; default=None -> []

dependent nodes / UM Set

Cmi : List[str, …, str]; default=None -> []

dependent components / UM Set

alpha : float; default=0.0

thermal expansion coefficient

comment : str; default=’‘

a comment for the card

Gijs_node_ids
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:
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

dependent_nodes

gets the dependent node ids TODO: not checked

independent_nodes

gets the independent node ids TODO: not checked

raw_fields(self)[source]
ref_grid_id
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]
type = 'RBE3'
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

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:
eid : int

element id

nids : List[int, int]

node ids; connected grid points at ends A and B

cma / cmb : str; default=None

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

alpha : float; default=0.0

coefficient of thermal expansion

comment : str; default=’‘

a comment for the card

Ga(self)[source]
Gb(self)[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:
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

dependent_nodes

gets the dependent node ids

independent_nodes

gets the independent node ids

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]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

type = 'RROD'
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.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:
eid : int

element id

independent_nid : int

the independent node id

dependent_nids : List[int]

the dependent node ids

dependent_components : List[str]

Components to be constrained

diameter_ratio : float; default=0.1

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

comment : str; 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:
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

dependent_nodes

gets the dependent node ids

independent_nodes

gets the independent node ids

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]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

the BDF object

type = 'RSPLINE'
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.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:
eid : int

element id

rigid_type : str

GRID/ELEM

shell/solid_eid : int; default=None

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

shell/solid_grids : List[int, int]; default=None

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

comment : str; default=’‘

a comment for the card

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

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

dependent_nodes

gets the dependent node ids

independent_nodes

gets the independent node ids

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]

Cross links the card so referenced cards can be extracted directly

Parameters:
model : BDF()

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

Bases: pyNastran.bdf.cards.base_card.Element

dummy init

cross_reference(self, model)[source]