shell
Module¶
All shell elements are defined in this file. This includes:
- CTRIA3
- CTRIA6
- CSHEAR
- CQUAD
- CQUAD4
- CQUAD8
- CQUADR
- CPLTSN3
- CPLSTN4
- CPLSTN6
- CPLSTN8
- SNORM
All tris are TriShell, ShellElement, and Element objects. All quads are QuadShell, ShellElement, and Element objects.
-
class
pyNastran.bdf.cards.elements.shell.
CTRIA3
(eid, pid, nids, zoffset=0.0, theta_mcid=0.0, tflag=0, T1=None, T2=None, T3=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.TriShell
1 2 3 4 | 5 6 7 8 CTRIA3 EID PID N1 | N2 N3 THETA/MCID ZOFFSET TFLAG T1 T2 T3 Creates a CTRIA3 card
Parameters: - eid : int
element id
- pid : int
property id (PSHELL/PCOMP/PCOMPG)
- nids : List[int, int, int]
node ids
- zoffset : float; default=0.0
Offset from the surface of grid points to the element reference plane. Requires MID1 and MID2.
- theta_mcid : float; default=0.0
- float : material coordinate system angle (theta) is defined
relative to the element coordinate system
- int : x-axis from material coordinate system angle defined by
mcid is projected onto the element
- tflag : int; default=0
0 : Ti are actual user specified thicknesses 1 : Ti are fractions relative to the T value of the PSHELL
- T1 / T2 / T3 : float; default=None
If it is not supplied, then T1 through T3 will be set equal to the value of T on the PSHELL entry.
- comment : str; default=’‘
a comment for the card
-
_properties
= ['cp_name_map', '_field_map']¶
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CTRIA3 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
cp_name_map
= {'T1': 'T1', 'T2': 'T2', 'T3': 'T3'}¶
-
cross_reference
(self, model)[source]¶ Cross links the card so referenced cards can be extracted directly
Parameters: - model : BDF()
the BDF object
-
node_ids
¶
-
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
= 'CTRIA3'¶
-
class
pyNastran.bdf.cards.elements.shell.
CTRIA6
(eid, pid, nids, theta_mcid=0.0, zoffset=0.0, tflag=0, T1=None, T2=None, T3=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.TriShell
1 2 3 4 | 5 6 7 8 9 CTRIA3 EID PID N1 | N2 N3 N4 N5 N6 THETA/MCID ZOFFSET T1 T2 T3 Creates a CTRIA6 card
Parameters: - eid : int
element id
- pid : int
property id (PSHELL/PCOMP/PCOMPG)
- nids : List[int, int, int, int/None, int/None, int/None]
node ids
- zoffset : float; default=0.0
Offset from the surface of grid points to the element reference plane. Requires MID1 and MID2.
- theta_mcid : float; default=0.0
- float : material coordinate system angle (theta) is defined
relative to the element coordinate system
- int : x-axis from material coordinate system angle defined by
mcid is projected onto the element
- tflag : int; default=0
0 : Ti are actual user specified thicknesses 1 : Ti are fractions relative to the T value of the PSHELL
- T1 / T2 / T3 : float; default=None
If it is not supplied, then T1 through T3 will be set equal to the value of T on the PSHELL entry.
- comment : str; default=’‘
a comment for the card
-
AreaCentroidNormal
(self)[source]¶ Returns area, centroid, normal as it’s more efficient to do them together
-
Normal
(self)[source]¶ Get the normal vector, \(n\).
\[n = \frac{(n_0-n_1) \times (n_0-n_2)}{\lvert (n_0-n_1) \times (n_0-n_2) \lvert}\]
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CTRIA6 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
-
flip_normal
(self)[source]¶ Flips normal of element.
1 1 ** ** * * * * 4 6 --> 6 4 * * * * 2----5---3 3----5---2
-
node_ids
¶
-
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
= 'CTRIA6'¶
-
class
pyNastran.bdf.cards.elements.shell.
CSHEAR
(eid, pid, nids, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.QuadShell
1 2 3 4 | 5 6 7 CSHEAR EID PID N1 | N2 N3 N4 Creates a CSHEAR card
Parameters: - eid : int
element id
- pid : int
property id (PSHEAR)
- nids : List[int, int, int, int]
node ids
- comment : str; default=’‘
a comment for the card
-
Area
(self)[source]¶ - \[A = \frac{1}{2} \lvert (n_1-n_3) \times (n_2-n_4) \rvert\]
where a and b are the quad’s cross node point vectors
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CSHEAR 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
-
node_ids
¶
-
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
= 'CSHEAR'¶
-
class
pyNastran.bdf.cards.elements.shell.
CQUAD
(eid, pid, nids, theta_mcid=0.0, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.QuadShell
1 2 3 4 5 6 7 8 9 CQUAD EID PID G1 G2 G3 G4 G5 G6 G7 G8 G9 THETA/MCID theta_mcid is an MSC specific variable
Creates a CQUAD card
Parameters: - eid : int
element id
- pid : int
property id (PSHELL/PCOMP/PCOMPG)
- nids : List[int, int, int, int, int/None, int/None,
int/None, int/None, int/None]
node ids
- theta_mcid : float; default=0.0
- float : material coordinate system angle (theta) is defined
relative to the element coordinate system
- int : x-axis from material coordinate system angle defined by
mcid is projected onto the element
- comment : str; default=’‘
a comment for the card
-
Area
(self)[source]¶ - \[A = \frac{1}{2} \lvert (n_1-n_3) \times (n_2-n_4) \rvert\]
where a and b are the quad’s cross node point vectors
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CQUAD 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
-
node_ids
¶
-
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
= 'CQUAD'¶
-
class
pyNastran.bdf.cards.elements.shell.
CQUAD4
(eid, pid, nids, theta_mcid=0.0, zoffset=0.0, tflag=0, T1=None, T2=None, T3=None, T4=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.QuadShell
1 2 3 4 | 5 6 7 8 9 CQUAD4 EID PID N1 | N2 N3 N4 THETA/MCID ZOFFSET TFLAG T1 T2 T3 T4 Creates a CQUAD4 card
Parameters: - eid : int
element id
- pid : int
property id (PSHELL/PCOMP/PCOMPG)
- nids : List[int, int, int, int]
node ids
- zoffset : float; default=0.0
Offset from the surface of grid points to the element reference plane. Requires MID1 and MID2.
- theta_mcid : float; default=0.0
- float : material coordinate system angle (theta) is defined
relative to the element coordinate system
- int : x-axis from material coordinate system angle defined by
mcid is projected onto the element
- tflag : int; default=0
0 : Ti are actual user specified thicknesses 1 : Ti are fractions relative to the T value of the PSHELL
- T1 / T2 / T3 / T4 : float; default=None
If it is not supplied, then T1 through T4 will be set equal to the value of T on the PSHELL entry.
- comment : str; default=’‘
a comment for the card
-
_properties
= ['cp_name_map', '_field_map']¶
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CQUAD4 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
cp_name_map
= {'T1': 'T1', 'T2': 'T2', 'T3': 'T3', 'T4': 'T4'}¶
-
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
-
node_ids
¶
-
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
-
split_to_ctria3
(self, eida, eidb)[source]¶ Splits a CQUAD4 into two CTRIA3s
Todo
doesn’t consider theta_mcid if a float correctly (use an integer)
Todo
doesn’t optimize the orientation of the nodes yet…
-
type
= 'CQUAD4'¶
-
class
pyNastran.bdf.cards.elements.shell.
CQUAD8
(eid, pid, nids, theta_mcid=0.0, zoffset=0.0, tflag=0, T1=None, T2=None, T3=None, T4=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.QuadShell
1 2 3 4 5 6 7 8 9 CQUAD8 EID PID G1 G2 G3 G4 G5 G6 G7 G8 T1 T2 T3 T4 THETA/MCID ZOFFS TFLAG Creates a CQUAD8 card
Parameters: - eid : int
element id
- pid : int
property id (PSHELL/PCOMP/PCOMPG)
- nids : List[int, int, int, int, int/None, int/None, int/None, int/None]
node ids
- zoffset : float; default=0.0
Offset from the surface of grid points to the element reference plane. Requires MID1 and MID2.
- theta_mcid : float; default=0.0
- float : material coordinate system angle (theta) is defined
relative to the element coordinate system
- int : x-axis from material coordinate system angle defined by
mcid is projected onto the element
- tflag : int; default=0
0 : Ti are actual user specified thicknesses 1 : Ti are fractions relative to the T value of the PSHELL
- T1 / T2 / T3 / T4 : float; default=None
If it is not supplied, then T1 through T4 will be set equal to the value of T on the PSHELL entry.
- comment : str; default=’‘
a comment for the card
-
Area
(self)[source]¶ - \[A = \frac{1}{2} \lvert (n_1-n_3) \times (n_2-n_4) \rvert\]
where a and b are the quad’s cross node point vectors
-
AreaCentroid
(self)[source]¶ 1-----2 | /| | A1/ | | / | |/ A2 | 4-----3 centroid c = sum(ci*Ai)/sum(A) where: c=centroid A=area
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CQUAD8 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
-
node_ids
¶
-
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
= 'CQUAD8'¶
-
class
pyNastran.bdf.cards.elements.shell.
CQUADR
(eid, pid, nids, theta_mcid=0.0, zoffset=0.0, tflag=0, T1=None, T2=None, T3=None, T4=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.QuadShell
1 2 3 4 | 5 6 7 8 9 CQUADR EID PID N1 | N2 N3 N4 THETA/MCID ZOFFSET TFLAG T1 T2 T3 T4 Creates a CQUADR card
Parameters: - eid : int
element id
- pid : int
property id (PSHELL/PCOMP/PCOMPG)
- nids : List[int, int, int, int]
node ids
- zoffset : float; default=0.0
Offset from the surface of grid points to the element reference plane. Requires MID1 and MID2.
- theta_mcid : float; default=0.0
- float : material coordinate system angle (theta) is defined
relative to the element coordinate system
- int : x-axis from material coordinate system angle defined by
mcid is projected onto the element
- tflag : int; default=0
0 : Ti are actual user specified thicknesses 1 : Ti are fractions relative to the T value of the PSHELL
- T1 / T2 / T3 / T4 : float; default=None
If it is not supplied, then T1 through T4 will be set equal to the value of T on the PSHELL entry.
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CQUADR 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
-
node_ids
¶
-
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
= 'CQUADR'¶
-
class
pyNastran.bdf.cards.elements.shell.
CPLSTN3
(eid, pid, nids, theta=0.0, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.CPLSTx3
NX specific card
-
type
= 'CPLSTN3'¶
-
-
class
pyNastran.bdf.cards.elements.shell.
CPLSTN4
(eid, pid, nids, theta=0.0, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.CPLSTx4
-
type
= 'CPLSTN4'¶
-
-
class
pyNastran.bdf.cards.elements.shell.
CPLSTN6
(eid, pid, nids, theta=0.0, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.CPLSTx6
-
type
= 'CPLSTN6'¶
-
-
class
pyNastran.bdf.cards.elements.shell.
CPLSTN8
(eid, pid, nids, theta=0.0, comment='')[source]¶ Bases:
pyNastran.bdf.cards.elements.shell.CPLSTx8
-
type
= 'CPLSTN8'¶
-
-
pyNastran.bdf.cards.elements.shell.
_triangle_area_centroid_normal
(nodes, card)[source]¶ Gets the area, centroid and normal for a triangle.
Parameters: - nodes : List[np.ndarray]
List of three triangle vertices.
Returns: - area : float
Area of triangle.
- centroid : ndarray
Centroid of triangle.
- unit_normal : ndarray
Unit normal of triangles.
- card : CTRIA3(), CTRIA6()
the self parameter