axisymmetric_shells Module

digraph inheritance2d9a771f6b { bgcolor=transparent; rankdir=LR; size=""; "pyNastran.bdf.cards.base_card.BaseCard" [URL="../pyNastran.bdf.cards.base_card.html#pyNastran.bdf.cards.base_card.BaseCard",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a series of base methods for every card class"]; "pyNastran.bdf.cards.base_card.Element" [URL="../pyNastran.bdf.cards.base_card.html#pyNastran.bdf.cards.base_card.Element",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="defines the Element class"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.base_card.Element" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "pyNastran.bdf.cards.base_card.Element" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "pyNastran.bdf.cards.base_card.Element" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines an axisymmetric quadrilateral element with up to nine grid"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX4" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX4",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines an isoparametric and axisymmetric quadrilateral cross-section"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX4" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX8" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX8",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines an isoparametric and axisymmetric quadrilateral cross-section"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricQuad" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CQUADX8" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX3" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX3",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="+--------+------------+-------+----+----+----+-------+"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX3" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX6" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX6",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="+--------+-------+-------+----+----+----+----+----+-----+"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRAX6" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRIAX" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CTRIAX",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="+--------+------------+-------+----+----+----+----+----+-----+"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.AxisymmetricTri" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRIAX" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRIAX6" [URL="#pyNastran.bdf.cards.elements.axisymmetric_shells.CTRIAX6",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="+---------+-------+-------+----+----+----+----+----+-----+"]; "pyNastran.bdf.cards.elements.shell.TriShell" -> "pyNastran.bdf.cards.elements.axisymmetric_shells.CTRIAX6" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.shell.ShellElement" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "pyNastran.bdf.cards.base_card.Element" -> "pyNastran.bdf.cards.elements.shell.ShellElement" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.elements.shell.TriShell" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"]; "pyNastran.bdf.cards.elements.shell.ShellElement" -> "pyNastran.bdf.cards.elements.shell.TriShell" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
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.CQUADX(eid, pid, nids, theta_mcid=0.0, comment='')[source]

Bases: 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!

dummy init

Thickness()[source]

Returns the thickness

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

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

eid

Element ID

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

exports the elements in a vectorized way

flip_normal()[source]
1--5--2       1--8--4
|     |  -->  |     |
8  9  6       5  9  7
|     |       |     |
4--7--3       2--6--3
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, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Bases: 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!

dummy init

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

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

eid

Element ID

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

exports the elements in a vectorized way

flip_normal()[source]
1--5--2       1--8--4
|     |  -->  |     |
8  9  6       5  9  7
|     |       |     |
4--7--3       2--6--3
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, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Bases: 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!

dummy init

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

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

eid

Element ID

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

exports the elements in a vectorized way

flip_normal()[source]
1--5--2       1--8--4
|     |  -->  |     |
8     6       5     7
|     |       |     |
4--7--3       2--6--3
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, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Bases: AxisymmetricTri

1

2

3

4

5

6

7

CTRAX3

EID

PID

N1

N2

N3

THETA

CTRAX3 is NX only!

dummy init

Area()[source]

Get the area, \(A\).

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

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

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

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

eid

Element ID

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

exports the elements in a vectorized way

flip_normal()[source]
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, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Bases: 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!

dummy init

Area()[source]

Get the area, \(A\).

\[A = \frac{1}{2} \lvert (n_1-n_2) \times (n_1-n_3) \rvert\]
AreaCentroidNormal()[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:
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

eid

Element ID

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

exports the elements in a vectorized way

flip_normal()[source]
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, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Bases: 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!

dummy init

Area()[source]

Get the area, \(A\).

\[A = \frac{1}{2} \lvert (n_1-n_2) \times (n_1-n_3) \rvert\]
AreaCentroidNormal()[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:
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

eid

Element ID

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

exports the elements in a vectorized way

flip_normal()[source]
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, xref_errors)[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

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

dummy init

Area()[source]

Get the normal vector.

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

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

Centroid()[source]

Get the centroid.

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

Returns the mass per area

Mid()[source]

Returns the material ID

Todo

possibly remove this

Normal()[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()[source]

Returns the non-structural mass

Pid()[source]

Gets the Property ID of an element

Returns:
pidint

the Property ID

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

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

eid

Element ID

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

exports the elements in a vectorized way

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

Return the edge IDs

property node_ids

5

/ 6 4

/ 1—-2—-3

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

theta

theta

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