axisymmetric_shells Module

Inheritance diagram of pyNastran.bdf.cards.elements.axisymmetric_shells
All axisymmetric shell elements are defined in this file. This includes:
  • CTRAX3
  • CTRAX6
  • CTRIAX
  • CTRIAX6
  • CQUADX
  • CQUADX4
  • CQUADX8

All tris are TriShell, ShellElement, and Element objects. All quads are QuadShell, ShellElement, and Element objects.

class pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX3(eid, pid, nids, theta=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri

1 2 3 4 5 6 7
CTRAX3 EID PID N1 N2 N3 THETA

CTRAX3 is NX only!

Area(self)[source]

Get the area, \(A\).

\[A = \frac{1}{2} \lvert (n_1-n_2) \times (n_1-n_3) \rvert\]
AreaCentroidNormal(self)[source]

Returns area, centroid, normal as it’s more efficient to do them together

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
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 = 'CTRAX3'
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.axisymmetric_shells.CTRAX6(eid, pid, nids, theta=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri

1 2 3 4 5 6 7 8 9
CTRAX6 EID PID N1 N2 N3 N4 N5 N6
  THETA              

Theta/Mcid is NX only!

Area(self)[source]

Get the area, \(A\).

\[A = \frac{1}{2} \lvert (n_1-n_2) \times (n_1-n_3) \rvert\]
AreaCentroidNormal(self)[source]

Returns area, centroid, normal as it’s more efficient to do them together

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
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 = 'CTRAX6'
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.axisymmetric_shells.CTRIAX(eid, pid, nids, theta_mcid=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri

1 2 3 4 5 6 7 8 9
CTRIAX EID PID N1 N2 N3 N4 N5 N6
  THETA/MCID              

Theta/Mcid is MSC only!

Area(self)[source]

Get the area, \(A\).

\[A = \frac{1}{2} \lvert (n_1-n_2) \times (n_1-n_3) \rvert\]
AreaCentroidNormal(self)[source]

Returns area, centroid, normal as it’s more efficient to do them together

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
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 = 'CTRIAX'
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.axisymmetric_shells.CTRIAX6(eid, mid, nids, theta=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.shell.TriShell

1 2 3 4 | 5 6 7 8 9
CTRIAX6 EID MID N1 | N2 N3 G4 G5 G6
  THETA              

NX/MSC : Nodes are defined in a non-standard way:

    5
   /          6   4
/             1----2----3
Area(self)[source]

Get the normal vector.

\[A = \frac{1}{2} \lvert (n_1-n_3) \times (n_1-n_5) \rvert\]
AreaCentroidNormal(self)[source]

Returns area, centroid, normal as it’s more efficient to do them together

Centroid(self)[source]

Get the centroid.

\[CG = \frac{1}{3} (n_0+n_1+n_2)\]
Mass(self)[source]
\[m = \frac{m}{A} A \f]\]
MassPerArea(self)[source]

Returns the mass per area

Mid(self)[source]

Returns the material ID

Todo

possibly remove this

Normal(self)[source]

Get the normal vector, \(n\).

5

/

6 4

/

1—-2—-3

\[n = \frac{(n_0-n_1) \times (n_0-n_2)} {\lvert (n_0-n_1) \times (n_0-n_2) \lvert}\]
Nsm(self)[source]

Returns the non-structural mass

Pid(self)[source]

Gets the Property ID of an element

Returns:
pid : int

the Property ID

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
     5               5
    / \             / \
   6   4   -->     6   4
 /       \       /       \
1----2----3     1----2----3
get_edge_ids(self)[source]

Return the edge IDs

node_ids
5

/ 6 4

/ 1—-2—-3

pid = -53
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

theta = None

theta

type = 'CTRIAX6'
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.axisymmetric_shells.CQUADX(eid, pid, nids, theta_mcid=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad

Defines an axisymmetric quadrilateral element with up to nine grid points for use in fully nonlinear (i.e., large strain and large rotations) analysis or a linear harmonic or rotordynamic analysis. The element has between four and eight grid points

1 2 3 4 5 6 7 8 9
CQUADX EID PID N1 N2 N3 N4 G5 G6
  G7 G8 G9 THETA/MCID        

Theta/Mcid is MSC only!

Thickness(self)[source]

Returns the thickness

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
1--5--2       1--8--4
|     |  -->  |     |
8  9  6       5  9  7
|     |       |     |
4--7--3       2--6--3
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 = 'CQUADX'
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.axisymmetric_shells.CQUADX4(eid, pid, nids, theta=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad

Defines an isoparametric and axisymmetric quadrilateral cross-section ring element for use in linear and fully nonlinear (i.e., large strain and large rotations) hyperelastic analysis.

1 2 3 4 5 6 7 8
CQUADX4 EID PID N1 N2 N3 N4 THETA

CQUADX4 is an NX card only!

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
1--5--2       1--8--4
|     |  -->  |     |
8  9  6       5  9  7
|     |       |     |
4--7--3       2--6--3
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 = 'CQUADX4'
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.axisymmetric_shells.CQUADX8(eid, pid, nids, theta=0.0, comment='')[source]

Bases: pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad

Defines an isoparametric and axisymmetric quadrilateral cross-section ring element with midside nodes for use in linear and fully nonlinear (i.e., large strain and large rotations) hyperelastic analysis.

1 2 3 4 5 6 7 8 9
CQUADX8 EID PID N1 N2 N3 N4 G5 G6
  G7 G8 THETA          

CQUADX8 is an NX card only!

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

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

eid = None

Element ID

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

exports the elements in a vectorized way

flip_normal(self)[source]
1--5--2       1--8--4
|     |  -->  |     |
8     6       5     7
|     |       |     |
4--7--3       2--6--3
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 = 'CQUADX8'
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