zona
Module¶
- All ZONA aero cards are defined in this file. This includes:
- TRIM
All cards are BaseCard objects.
-
class
pyNastran.bdf.cards.aero.zona.
ACOORD
(cid, origin, delta, theta, comment='')[source]¶ Bases:
pyNastran.bdf.cards.coordinate_systems.Coord
Defines a general coordinate system using three rotational angles as functions of coordinate values in the reference coordinate system. The CORD3G entry is used with the MAT9 entry to orient material principal axes for 3-D composite analysis.
1 2 3 4 5 6 7 8 ACOORD ID XORIGN YORIGN ZORIGN DELTA THETA ACOORD 10 250.0 52.5 15.0 0.0 0.0 Defines the CORD3G card
Parameters: - cid : int
coordinate system id
- origin : List[float]
the xyz origin
- delta : float
pitch angle
- theta : float
roll angle
- comment : str; default=’‘
a comment for the card
-
Type
= 'R'¶
-
acoord_transform_to_global
(self, p)[source]¶ Parameters: - p : (3,) float ndarray
the point to transform
- .. warning:: not done, just setting up how you’d do this
- .. note:: per http://en.wikipedia.org/wiki/Euler_angles
“This means for example that a convention named (YXZ) is the result of performing first an intrinsic Z rotation, followed by X and Y rotations, in the moving axes (Note: the order of multiplication of matrices is the opposite of the order in which they’re applied to a vector).”
-
classmethod
add_card
(card, comment='')[source]¶ Adds a ACOORD 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
-
rid
¶
-
setup
(self)[source]¶ - \[e_{13} = e_3 - e_1\]\[e_{12} = e_2 - e_1\]\[k = \frac{e_{12}}{\lvert e_{12} \rvert}\]\[j_{dir} = k \times e_{13}\]\[j = \frac{j_{dir}}{\lvert j_{dir} \rvert}\]\[i = j \times k\]
-
type
= 'ACOORD'¶
-
class
pyNastran.bdf.cards.aero.zona.
AEROZ
(fm_mass_unit, fm_length_unit, cref, bref, sref, flip='NO', acsid=0, rcsid=0, sym_xz=0, xyz_ref=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.dynamic_loads.Aero
Gives basic aerodynamic parameters for unsteady aerodynamics.
1 2 3 4 5 6 7 8 AEROS ACSID RCSID REFC REFB REFS SYMXZ SYMXY AEROS 10 20 1 Creates an AEROZ card
Parameters: - cref : float
the aerodynamic chord
- bref : float
the wing span for a half model, this should be the full span for a full model, this should be the full span
- sref : float
the wing area for a half model, this should be the half area for a full model, this should be the full area
- acsid : int; default=0
aerodyanmic coordinate system defines the direction of the wind
- rcsid : int; default=0
coordinate system for rigid body motions
- sym_xz : int; default=0
xz symmetry flag (+1=symmetry; -1=antisymmetric)
- comment : str; default=’‘
a comment for the card
-
acsid
= None¶ Aerodynamic coordinate system identification.
-
classmethod
add_card
(card, comment='')[source]¶ Adds an AEROZ card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
- $ ACSID XZSYM FLIP FMMUNIT FMLUNIT REFC REFB REFS
- $+ABC REFX REFY REFZ
- AEROZ 0 YES NO SLIN IN 22.73 59.394 1175.8
59.53 0.0 0.0
-
bref
= None¶ Reference span
-
cref
= None¶ Reference chord length
-
cross_reference
(self, model)[source]¶ Cross refernece aerodynamic coordinate system.
Parameters: - model : BDF
The BDF object.
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list[varies]
the fields that define the card
-
rcsid
= None¶ Reference coordinate system identification for rigid body motions.
-
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]¶ Safe cross refernece aerodynamic coordinate system.
Parameters: - model : BDF
The BDF object.
-
sref
= None¶ Reference wing area
-
sym_xz
= None¶ Symmetry key for the aero coordinate x-z plane. See Remark 6. (Integer = +1 for symmetry, 0 for no symmetry, and -1 for antisymmetry; Default = 0)
-
type
= 'AEROZ'¶
-
class
pyNastran.bdf.cards.aero.zona.
AESURFZ
(label, surface_type, cid, panlst, setg, actuator_tf, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Specifies an aerodynamic control surface for aeroservoelastic, static aeroelastic/trim analysis, or the transient response analysis.
1 2 3 4 5 6 7 8 9 AESURFZ LABEL TYPE CID SETK SETG ACTID AESURFZ RUDDER ASYM 1 10 20 0 Creates an AESURF card, which defines a control surface
Parameters: - label : str
controller name
- surface_type : str
defines the control surface type {SYM, ASYM}
- cid : int
coordinate system id to define the hinge axis
- panlst : int
aero panels defined by PANLST
- setg : int
???
- actuator_tf : int
???
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds an AESURF card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
aesid
¶
-
alid1_ref
¶
-
cid
= None¶ Identification number of a rectangular coordinate system with a y-axis that defines the hinge line of the control surface component.
-
convert_to_nastran
(self, model, aesurf_id, aelist_id)[source]¶ 1 2 3 4 5 6 7 8 9 AESURF ID LABEL CID1 ALID1 CID2 ALID2 EFF LDW CREFC CREFS PLLIM PULIM HMLLIM HMULIM TQLLIM TQULIM 1 2 3 4 5 6 7 AESURFZ LABEL TYPE CID SETK SETG ACTID AESURFZ RUDDER ASYM 1 10 20 0
-
cross_reference
(self, model)[source]¶ Cross links the card so referenced cards can be extracted directly
Parameters: - model : BDF()
the BDF object
-
label
= None¶ Controller name.
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fieldsreset_camera[int/float/str]
the fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[int/float/str]
the fields that define the card
-
type
= 'AESURFZ'¶
-
class
pyNastran.bdf.cards.aero.zona.
BODY7
(eid, label, pid, nseg, idmeshes, acoord=0, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Defines an aerodynamic body macroelement of a body-like component. Similar to Nastran’s CAERO2.
1 2 3 4 5 6 7 8 9 CAERO2 EID PID CP NSB NINT LSB LINT IGID X1 Y1 Z1 X12 1 2 3 4 5 6 7 8 9 BODY7 BID LABEL IPBODY7 ACOORD NSEG IDMESH1 IDMESH2 IDMESH3 IDMESH4 etc BODY7 4 BODY 2 8 4 20 21 22 23 Defines a BODY7 card, which defines a slender body (e.g., fuselage/wingtip tank).
Parameters: - eid : int
body id
- label : str
An arbitrary character string used to define the body.
- pid : int; default=0
Identification number of PBODY7 bulk data card (specifying body wake and/or inlet aerodynamic boxes)
- acoord : int; default=0
Identification number of ACOORD bulk data card (specifying body center line location and orientation)
- nseg : int
Number of body segments
- idmeshes : List[int]
Identification number of SEGMESH bulk data card (specifying body segments).
- comment : str; default=’‘
a comment for the card
-
_get_points_elements_3di
(self, segmesh)[source]¶ - points (nchord, nspan) float ndarray; might be backwards???
- the points
- elements (nquads, 4) int ndarray
- series of quad elements nquads = (nchord-1) * (nspan-1)
-
classmethod
add_card
(card, comment='')[source]¶ Adds a BODY7 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
convert_to_nastran
(self, model)[source]¶ 1 2 3 4 5 6 7 8 9 CAERO2 EID PID CP NSB NINT LSB LINT IGID X1 Y1 Z1 X12 1 2 3 4 5 6 7 8 9 BODY7 BID LABEL IPBODY7 ACOORD NSEG IDMESH1 IDMESH2 IDMESH3 IDMESH4 etc BODY7 4 BODY 2 8 4 20 21 22 23
-
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 identification number
-
get_points_elements_3d
(self)[source]¶ Gets the points/elements in 3d space as CQUAD4s The idea is that this is used by the GUI to display CAERO panels.
TODO: doesn’t support the aero coordinate system
-
nboxes
¶
-
npanels
¶
-
pid
= None¶ Property identification number of a PAERO7 entry.
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list
The fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : list
The fields that define the card
-
type
= 'BODY7'¶
-
class
pyNastran.bdf.cards.aero.zona.
CAERO7
(eid, label, p1, x12, p4, x43, cp=0, nspan=0, nchord=0, lspan=0, p_airfoil=None, ztaic=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Totally wrong…
Defines an aerodynamic macro element (panel) in terms of two leading edge locations and side chords. This is used for Doublet-Lattice theory for subsonic aerodynamics and the ZONA51 theory for supersonic aerodynamics.
1 2 3 4 5 6 7 8 9 CAERO7 WID LABEL ACOORD NSPAN NCHORD LSPAN ZTAIC PAFOIL7 XRL YRL ZRL RCH LRCHD ATTCHR ACORDR XTL YTL ZTL TCH LTCHD ATTCHT ACORDT 1 | | | | 4 | | | | 2------3
Attributes: - eid : int
element id
- pid : int, PAERO1
int : PAERO1 ID PAERO1 : PAERO1 object (xref)
- igid : int
Group number
- p1 : (1, 3) ndarray float
xyz location of point 1 (leading edge; inboard)
- p4 : (1, 3) ndarray float
xyz location of point 4 (leading edge; outboard)
- x12 : float
distance along the flow direction from node 1 to node 2; (typically x, root chord)
- x43 : float
distance along the flow direction from node 4 to node 3; (typically x, tip chord)
- cp : int, CORDx
int : coordinate system CORDx : Coordinate object (xref)
- nspan : int
int > 0 : N spanwise boxes distributed evenly int = 0 : use lchord
- nchord : int
int > 0 : N chordwise boxes distributed evenly int = 0 : use lchord
- lspan : int, AEFACT
int > 0 : AEFACT reference for non-uniform nspan int = 0 : use nspan AEFACT : AEFACT object (xref)
- lchord : int, AEFACT
int > 0 : AEFACT reference for non-uniform nchord int = 0 : use nchord AEFACT : AEFACT object (xref)
comment
: str; default=’‘accesses the comment
Defines a CAERO1 card, which defines a simplified lifting surface (e.g., wing/tail).
Parameters: - eid : int
element id
- pid : int, PAERO1
int : PAERO1 ID PAERO1 : PAERO1 object (xref)
- igroup : int
Group number
- p1 : (1, 3) ndarray float
xyz location of point 1 (leading edge; inboard)
- p4 : (1, 3) ndarray float
xyz location of point 4 (leading edge; outboard)
- x12 : float
distance along the flow direction from node 1 to node 2; (typically x, root chord)
- x43 : float
distance along the flow direction from node 4 to node 3; (typically x, tip chord)
- cp : int, CORDx; default=0
int : coordinate system CORDx : Coordinate object (xref)
- nspan : int; default=0
int > 0 : N spanwise boxes distributed evenly int = 0 : use lchord
- nchord : int; default=0
int > 0 : N chordwise boxes distributed evenly int = 0 : use lchord
- lspan : int, AEFACT; default=0
int > 0 : AEFACT reference for non-uniform nspan int = 0 : use nspan AEFACT : AEFACT object (xref)
- lchord : int, AEFACT; default=0
int > 0 : AEFACT reference for non-uniform nchord int = 0 : use nchord AEFACT : AEFACT object (xref)
- comment : str; default=’‘
a comment for the card
-
_get_box_x_chord_center
(self, box_id, x_chord)[source]¶ The the location of the x_chord of the box along the centerline.
-
_init_ids
(self, dtype='int32')[source]¶ Fill self.box_ids with the sub-box ids. Shape is (nchord, nspan)
-
classmethod
add_card
(card, comment='')[source]¶ Adds a CAERO1 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
- CAERO7 100101 RIBW1 2 25
998.904 39.821 230.687 1298.159 310001 1121.821 61.134 236.560 1175.243
- CAERO7 100201 RIBW2 2 25
1121.821 61.134 236.560 1175.243 1244.258 84.704 243.625 1052.805
-
convert_to_nastran
(self)[source]¶ 1 2 3 4 5 6 7 8 9 CAERO1 EID PID CP NSPAN NCHORD LSPAN LCHORD IGID X1 Y1 Z1 X12 X4 Y4 Z4 X43
-
cp
= None¶ Coordinate system for locating point 1.
-
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 identification number
-
get_box_index
(self, box_id)[source]¶ Get the index of
self.box_ids
that coresponds to the given box id.Parameters: - box_id : int
Box id to ge tthe index of.
Returns: - index : tuple
Index of
self.box_ids
that coresponds to the given box id.
-
get_box_mid_chord_center
(self, box_id)[source]¶ The the location of the mid chord of the box along the centerline.
Parameters: - box_id : int
Box id.
Returns: - xyz_mid_chord : ndarray
Location of box mid chord in global.
-
get_box_quarter_chord_center
(self, box_id)[source]¶ The the location of the quarter chord of the box along the centerline.
Parameters: - box_id : int
Box id.
Returns: - xyz_quarter_chord : ndarray
Location of box quater chord in global.
-
get_npanel_points_elements
(self)[source]¶ Gets the number of sub-points and sub-elements for the CAERO card
Returns: - npoints : int
The number of nodes for the CAERO
- nelmements : int
The number of elements for the CAERO
-
get_points
(self)[source]¶ Get the 4 corner points for the CAERO card
Returns: - p1234 : (4, 3) list
List of 4 corner points in the global frame
-
label
= None¶ Property identification number of a PAERO2 entry.
-
min_max_eid
¶ Gets the min and max element ids of the CAERO card
Returns: - min_max_eid : (2, ) list
The [min_eid, max_eid]
-
npanels
¶
-
panel_points_elements
(self)[source]¶ Gets the sub-points and sub-elements for the CAERO card
Returns: - points : (nnodes,3) ndarray of floats
the array of points
- elements : (nelements,4) ndarray of integers
the array of point ids
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list
the fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : LIST
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
-
shape
¶ returns (nelements_nchord, nelements_span)
-
type
= 'CAERO7'¶
-
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
-
xy
¶ Returns: - x : (nchord,) ndarray
The percentage x location in the chord-wise direction of each panel
- y : (nspan,) ndarray
The percentage y location in the span-wise direction of each panel
-
class
pyNastran.bdf.cards.aero.zona.
FLUTTER_ZONA
(sid, sym, fix, nmode, tabdmp, mlist, conmlst, nkstep=25, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.aero.Spline
Defines data needed to perform flutter, ASE, or a transient response analysis.
1 2 3 4 5 6 7 8 9 FLUTTER SID METHOD DENS MACH RFREQ IMETH NVALUE/OMAX EPS FLUTTER 19 K 119 219 319 S 5 1.-4 1 2 3 4 5 6 7 8 9 FLUTTER SETID SYM FIX NMODE TABDMP MLIST CONMLST NKSTEP FLUTTER 100 SYMM3 1 0 30 100 0 50 Creates a FLUTTER card, which is required for a flutter (SOL 145) analysis.
Parameters: - sid : int
Unique set identification number. (Integer > 0)
- sym : str
Character string up to 8 characters with no embedded blanks. The first 4 characters can be either ‘SYMM’ (or ‘SYM’), ‘ANTI’, or ‘ASYM’ that defines the boundary condition of the structural finite element model as well as the unsteady aerodynamics, where:
- SYMM Symmetric boundary condition.
- ANTI Antisymmetric boundary condition.
- ASYM Asymmetric boundary condition.
The last 4 characters are used to specify the interpolation scheme for the generalized aerodynamic matrices. They can be either:
- blank for a cubic spline
- L for a linear interpolation. (such as SYM = ‘SYMML’, ‘ANTIL’, or ‘ASYML’)
- P for a second-order-polynomial interpolation. (such as SYM = ‘SYMMP’, ‘ANTIP’, or ‘ASYMP’)
- integer for a hybrid cubic spline and linear interpolation scheme. (such as SYM = ‘SYMM1’, ‘SYMM2’, ‘ANTI3’, etc.)
- (Default = SYMML)
- fix : int
Identification number of a FIXHATM, FIXMATM, FIXMACH, or FIXMDEN bulk data card. (Integer > 0)
- nmode : int
Number of structural modes used in the flutter analysis. (Integer >= 0)
- tabdmp : int
Identification number of a TABDMP1 bulk data card specifying modal damping as
a function of natural frequency. (Integer ≥ 0)
- mlist : int
Identification number of a SET1 or SETADD bulk data card specifying a list of normal modes to be omitted from the flutter analysis. (Integer >= 0)
- conmlst : int
Identification number of a CONMLST bulk data card specifying a list of identification numbers of the CONM1 bulk data cards for mass perturbation. (Integer >= 0) (See Remark 8)
- nkstep : int; default=25
Number of reduced frequency steps for the reduced-frequency-sweep technique of the g-Method flutter solution. (Integer >= 0)
-
classmethod
add_card
(card, comment='')[source]¶ Adds a FLUTTER card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
type
= 'FLUTTER_ZONA'¶
-
class
pyNastran.bdf.cards.aero.zona.
MKAEROZ
(sid, mach, flt_id, filename, print_flag, freqs, method=0, save=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Parameters: - sid : int
the MKAEROZ id
- mach : float
the mach number for the TRIM solution
- save : str
save the AIC data to the filename SAVE save the AICs ACQUIRE load an AIC database ADD append the new acids to the existing AIC database RESTART continue an analysis
- filename : str
the length of the file must be at most 56 characters
- print_flag : int
???
- freqs : List[float]
???
- method : int
???
- save : ???
???
- comment : str; default=’‘
a comment for the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'MKAEROZ'¶
-
class
pyNastran.bdf.cards.aero.zona.
PAFOIL7
(pid, i_axial, i_thickness_root, i_camber_root, le_radius_root, i_thickness_tip, i_camber_tip, le_radius_tip, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Defines an aerodynamic body macroelement of a body-like component. Similar to Nastran’s CAERO2.
1 2 3 4 5 6 7 8 9 PAFOIL7 ID ITAX ITHR ICAMR RADR ITHT ICAMT RADT PAFOIL7 1 -201 202 203 0.1 211 212 0.1 Defines a BODY7 card, which defines a slender body (e.g., fuselage/wingtip tank).
Parameters: - pid : int
PAFOIL7 identification number.
- i_axial : str
Identification number of an AEFACT bulk data card used to specify the xcoordinate locations, in percentage of the chord length, where the thickness and camber are specified. ITAX can be a negative number (where ABS (ITAX) = AEFACT bulk data card identification number) to request linear interpolation.
- i_thickness_root / i_thickness_tip : int
Identification number of an AEFACT bulk data card used to specify the half thickness of the airfoil at the wing root/tip.
- i_camber : int; default=0
Identification number of an AEFACT bulk data card used to specify the camber of the airfoil at the wing root.
- le_radius_root / le_radius_root: float
Leading edge radius at the root/tip normalized by the root/tip chord.
- i_thickness_tip : int
Identification number of an AEFACT bulk data card used to specify the half thickness at the wing tip.
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a PAFOIL7 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
convert_to_nastran
(self, model)[source]¶ Should this be converted to a DMIG?
1 2 3 4 5 6 7 8 9 PAFOIL7 ID ITAX ITHR ICAMR RADR ITHT ICAMT RADT PAFOIL7 1 -201 202 203 0.1 211 212 0.1
-
cross_reference
(self, model)[source]¶ Cross links the card so referenced cards can be extracted directly
Parameters: - model : BDF()
the BDF object
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list
The fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : list
The fields that define the card
-
type
= 'PAFOIL7'¶
-
class
pyNastran.bdf.cards.aero.zona.
PANLST1
(eid, macro_id, box1, box2, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.aero.Spline
Defines a set of aerodynamic boxes by the LABEL entry in CAERO7 or BODY7 bulk data cards.
1 2 3 4 5 6 7 8 9 SPLINE1 EID MODEL CP SETK SETG DZ EPS SPLINE1 100 1 10 1 2 3 4 5 6 7 8 9 PANLST1 SETID MACROID BOX1 BOX2 PANLST1 100 111 111 118 PANLST1 is referred to by SPLINEi, ATTACH, LOADMOD, CPFACT, JETFRC, and/or AESURFZ bulk data card.
Creates a PANLST1 card
Parameters: - eid : int
spline id
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a PANLST3 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
type
= 'PANLST1'¶
-
class
pyNastran.bdf.cards.aero.zona.
PANLST3
(eid, panel_groups, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.aero.Spline
Defines a set of aerodynamic boxes by the LABEL entry in CAERO7 or BODY7 bulk data cards.
1 2 3 4 5 6 7 8 9 SPLINE1 EID MODEL CP SETK SETG DZ EPS SPLINE1 100 1 10 1 2 3 4 5 6 7 8 9 PANLST3 SETID LABEL1 LABEL2 LABEL3 etc PANLST3 100 WING HTAIL PANLST3 is referred to by SPLINEi, ATTACH, LOADMOD, CPFACT, JETFRC, and/or AESURFZ bulk data card.
Creates a PANLST3 card
Parameters: - eid : int
spline id
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a PANLST3 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
type
= 'PANLST3'¶
-
class
pyNastran.bdf.cards.aero.zona.
SEGMESH
(segmesh_id, naxial, nradial, nose_radius, iaxis, itypes, xs, cambers, ys, zs, idys, idzs, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Defines a grid system for a body segment; referenced by the BODY7 bulk data card.
1 2 3 4 5 6 7 8 9 SEGMESH IDMESH NAXIS NRAD NOSERAD IAXIS ITYPE1 X1 CAM1 YR1 ZR1 IDY1 IDZ1 ITYPE2 X2 CAM2 YR2 ZR2 IDY2 IDZ2 ITYPE3 X3 CAM3 YR3 ZR3 IDY3 IDZ3 SEGMESH 2 3 6 1 0.0 0.0 0.0 1 1.0 0.0 0.5 3 2.0 103 104 Defines a SEGMESH card, which defines a cross-section for a PBODY7.
Parameters: - segmesh_id : int
Body segment mesh identification number.
- naxial : int
Number of axial stations (i.e., divisions) of the segment. (min=2).
- nradial : int
Number of circumferential points of the segment (min=3).
- nose_radius : float
Nose radius of blunt body. NOSERAD is active only if ZONA7U (Hypersonic Aerodynamic Method) is used (the METHOD entry of the MKAEROZ Bulk Data equals 2 or –2). Furthermore, NOSERAD is used only if the SEGMESH bulk data card is the first segment defined in the BODY7 bulk data card.
- iaxis : int
The index of the axial station where the blunt nose ends. IAXIS is active only if ZONA7U (Hypersonic Aerodynamic Method) is used.
- ITYPEi : int
Type of input used to define the circumferential box cuts - 1 body of revolution - 2 elliptical body - 3 arbitrary body
- Xi : List[float]
X-location of the axial station; Xi must be in ascending order. (i.e., Xi+1 > Xi)
- cambers : List[float]
Body camber at the Xi axial station. (Real)
- YRi : List[float]
Body cross-sectional radius if ITYPEi = 1 or the semi-axis length of the elliptical body parallel to the Y-axis if ITYPEi=2.
- ZRi : List[float]
The semi-axis length of the elliptical body parallel to the Z-axis. Used only if ITYPEi=2. (Real)
- IDYi : int
Identification number of AEFACT bulk data card that specifies NRAD number of the Y-coordinate locations of the circumferential points at the Xi axial station. Use only if ITYPEi=3.
- IDZi : int
Identification number of AEFACT bulk data card that specifies NRAD number of the Z-coordinate locations of the circumferential points at the Xi axial station. Use only if ITYPEi=3.
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a SEGMESH card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
pid
¶
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list
The fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : list
The fields that define the card
-
type
= 'SEGMESH'¶
-
class
pyNastran.bdf.cards.aero.zona.
SPLINE1_ZONA
(eid, panlst, setg, model=None, cp=None, dz=None, eps=0.01, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.aero.Spline
Defines an infinite plate spline method for displacements and loads transferal between CAERO7 macroelement and structural grid points.
1 2 3 4 5 6 7 8 9 SPLINE1 EID CAERO BOX1 BOX2 SETG DZ METH USAGE NELEM MELEM SPLINE1 3 111 115 122 14 1 2 3 4 5 6 7 8 9 SPLINE1 EID MODEL CP SETK SETG DZ EPS SPLINE1 100 1 10 Creates a SPLINE1 card, which is useful for control surface constraints.
Parameters: - eid : int
spline id
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a SPLINE1 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
convert_to_nastran
(self, model)[source]¶ 1 2 3 4 5 6 7 8 9 SPLINE1 EID CAERO BOX1 BOX2 SETG DZ METH USAGE NELEM MELEM SPLINE1 3 111 115 122 14 1 2 3 4 5 6 7 8 9 SPLINE1 EID MODEL CP SETK SETG DZ EPS SPLINE1 100 1 10
-
type
= 'SPLINE1_ZONA'¶
-
class
pyNastran.bdf.cards.aero.zona.
SPLINE2_ZONA
(eid, panlst, setg, model=None, dz=None, eps=0.01, cp=None, curvature=None, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.aero.Spline
Defines an infinite plate spline method for displacements and loads transferal between CAERO7 macroelement and structural grid points.
1 2 3 5 6 6 7 8 9 SPLINE2 EID MODEL SETK SETG DZ EPS CP CURV SPLINE2 100 1 10 Creates a SPLINE1 card, which is useful for control surface constraints.
Parameters: - eid : int
spline id
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a SPLINE1 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
type
= 'SPLINE2_ZONA'¶
-
class
pyNastran.bdf.cards.aero.zona.
SPLINE3_ZONA
(eid, panlst, setg, model=None, cp=None, dz=None, eps=0.01, comment='')[source]¶ Bases:
pyNastran.bdf.cards.aero.aero.Spline
Defines a 3-D spline for the BODY7 and CAERO7 macroelement.
1 2 3 4 5 6 7 8 9 SPLINE3 EID MODEL CP SETK SETG DZ EPS SPLINE3 100 N/A 1 10 Creates a SPLINE3 card, which is useful for control surface constraints.
Parameters: - eid : int
spline id
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a SPLINE3 card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
raw_fields
(self)[source]¶ 1 2 3 4 5 6 7 8 9 SPLINE3 EID CAERO BOXID COMP G1 C1 A1 USAGE G2 C2 A2 G3 C3 A2 — G4 C4 A4 etc.
-
type
= 'SPLINE3_ZONA'¶
-
class
pyNastran.bdf.cards.aero.zona.
TRIMLNK
(link_id, sym, coeffs, var_ids, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Defines a set of coefficient and trim variable identification number pairs for trim variable linking.
+=========+========+========+========+========+========+========+========+========+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +———+——–+——–+——–+——–+——–+——–+——–+——–+ | TRIMLNK | IDLINK | SYM | COEFF1 | IDVAR1 | COEFF2 | IDVAR2 | COEFF3 | IDVAR3 | +———+——–+——–+——–+——–+——–+——–+——–+——–+ | | COEFF4 | IDVAR4 | etc. | | | | | | +———+——–+——–+——–+——–+——–+——–+——–+——–+
Creates a TRIMLNK card
Parameters: - link_id : int
the TRIMLNK id
- sym : ???
???
- coeffs : ???
???
- var_ids : ???
???
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a TRIMLNK card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list[varies]
the fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'TRIMLNK'¶
-
class
pyNastran.bdf.cards.aero.zona.
TRIMVAR
(var_id, label, lower, upper, trimlnk, dmi, sym, initial, dcd, dcy, dcl, dcr, dcm, dcn, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Specifies a trim variable for static aeroelastic trim variables.
Creates a TRIMVAR card for a static aero (144) analysis.
Parameters: - var_id : int
the trim id; referenced by the Case Control TRIM field
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a TRIMVAR card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list[varies]
the fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
type
= 'TRIMVAR'¶
-
class
pyNastran.bdf.cards.aero.zona.
TRIM_ZONA
(sid, mkaeroz, q, cg, true_g, nxyz, pqr, loadset, labels, uxs, comment='')[source]¶ Bases:
pyNastran.bdf.cards.base_card.BaseCard
Specifies constraints for aeroelastic trim variables.
Creates a TRIM card for a static aero (144) analysis.
Parameters: - sid : int
the trim id; referenced by the Case Control TRIM field
- q : float
dynamic pressure
- true_g : float
???
- nxyz : List[float]
???
- pqr : List[float]
[roll_rate, pitch_rate, yaw_rate]
- loadset : int
Identification number of a SET1 or SETADD bulk data card that specifies a set of identification numbers of TRIMFNC or TRIMADD bulk data card. All values of the trim functions defined by the TRIMFNC or TRIMADD bulk data card are computed and printed out.
- labels : List[str]
names of the fixed variables
- uxs : List[float]
values corresponding to labels
- comment : str; default=’‘
a comment for the card
-
classmethod
add_card
(card, comment='')[source]¶ Adds a TRIM card from
BDF.add_card(...)
Parameters: - card : BDFCard()
a BDFCard object
- comment : str; default=’‘
a comment for the card
-
labels
= None¶ The label identifying aerodynamic trim variables defined on an AESTAT or AESURF entry.
-
q
= None¶ Dynamic pressure. (Real > 0.0)
-
raw_fields
(self)[source]¶ Gets the fields in their unmodified form
Returns: - fields : list[varies]
the fields that define the card
-
repr_fields
(self)[source]¶ Gets the fields in their simplified form
Returns: - fields : List[varies]
the fields that define the card
-
sid
= None¶ Trim set identification number. (Integer > 0)
-
type
= 'TRIM_ZONA'¶
-
uxs
= None¶ The magnitude of the aerodynamic extra point degree-of-freedom. (Real)
-
class
pyNastran.bdf.cards.aero.zona.
ZONA
(model)[source]¶ Bases:
object
-
_convert_aesurf_aelist
(self)[source]¶ Converts ZONA AESURFZ to AESURF/AELIST
1 2 3 4 5 6 7 AESURFZ LABEL TYPE CID SETK SETG ACTID AESURFZ RUDDER ASYM 1 10 20 0
-
object_attributes
(self, mode='public', keys_to_skip=None, filter_properties=False)[source]¶ List the names of attributes of a class as strings. Returns public attributes as default.
Parameters: - mode : str
defines what kind of attributes will be listed * ‘public’ - names that do not begin with underscore * ‘private’ - names that begin with single underscore * ‘both’ - private and public * ‘all’ - all attributes that are defined for the object
- keys_to_skip : List[str]; default=None -> []
names to not consider to avoid deprecation warnings
Returns: - attribute_names : List[str]
sorted list of the names of attributes of a given type or None if the mode is wrong
-
object_methods
(self, mode='public', keys_to_skip=None)[source]¶ List the names of methods of a class as strings. Returns public methods as default.
Parameters: - obj : instance
the object for checking
- mode : str
defines what kind of methods will be listed * “public” - names that do not begin with underscore * “private” - names that begin with single underscore * “both” - private and public * “all” - all methods that are defined for the object
- keys_to_skip : List[str]; default=None -> []
names to not consider to avoid deprecation warnings
Returns: - method : List[str]
sorted list of the names of methods of a given type or None if the mode is wrong
-
pafoil
= None¶ store PAFOIL7/PAFOIL8
-
panlsts
= None¶ store PANLST1,PANLST2,PANLST3
-