aero
Module
digraph inheritance65a491a13f {
bgcolor=transparent;
rankdir=LR;
size="";
"pyNastran.bdf.cards.aero.aero.AECOMP" [URL="#pyNastran.bdf.cards.aero.aero.AECOMP",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 component for use in monitor point definition or external splines."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AECOMP" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AECOMPL" [URL="#pyNastran.bdf.cards.aero.aero.AECOMPL",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="Makes a \"AECOMP\" that is a combination of other AECOMPs or AECOMPLs."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AECOMPL" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AEFACT" [URL="#pyNastran.bdf.cards.aero.aero.AEFACT",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 real numbers for aeroelastic analysis."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AEFACT" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AELINK" [URL="#pyNastran.bdf.cards.aero.aero.AELINK",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 relationships between or among AESTAT and AESURF entries, such"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AELINK" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AELIST" [URL="#pyNastran.bdf.cards.aero.aero.AELIST",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 list of aerodynamic elements to undergo the motion prescribed"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AELIST" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AEPARM" [URL="#pyNastran.bdf.cards.aero.aero.AEPARM",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 general aerodynamic trim variable degree-of-freedom (aerodynamic"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AEPARM" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AESURF" [URL="#pyNastran.bdf.cards.aero.aero.AESURF",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="Specifies an aerodynamic control surface as a member of the set of"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AESURF" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.AESURFS" [URL="#pyNastran.bdf.cards.aero.aero.AESURFS",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="Optional specification of the structural nodes associated with an"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.AESURFS" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.CAERO1" [URL="#pyNastran.bdf.cards.aero.aero.CAERO1",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 aerodynamic macro element (panel) in terms of two leading edge"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.CAERO1" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.CAERO2" [URL="#pyNastran.bdf.cards.aero.aero.CAERO2",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="Aerodynamic Body Connection"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.CAERO2" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.CAERO3" [URL="#pyNastran.bdf.cards.aero.aero.CAERO3",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"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.CAERO3" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.CAERO4" [URL="#pyNastran.bdf.cards.aero.aero.CAERO4",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="Aerodynamic Macro-Strip Element Connection"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.CAERO4" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.CAERO5" [URL="#pyNastran.bdf.cards.aero.aero.CAERO5",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 aerodynamic macro element for Piston theory."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.CAERO5" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.MONDSP1" [URL="#pyNastran.bdf.cards.aero.aero.MONDSP1",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.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.MONDSP1" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.MONPNT1" [URL="#pyNastran.bdf.cards.aero.aero.MONPNT1",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.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.MONPNT1" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.MONPNT2" [URL="#pyNastran.bdf.cards.aero.aero.MONPNT2",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="MSC Nastran specific card"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.MONPNT2" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.MONPNT3" [URL="#pyNastran.bdf.cards.aero.aero.MONPNT3",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="MSC"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.MONPNT3" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.PAERO1" [URL="#pyNastran.bdf.cards.aero.aero.PAERO1",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 associated bodies for the panels in the Doublet-Lattice method."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.PAERO1" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.PAERO2" [URL="#pyNastran.bdf.cards.aero.aero.PAERO2",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 cross-sectional properties of aerodynamic bodies."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.PAERO2" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.PAERO3" [URL="#pyNastran.bdf.cards.aero.aero.PAERO3",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 number of Mach boxes in the flow direction and the"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.PAERO3" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.PAERO4" [URL="#pyNastran.bdf.cards.aero.aero.PAERO4",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 properties of each strip element for Strip theory."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.PAERO4" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.PAERO5" [URL="#pyNastran.bdf.cards.aero.aero.PAERO5",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.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.PAERO5" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.SPLINE1" [URL="#pyNastran.bdf.cards.aero.aero.SPLINE1",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="Surface Spline Methods"];
"pyNastran.bdf.cards.aero.aero.Spline" -> "pyNastran.bdf.cards.aero.aero.SPLINE1" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.SPLINE2" [URL="#pyNastran.bdf.cards.aero.aero.SPLINE2",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="Linear Spline"];
"pyNastran.bdf.cards.aero.aero.Spline" -> "pyNastran.bdf.cards.aero.aero.SPLINE2" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.SPLINE3" [URL="#pyNastran.bdf.cards.aero.aero.SPLINE3",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 constraint equation for aeroelastic problems."];
"pyNastran.bdf.cards.aero.aero.Spline" -> "pyNastran.bdf.cards.aero.aero.SPLINE3" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.SPLINE4" [URL="#pyNastran.bdf.cards.aero.aero.SPLINE4",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="Surface Spline Methods"];
"pyNastran.bdf.cards.aero.aero.Spline" -> "pyNastran.bdf.cards.aero.aero.SPLINE4" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.SPLINE5" [URL="#pyNastran.bdf.cards.aero.aero.SPLINE5",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="Linear Spline"];
"pyNastran.bdf.cards.aero.aero.Spline" -> "pyNastran.bdf.cards.aero.aero.SPLINE5" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.aero.Spline" [URL="#pyNastran.bdf.cards.aero.aero.Spline",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"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.aero.Spline" [arrowsize=0.5,style="setlinewidth(0.5)"];
"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"];
}
All aero cards are defined in this file. This includes:
AECOMP
AEFACT
AELINK
AELIST
AEPARM
AESURF / AESURFS
CAERO1 / CAERO2 / CAERO3 / CAERO4 / CAERO5
PAERO1 / PAERO2 / PAERO3 / PAERO4 / PAERO5
SPLINE1 / SPLINE2 / SPLINE3 / SPLINE4 / SPLINE5
MONPNT1 / MONPNT2 / MONPNT3
All cards are BaseCard objects.
- class pyNastran.bdf.cards.aero.aero.AECOMP(name: str, list_type: list[str], lists: int | list[int], comment: str = '')[source]
Bases:
BaseCard
Defines a component for use in monitor point definition or external splines.
1
2
3
4
5
6
7
8
9
AECOMP
NAME
LISTTYPE
LIST1
LIST2
LIST3
LIST4
LIST5
LIST6
LIST7
etc.
AECOMP
WING
AELIST
1001
1002
AECOMP
WING
SET1
1001
1002
AECOMP
WING
CAERO1
1001
2001
- Attributes:
- namestr
The name.
- list_typestr
{‘SET1’, ‘AELIST’, ‘CAEROx’}
- listslist[int]
list of values of AECOMP lists
Creates an AECOMP card
- Parameters:
- namestr
the name of the component
- list_typestr
One of CAERO, AELIST or CMPID for aerodynamic components and SET1 for structural components. Aerodynamic components are defined on the aerodynamic ks-set mesh while the structural components are defined on the g-set mesh.
- listslist[int, int, …]; int
The identification number of either SET1, AELIST or CAEROi entries that define the set of grid points that comprise the component
- commentstr; default=’’
a comment for the card
- classmethod add_card(card: Any, comment: str = '') AECOMP [source]
Adds an AECOMP card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- allowed_list_types = ['SET1', 'AELIST', 'CAERO']
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- type = 'AECOMP'
- class pyNastran.bdf.cards.aero.aero.AECOMPL(name: str, labels: list[str], comment: str = '')[source]
Bases:
BaseCard
Makes a “AECOMP” that is a combination of other AECOMPs or AECOMPLs.
1
2
3
4
5
6
7
8
9
AECOMPL
NAME
LABEL1
LABEL2
LABEL3
LABEL4
LABEL5
LABEL6
LABEL7
LABEL8
etc.
AECOMPL
HORIZ
STAB
ELEV
BALANCE
Creates an AECOMPL card
- Parameters:
- namestr
the name of the component
- labelslist[str, str, …]; str
A string of 8 characters referring to the names of other components defined by either AECOMP or other AECOMPL entries.
- commentstr; default=’’
a comment for the card
- classmethod add_card(card: BDFCard, comment: str = '') AECOMP [source]
Adds an AECOMPL card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- type = 'AECOMPL'
- class pyNastran.bdf.cards.aero.aero.AEFACT(sid, fractions, comment='')[source]
Bases:
BaseCard
Defines real numbers for aeroelastic analysis.
1
2
3
4
5
6
7
8
9
AEFACT
SID
D1
D2
D3
D4
D5
D6
D7
D8
D9
etc.
AEFACT
97
.3
0.7
1.0
- TODO: Are these defined in percentages and thus,
should they be normalized if they are not?
Creates an AEFACT card, which is used by the CAEROx / PAEROx card to adjust the spacing of the sub-paneleing (and grid point paneling in the case of the CAERO3).
- Parameters:
- sidint
unique id
- fractionslist[float, …, float]
list of percentages
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds an AEFACT card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- fractions
Number (float)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[int/float/str]
the fields that define the card
- sid
Set identification number. (Unique Integer > 0)
- type = 'AEFACT'
- class pyNastran.bdf.cards.aero.aero.AELINK(aelink_id: int | str, label: str, independent_labels: list[str], linking_coefficients: list[float], comment: str = '')[source]
Bases:
BaseCard
Defines relationships between or among AESTAT and AESURF entries, such that:
\[u^D + \Sigma_{i=1}^n C_i u_i^I = 0.0\]1
2
3
4
5
6
7
8
9
AELINK
ID
LABLD
LABL1
C1
LABL2
C2
LABL3
C3
LABL4
C4
etc.
AELINK
10
INBDA
OTBDA
-2.0
Creates an AELINK card, which defines an equation linking AESTAT and AESURF cards
- Parameters:
- aelink_idint/str
unique id
- labelstr
name of the dependent AESURF card
- independent_labelslist[str, …, str]
name for the independent variables (AESTATs)
- linking_coefficientslist[float]
linking coefficients
- commentstr; default=’’
a comment for the card
- classmethod add_card(card: BDFCard, comment='')[source]
Adds an AELINK card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- aelink_id
an ID=0 is applicable to the global subcase, ID=1 only subcase 1
- cross_reference(model: BDF) None [source]
We’re simply going to validate the labels Updating the labels on the AESURFs will NOT propogate to the AELINK
- property dependent_label: str
- independent_labels
defines the independent variable name (string)
- label
defines the dependent variable name (string)
- linking_coefficients
linking coefficients (real)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- list_fieldslist[int/float/str]
the fields that define the card
- type = 'AELINK'
- class pyNastran.bdf.cards.aero.aero.AELIST(sid: int, elements: list[int], comment: str = '')[source]
Bases:
BaseCard
Defines a list of aerodynamic elements to undergo the motion prescribed with the AESURF Bulk Data entry for static aeroelasticity.
1
2
3
4
5
6
7
8
9
AELIST
SID
E1
E2
E3
E4
E5
E6
E7
E8
etc.
AELIST
75
1001
THRU
1075
1101
THRU
1109
1201
1202
Notes
These entries are referenced by the AESURF entry.
When the THRU option is used, all intermediate grid points must exist. The word THRU may not appear in field 3 or 9 (2 or 9 for continuations).
Intervening blank fields are not allowed.
Creates an AELIST card, which defines the aero boxes for an AESURF/SPLINEx.
- Parameters:
- sidint
unique id
- elementslist[int, …, int]; int
list of box ids
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds an AELIST card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- elements
List of aerodynamic boxes generated by CAERO1 entries to define a surface. (Integer > 0 or ‘THRU’)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[int/float/str]
the fields that define the card
- sid
Set identification number. (Integer > 0)
- type = 'AELIST'
- class pyNastran.bdf.cards.aero.aero.AEPARM(aeparm_id: int, label: str, units: str, comment: str = '')[source]
Bases:
BaseCard
Defines a general aerodynamic trim variable degree-of-freedom (aerodynamic extra point). The forces associated with this controller will be derived from AEDW, AEFORCE and AEPRESS input data.
1
2
3
4
AEPARM
ID
LABEL
UNITS
AEPARM
5
THRUST
LBS
Creates an AEPARM card, which defines a new trim variable.
- Parameters:
- idint
the unique id
- labelstr
the variable name
- unitsstr
unused by Nastran
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds an AEPARM card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[int/float/str]
the fields that define the card
- type = 'AEPARM'
- class pyNastran.bdf.cards.aero.aero.AESURF(aesurf_id: int, label: str, cid1: int, aelist_id1: int, cid2: int | None = None, aelist_id2: int | None = None, eff: float = 1.0, ldw: str = 'LDW', crefc: float = 1.0, crefs: float = 1.0, pllim: float = -1.5707963267948966, pulim: float = 1.5707963267948966, hmllim: int | None = None, hmulim: int | None = None, tqllim: int | None = None, tqulim: int | None = None, comment='')[source]
Bases:
BaseCard
Specifies an aerodynamic control surface as a member of the set of aerodynamic extra points. The forces associated with this controller will be derived from rigid rotation of the aerodynamic model about the hinge line(s) and from AEDW, AEFORCE and AEPRESS input data. The mass properties of the control surface can be specified using an AESURFS entry.
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
Creates an AESURF card, which defines a control surface
- Parameters:
- aesurf_idint
controller number
- labelstr
controller name
- cid1 / cid2int / None
coordinate system id for primary/secondary control surface
- aelist_id1 / aelist_id2int / None
AELIST id for primary/secondary control surface (alid1/alid2)
- efffloat; default=1.0
Control surface effectiveness
- ldwstr; default=’LDW’
Linear downwash flag; [‘LDW’, ‘NODLW’]
- crefcfloat; default=1.0
reference chord for the control surface
- crefsfloat; default=1.0
reference area for the control surface
- pllim / pulimfloat; default=-pi/2 / pi/2
Lower/Upper deflection limits for the control surface in radians
- hmllim / hmulimfloat; default=None
Lower/Upper hinge moment limits for the control surface in force-length units
- tqllim / tqulimint; default=None
Set identification numbers of TABLEDi entries that provide the lower/upper deflection limits for the control surface as a function of the dynamic pressure
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds an AESURF card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- aelist_id1
Identification of an AELIST Bulk Data entry that identifies all aerodynamic elements that make up the control surface component. (Integer > 0)
- property aesid: int
- aesurf_id
Controller identification number
- property alid1: int
- property alid2: int
- cid1
Identification number of a rectangular coordinate system with a y-axis that defines the hinge line of the control surface component.
- crefc
Reference chord length for the control surface. (Real>0.0; Default=1.0)
- crefs
Reference surface area for the control surface. (Real>0.0; Default=1.0)
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- eff
Control surface effectiveness. See Remark 4. (Real != 0.0; Default=1.0)
- hmllim
Lower and upper hinge moment limits for the control surface in force-length units. (Real, Default = no limit) -> 1e8
- label
Controller name.
- ldw
Linear downwash flag. See Remark 2. (Character, one of LDW or NOLDW; Default=LDW).
- pllim
Lower and upper deflection limits for the control surface in radians. (Real, Default = +/- pi/2)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldsreset_camera[int/float/str]
the fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist[int/float/str]
the fields that define the card
- tqllim
Set identification numbers of TABLEDi entries that provide the lower and upper deflection limits for the control surface as a function of the dynamic pressure. (Integer>0, Default = no limit)
- type = 'AESURF'
- class pyNastran.bdf.cards.aero.aero.AESURFS(aesid: int, label: str, list1: list[int], list2: list[int], comment: str = '')[source]
Bases:
BaseCard
Optional specification of the structural nodes associated with an aerodynamic control surface that has been defined on an AESURF entry. The mass associated with these structural nodes define the control surface moment(s) of inertia about the hinge line(s). Specifies rigid body motions to be used as trim variables in static aeroelasticity.
1
2
3
4
5
6
7
AESURFS
ID
LABEL
LIST1
LIST2
AESURFS
6001
ELEV
6002
6003
Creates an AESURFS card
- Parameters:
- aesidint
the unique id
- labelstr
the AESURF name
- list1 / list2int / None
the list (SET1) of node ids for the primary/secondary control surface(s) on the AESURF card
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds an AESURFS 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
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[int/float/str]
the fields that define the card
- type = 'AESURFS'
- class pyNastran.bdf.cards.aero.aero.CAERO1(eid: int, pid: int, igroup: int, p1: NDArray3float, x12: float, p4: NDArray3float, x43: float, cp: int = 0, nspan: int = 0, lspan: int = 0, nchord: int = 0, lchord: int = 0, comment: str = '')[source]
Bases:
BaseCard
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
CAERO1
EID
PID
CP
NSPAN
NCHORD
LSPAN
LCHORD
IGID
X1
Y1
Z1
X12
X4
Y4
Z4
X43
1 | | | | 4 | | | | 2------3
- Attributes:
- eidint
element id
- pidint
int : PAERO1 ID
- igroupint
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)
- x12float
distance along the flow direction from node 1 to node 2; (typically x, root chord)
- x43float
distance along the flow direction from node 4 to node 3; (typically x, tip chord)
- cpint
int : coordinate system
- nspanint
int > 0 : N spanwise boxes distributed evenly int = 0 : use lchord
- nchordint
int > 0 : N chordwise boxes distributed evenly int = 0 : use lchord
- lspanint
int > 0 : AEFACT reference for non-uniform nspan int = 0 : use nspan
- lchordint
int > 0 : AEFACT reference for non-uniform nchord int = 0 : use nchord
comment
str; default=’’accesses the comment
Defines a CAERO1 card, which defines a simplified lifting surface (e.g., wing/tail).
- Parameters:
- eidint
element id
- pidint, PAERO1
int : PAERO1 ID PAERO1 : PAERO1 object (xref)
- igroupint
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)
- x12float
distance along the flow direction from node 1 to node 2; (typically x, root chord)
- x43float
distance along the flow direction from node 4 to node 3; (typically x, tip chord)
- cpint, CORDx; default=0
int : coordinate system CORDx : Coordinate object (xref)
- nspanint; default=0
int > 0 : N spanwise boxes distributed evenly int = 0 : use lchord
- nchordint; default=0
int > 0 : N chordwise boxes distributed evenly int = 0 : use lchord
- lspanint, AEFACT; default=0
int > 0 : AEFACT reference for non-uniform nspan int = 0 : use nspan AEFACT : AEFACT object (xref)
- lchordint, AEFACT; default=0
int > 0 : AEFACT reference for non-uniform nchord int = 0 : use nchord AEFACT : AEFACT object (xref)
- commentstr; default=’’
a comment for the card
- _get_box_x_chord_center(box_id: int, x_chord: float) ndarray [source]
The the location of the x_chord of the box along the centerline.
- _properties = ['_field_map', 'shape', 'xy', 'min_max_eid', 'npanels']
- classmethod add_card(card, comment='')[source]
Adds a CAERO1 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- classmethod add_quad(eid: int, pid: int, span: int, chord: int, igroup: int, p1: ndarray, p2: ndarray, p3: ndarray, p4: ndarray, cp: int = 0, spanwise: str = 'y', comment: str = '') CAERO1 [source]
1 | \ | \ | \ | 4 | | | | 2------3
TODO: CP not handled correctly
- property aefact_ids: list[int]
- cp
Coordinate system for locating point 1.
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- eid
Element identification number
- get_box_index(box_id: int) tuple[int, int] [source]
Get the index of
self.box_ids
that corresponds to the given box id.- Parameters:
- box_idint
Box id to get the index of.
- Returns:
- indextuple
Index of
self.box_ids
that corresponds to the given box id.
- get_box_mid_chord_center(box_id: int) ndarray [source]
The the location of the mid chord of the box along the centerline.
- Parameters:
- box_idint
Box id.
- Returns:
- xyz_mid_chordndarray
Location of box mid chord in global.
- get_box_quarter_chord_center(box_id: int) ndarray [source]
The the location of the quarter chord of the box along the centerline.
- Parameters:
- box_idint
Box id.
- Returns:
- xyz_quarter_chordndarray
Location of box quarter chord in global.
- get_npanel_points_elements() tuple[int, int] [source]
Gets the number of sub-points and sub-elements for the CAERO card
- Returns:
- npointsint
The number of nodes for the CAERO
- nelmementsint
The number of elements for the CAERO
- get_points()[source]
Get the 4 corner points for the CAERO card
- Returns:
- p1234(4, 3) list
List of 4 corner points in the global frame
- property 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]
- property npanels
- panel_points_elements() tuple[ndarray, ndarray] [source]
Gets the sub-points and sub-elements for the CAERO1 card
- Returns:
- points(nnodes,3) ndarray of floats
the array of points
- elements(nelements,4) ndarray of integers
the array of point ids
- pid
Property identification number of a PAERO2 entry.
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist
the fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldsLIST
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
- property shape
returns (nelements_nchord, nelements_span)
- type = 'CAERO1'
- update(maps)[source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- 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
- property 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.aero.CAERO2(eid, pid, igroup, p1, x12, cp=0, nsb=0, nint=0, lsb=0, lint=0, comment='')[source]
Bases:
BaseCard
Aerodynamic Body Connection Defines aerodynamic slender body and interference elements for Doublet-Lattice aerodynamics.
1
2
3
4
5
6
7
8
9
CAERO2
EID
PID
CP
NSB
NINT
LSB
LINT
IGID
X1
Y1
Z1
X12
Defines a CAERO2 card, which defines a slender body (e.g., fuselage/wingtip tank).
- Parameters:
- eidint
element id
- pidint
int : PAERO2 ID
- igroupint
Group number
- p1(1, 3) ndarray float
xyz location of point 1 (forward position)
- x12float
length of the CAERO2
- cpint; default=0
int : coordinate system
- nsbint; default=0
Number of slender body elements
- lsbint; default=0
AEFACT id for defining the location of the slender body elements
- nintint; default=0
Number of interference elements
- lintint; default=0
AEFACT id for defining the location of interference elements
- commentstr; default=’’
a comment for the card
- _properties = ['nboxes']
- classmethod add_card(card, comment='')[source]
Adds a CAERO2 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property aefact_ids: list[int]
- cp
Coordinate system for locating point 1.
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- eid
Element identification number
- get_points_elements_3d()[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
- igroup
Interference group identification. Aerodynamic elements with different IGIDs are uncoupled. (Integer >= 0)
- lint
ID of an AEFACT data entry containing a list of division points for interference elements; used only if NINT is zero or blank. (Integer > 0)
- lsb
ID of an AEFACT Bulk Data entry for slender body division points; used only if NSB is zero or blank. (Integer >= 0)
- property nboxes
- nint
Number of interference elements. If NINT > 0, then NINT equal divisions are assumed; if zero or blank, specify a list of divisions in LINT. (Integer >= 0)
- nsb
Number of slender body elements. If NSB > 0, then NSB equal divisions are assumed; if zero or blank, specify a list of divisions in LSB. (Integer >= 0)
- p1
Location of point 1 in coordinate system CP
- pid
Property identification number of a PAERO2 entry.
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist
The fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist
The fields that define the card
- type = 'CAERO2'
- 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
- x12
Length of body in the x-direction of the aerodynamic coordinate system. (Real > 0)
- class pyNastran.bdf.cards.aero.aero.CAERO3(eid, pid, list_w, p1, x12, p4, x43, cp=0, list_c1=None, list_c2=None, comment='')[source]
Bases:
BaseCard
Creates a CAERO2 card, which defines a wing with a wing break/cant.
- Parameters:
- eidint
element id
- pidint
PAERO3 property id
- p1(3,) float ndarray
???
- x12float
distance from p1 to p3
- p4(3,) float ndarray
???
- x43float
distance from p4 to p3
- cpint; default=0
coordinate system for locating point 1
- list_wint
???
- list_c1int; default=None
defines an AEFACT for ???
- list_c2int; default=None
defines an AEFACT for ???
- commentstr; default=’’
a comment for the card
- 1——–5———-4
- | |
- | 7–9—11 |
- | | | |
- 2—–8–10–12—–3
- _properties = ['shape', 'xy']
- classmethod add_card(card, comment='')[source]
Adds a CAERO3 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- cp
Coordinate system for locating point 1.
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- eid
Element identification number
- get_npanel_points_elements() tuple[int, int] [source]
Gets the number of sub-points and sub-elements for the CAERO card
- Returns:
- npointsint
The number of nodes for the CAERO
- nelementsint
The number of elements for the CAERO
- get_points()[source]
Get the 4 corner points for the CAERO card
- Returns:
- p1234(4, 3) list
List of 4 corner points in the global frame
- panel_points_elements()[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
- pid
Property identification number of a PAERO3 entry.
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist
The fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist
The fields that define the card
- property shape: tuple[int, int]
returns (nelements_nchord, nelements_span)
- type = 'CAERO3'
- 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
- property xy: tuple[ndarray, ndarray]
- 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.aero.CAERO4(eid, pid, p1, x12, p4, x43, cp=0, nspan=0, lspan=0, comment='')[source]
Bases:
BaseCard
Aerodynamic Macro-Strip Element Connection Defines an aerodynamic macro element for Strip theory.
1
2
3
4
5
6
7
8
9
CAERO4
EID
PID
CP
NSPAN
NCHORD
X1
Y1
Z1
X12
X4
Y4
Z4
X43
Defines a CAERO4 card, which defines a strip theory surface.
- Parameters:
- eidint
element id
- pidint
int : PAERO4 ID
- 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)
- x12float
distance along the flow direction from node 1 to node 2 (typically x, root chord)
- x43float
distance along the flow direction from node 4 to node 3 (typically x, tip chord)
- cpint; default=0
int : coordinate system
- nspanint; default=0
int > 0 : N spanwise boxes distributed evenly int = 0 : use lchord
- lspanint; default=0
int > 0 : AEFACT reference for non-uniform nspan int = 0 : use nspan
- commentstr; default=’’
a comment for the card
- _properties = ['shape', 'xy']
- classmethod add_card(card, comment='')[source]
Adds a CAERO4 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- cp
Coordinate system for locating point 1.
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- eid
Element identification number
- get_npanel_points_elements()[source]
Gets the number of sub-points and sub-elements for the CAERO card
- Returns:
- npointsint
The number of nodes for the CAERO
- nelementsint
The number of elements for the CAERO
- panel_points_elements()[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
- pid
Property identification number of a PAERO4 entry.
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist
The fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist
The fields that define the card
- property shape
returns (nelements_nchord, nelements_span)
- type = 'CAERO4'
- 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
- property 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.aero.CAERO5(eid, pid, p1, x12, p4, x43, cp=0, nspan=0, lspan=0, ntheory=0, nthick=0, comment='')[source]
Bases:
BaseCard
Defines an aerodynamic macro element for Piston theory.
1
2
3
4
5
6
7
8
9
CAERO5
EID
PID
CP
NSPAN
LSPAN
NTHRY
NTHICK
X1
Y1
Z1
X12
X4
Y4
Z4
X43
CAERO5
6000
6001
100
315
0
0
0.0
0.0
0.0
1.0
0.2
1.0
0.8
Defines a CAERO5 card, which defines elements for Piston theory (high supersonic flow where the normal Mach is less than 1).
- Parameters:
- eidint
element id
- pidint
PAERO5 ID
- 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)
- x12float
distance along the flow direction from node 1 to node 2; (typically x, root chord)
- x43float
distance along the flow direction from node 4 to node 3; (typically x, tip chord)
- cpint; default=0
int : coordinate system
- nspanint; default=0
int > 0 : N spanwise boxes distributed evenly int = 0 : use lchord
- lspanint; default=0
int > 0 : AEFACT reference for non-uniform nspan int = 0 : use nspan
- ntheoryint; default=0
??? valid_theory = {0, 1, 2}
- nthickint; default=0
???
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds a CAERO5 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- cp
Coordinate system for locating point 1.
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- eid
Element identification number
- property nboxes
- pid
Property identification number of a PAERO5 entry.
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist
The fields that define the card
- type = 'CAERO5'
- class pyNastran.bdf.cards.aero.aero.MONDSP1(name, label, axes, aecomp_name, xyz, cp=0, cd=None, ind_dof='123', comment='')[source]
Bases:
BaseCard
1
2
3
4
5
6
7
8
9
MONPNT1
NAME
LABEL
AXES
COMP
CP
X
Y
Z
CD
INDDOF
MONPNT1
WING155
Wing Integrated Load to Butline 155
34
WING
0.0
155.0
15.0
Creates a MONDSP1 card
- Parameters:
- namestr
Character string of up to 8 characters identifying the monitor point
- labelstr
A string comprising no more than 56 characters that identifies and labels the monitor point.
- axesstr
components {1,2,3,4,5,6}
- aecomp_namestr
name of the AECOMP/AECOMPL entry
- xyzlist[float, float, float]; default=None
The coordinates in the CP coordinate system about which the loads are to be monitored. None : [0., 0., 0.]
- cpint, CORDx; default=0
coordinate system of XYZ
- cdint; default=None -> cp
the coordinate system for load outputs
- ind_dofstr; default=’123’
the dofs to map
- commentstr; default=’’
a comment for the card
Notes
MSC specific card
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- type = 'MONDSP1'
- class pyNastran.bdf.cards.aero.aero.MONPNT1(name, label, axes, aecomp_name, xyz, cp=0, cd=None, comment='')[source]
Bases:
BaseCard
1
2
3
4
5
6
7
8
9
MONPNT1
NAME
LABEL
AXES
COMP
CP
X
Y
Z
CD
MONPNT1
WING155
Wing Integrated Load to Butline 155
34
WING
0.0
155.0
15.0
Creates a MONPNT1 card
- Parameters:
- namestr
Character string of up to 8 characters identifying the monitor point
- labelstr
A string comprising no more than 56 characters that identifies and labels the monitor point.
- axesstr
components {1,2,3,4,5,6}
- aecomp_namestr
name of the AECOMP/AECOMPL entry
- xyzlist[float, float, float]; default=None
The coordinates in the CP coordinate system about which the loads are to be monitored. None : [0., 0., 0.]
- cpint, CORDx; default=0
coordinate system of XYZ
- cdint; default=None -> cp
the coordinate system for load outputs
- commentstr; default=’’
a comment for the card
Notes
CD - MSC specific field
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- type = 'MONPNT1'
- class pyNastran.bdf.cards.aero.aero.MONPNT2(name: str, label: str, tables: list[str], element_types: list[str], nddl_items: list[str], eids: list[list[int]], comment: str = '')[source]
Bases:
BaseCard
MSC Nastran specific card
- type = 'MONPNT2'
- class pyNastran.bdf.cards.aero.aero.MONPNT3(name: str, label: str, axes: str, grid_set_group: int | str, elem_set_group: int | str, xyz: list[float], cp: int = 0, cd=None, xflag=None, comment='')[source]
Bases:
BaseCard
MSC +———+———+———+———+—–+——-+——+——-+—-+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +=========+=========+=========+=========+=====+=======+======+=======+====+ | MONPNT3 | NAME | LABEL | | +———+———+———+———+—–+——-+——+——-+—-+ | | AXES | GRIDSET | ELEMSET | X | Y | Z | XFLAG | | +———+———+———+———+—–+——-+——+——-+—-+ | | CD | | | | | | | | +———+———+———+———+—–+——-+——+——-+—-+ | MONPNT3 | WING155 | Wing Integrated Load to Butline 155 | +———+———+———+———+—–+——-+——+——-+—-+ | | 34 | 37 | | 0.0 | 155.0 | 15.0 | | | +———+———+———+———+—–+——-+——+——-+—-+
NX +———+———+———+———+—–+——-+——+——-+—-+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +=========+=========+=========+=========+=====+=======+======+=======+====+ | MONPNT3 | NAME | LABEL | | +———+———+———+———+—–+——-+——+——-+—-+ | | AXES | GRIDGRP | ELEMGRP | X | Y | Z | XFLAG | | +———+———+———+———+—–+——-+——+——-+—-+ | | CD | | | | | | | | +———+———+———+———+—–+——-+——+——-+—-+ | MONPNT3 | WING155 | Wing Integrated Load to Butline 155 | +———+———+———+———+—–+——-+——+——-+—-+ | | 34 | 37 | | 0.0 | 155.0 | 15.0 | | | +———+———+———+———+—–+——-+——+——-+—-+
Note: the GRIDSET/ELEMSET and GRIDGRP/ELEMGRP is different
- Parameters:
- namestr
A unique character string that identifies the monitor point. (8 characters maximum)
- labelstr
A string that identifies and labels the monitor point. (56 characters maximum)
- axesstr
Component axes about which to sum. (Integer; Any unique combination of the integers 1 through 6 with no embedded blanks)
- grid_set: int
Refers to a SET1 entry that has a list of grids to be included in the monitored point.
- elem_set: int; default=0
Refers to a SET1 entry that has a list of elements to include at the monitored point. optional
- grid_groupstr
GROUP entry that has a list of grids to be included in the monitor point.
- elem_groupstr; default=’’
GROUP entry that has a list of elements to process at the monitor point.
- cpint; default=0
The identification number of a coordinate system in which the X1, X2, and X3 coordinates are defined.
- xyz: list[float]
The coordinates in the CP coordinate system about which the forces are to be summed.
- xflagstr; deault=None -> no types excluded
Exclusion flag excludes the indicated Grid Point Force types from summation at the monitor point. - “S”: SPC forces are excluded. - “M”: MPC forces are excluded. - “A”, “L”, or “P”: applied loads (including thermal loads), are excluded. - “D”: DMIGs at the monitored point are excluded. - C contact forces (MSC-SOL 400 only)
- cdint; default=None -> cp
The identification number of a coordinate system in which the results are output.
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- type = 'MONPNT3'
- class pyNastran.bdf.cards.aero.aero.PAERO1(pid, caero_body_ids=None, comment='')[source]
Bases:
BaseCard
Defines associated bodies for the panels in the Doublet-Lattice method.
1
2
3
4
5
6
7
8
PAERO1
PID
B1
B2
B3
B4
B5
B6
Creates a PAERO1 card, which defines associated bodies for the panels in the Doublet-Lattice method.
- Parameters:
- pidint
PAERO1 id
- caero_body_idslist[int]; default=None
CAERO2 ids that are within the same IGROUP group
- commentstr; default=’’
a comment for the card
- _properties = ['_field_map']
- classmethod add_card(card, comment='')[source]
Adds a PAERO1 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'PAERO1'
- class pyNastran.bdf.cards.aero.aero.PAERO2(pid, orient, width, AR, thi, thn, lrsb=None, lrib=None, lth=None, comment='')[source]
Bases:
BaseCard
Defines the cross-sectional properties of aerodynamic bodies.
1
2
3
4
5
6
7
8
9
PAERO2
PID
ORIENT
WIDTH
AR
LRSB
LRIB
LTH1
LTH2
THI1
THN1
THI2
THN2
THI3
THN3
Creates a PAERO2 card, which defines additional cross-sectional properties for the CAERO2 geometry.
- Parameters:
- pidint
PAERO1 id
- orientstr
Orientation flag. Type of motion allowed for bodies. Refers to the aerodynamic coordinate system of ACSID. See AERO entry. valid_orientations = {Z, Y, ZY}
- widthfloat
Reference half-width of body and the width of the constant width interference tube
- ARfloat
Aspect ratio of the interference tube (height/width)
- thi / thnlist[int]
The first (thi) and last (thn) interference element of a body to use the theta1/theta2 array
- lrsbint; default=None
- intAEFACT id containing a list of slender body half-widths
at the end points of the slender body elements
None : use width
- lribint; default=None
- intAEFACT id containing a list of interference body
half-widths at the end points of the interference elements
None : use width
- lthlist[int, int]; default=None
AEFACT id for defining theta arrays for interference calculations for theta1/theta2
- commentstr; default=’’
a comment for the card
- AR
Aspect ratio of the interference tube (height/width). float>0.
- _properties = ['_field_map', 'lth1', 'lth2']
- classmethod add_card(card, comment='')[source]
Adds a PAERO2 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- lrib
Identification number of an AEFACT entry containing a list of slender body half-widths at the end points of the interference elements. If blank, the value of WIDTH will be used. (Integer > 0 or blank)
- lrsb
Identification number of an AEFACT entry containing a list of slender body half-widths at the end points of the slender body elements. If blank, the value of WIDTH will be used. (Integer > 0 or blank)
- property lth1
- property lth2
- orient
Orientation flag. Type of motion allowed for bodies. Refers to the aerodynamic coordinate system of ACSID. See AERO entry. (Character = ‘Z’, ‘Y’, or ‘ZY’)
- pid
Property identification number. (Integer > 0)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'PAERO2'
- width
Reference half-width of body and the width of the constant width interference tube. (Real > 0.0)
- class pyNastran.bdf.cards.aero.aero.PAERO3(pid, nbox, ncontrol_surfaces, x, y, comment='')[source]
Bases:
BaseCard
Defines the number of Mach boxes in the flow direction and the location of cranks and control surfaces of a Mach box lifting surface.
1
2
3
4
5
6
7
8
9
PAERO3
PID
NBOX
NCTRL
X5
Y5
X6
Y6
X7
Y7
X8
Y8
X9
Y9
X10
Y10
X11
Y11
X12
Y12
PAERO3
2001
15
1
97.5
97.5
Creates a PAERO3 card, which defines the number of Mach boxes in the flow direction and the location of cranks and control surfaces of a Mach box lifting surface.
- Parameters:
- pidint
PAERO1 id
- nboxint
Number of Mach boxes in the flow direction; 0 < nbox < 50
- ncontrol_surfacesint
Number of control surfaces. (0, 1, or 2)
- x / ylist[float, None]
float : locations of points 5 through 12, which are in the aerodynamic coordinate system, to define the cranks and control surface geometry.
- commentstr; default=’’
a comment for the card
- _properties = ['npoints']
- classmethod add_card(card, comment='')[source]
Adds a PAERO3 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property npoints
- pid
Property identification number. (Integer > 0)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'PAERO3'
- class pyNastran.bdf.cards.aero.aero.PAERO4(pid, docs, caocs, gapocs, cla=0, lcla=0, circ=0, lcirc=0, comment='')[source]
Bases:
BaseCard
Defines properties of each strip element for Strip theory.
1
2
3
4
5
6
7
8
9
PAERO4
PID
CLA
LCLA
CIRC
LCIRC
DOC1
CAOC1
GAPOC1
DOC2
CAOC2
GAPOC2
DOC3
CAOC3
GAPOC3
etc.
PAERO4
6001
1
501
0
0
0.0
0.0
0.0
0.50
0.25
0.02
0.53
0.24
0.0
## TODO: what happens for DOC4?
- Parameters:
- PIDint
Property identification number. (Integer > 0)
- CLAint; default=0
Select Prandtl-Glauert correction. (Integer = -1, 0, 1) -1 Compressibility correction made to lift curve slope data for a reference Mach number. 0 No correction and no list needed. (Default) +1 No correction and lift curve slope provided by a list as a
function of strip location and Mach number.
- LCLAint
ID number of the AEFACT entry that lists the lift curve slope on all strips for each Mach number on the MKAEROi entry. See Remark 2 below. (Integer = 0 if CLA = 0, > 0 if CLA ≠ 0)
- CIRCint; default=0
Select Theodorsen’s function C(k) or the number of exponential coefficients used to approximate C(k). (Integer = 0, 1, 2, 3; Must be zero if CLA ≠ 0.) 0 Theodorsen function. 1, 2, 3 Approximate function with b0, b1, β1, …, bn, βn n = 1, 2, 3.
- LCIRCint
Identification number of the AEFACT entry that lists the b, β values for each Mach number. See Remark 3, 4, and 5 below; variable b’s and β’s for each mi on the MKAEROi entry. (Integer = 0 if CIRC = 0, > 0 if CIRC ≠ 0)
- DOCilist[float]
d/c = distance of the control surface hinge aft of the quarter-chord divided by the strip chord (Real ≥ 0.0)
- CAOCilist[float]
ca/c = control surface chord divided by the strip chord. (Real ≥ 0.0)
- GAPOCilist[float]
g/c = control surface gap divided by the strip chord. (Real ≥ 0.0)
- classmethod add_card(card, comment='')[source]
Adds a PAERO4 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- pid
Property identification number. (Integer > 0)
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'PAERO4'
- class pyNastran.bdf.cards.aero.aero.PAERO5(pid: int, caoci, nalpha: int = 0, lalpha: int = 0, nxis=0, lxis: int = 0, ntaus: int = 0, ltaus: int = 0, comment='')[source]
Bases:
BaseCard
1
2
3
4
5
6
7
8
PAERO5
PID
NALPHA
LALPHA
NXIS
LXIS
NTAUS
LTAUS
CAOC1
CAOC2
CAOC3
CAOC4
CAOC5
PAERO5
7001
1
702
1
701
1
700
0.0
0.0
5.25
3.99375
0.0
- _properties = ['ltaus_id', 'lxis_id']
- classmethod add_card(card: BDFCard, comment: str = '')[source]
Adds a PAERO5 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
- property ltaus_id
- property lxis_id
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'PAERO5'
- class pyNastran.bdf.cards.aero.aero.SPLINE1(eid: int, caero: int, box1: int, box2: int, setg: int, dz: float = 0.0, method: str = 'IPS', usage: str = 'BOTH', nelements: int = 10, melements: int = 10, comment: str = '')[source]
Bases:
Spline
Surface Spline Methods Defines a surface spline for interpolating motion and/or forces for aeroelastic problems on aerodynamic geometries defined by regular arrays of aerodynamic 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
Creates a SPLINE1, which defines a surface spline.
- Parameters:
- eidint
spline id
- caeroint
CAEROx id that defines the plane of the spline
- box1 / box2int
First/last box id that is used by the spline
- setgint
SETx id that defines the list of GRID points that are used by the surface spline
- dzfloat; default=0.0
linear attachment flexibility dz = 0.; spline passes through all grid points
- methodstr; default=IPS
method for spline fit valid_methods = {IPS, TPS, FPS} IPS : Harder-Desmarais Infinite Plate Spline TPS : Thin Plate Spline FPS : Finite Plate Spline
- usagestr; default=BOTH
Spline usage flag to determine whether this spline applies to the force transformation, displacement transformation, or both valid_usage = {FORCE, DISP, BOTH}
- nelementsint; default=10
The number of FE elements along the local spline x-axis if using the FPS option
- melementsint; default=10
The number of FE elements along the local spline y-axis if using the FPS option
- commentstr; default=’’
a comment for the card
- _properties = ['aero_element_ids']
- classmethod add_card(card, comment='')[source]
Adds a SPLINE1 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property aero_element_ids
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'SPLINE1'
- class pyNastran.bdf.cards.aero.aero.SPLINE2(eid: int, caero: int, box1: int, box2: int, setg: int, dz: float = 0.0, dtor: float = 1.0, cid: int = 0, dthx: float = 0.0, dthy: float = 0.0, usage: str = 'BOTH', comment: str = '')[source]
Bases:
Spline
Linear Spline Defines a beam spline for interpolating motion and/or forces for aeroelastic problems on aerodynamic geometries defined by regular arrays of aerodynamic points.
1
2
3
4
5
6
7
8
9
SPLINE2
EID
CAERO
ID1
ID2
SETG
DZ
DTOR
CID
DTHX
DTHY
None
USAGE
SPLINE2
5
8
12
24
60
1.0
3
Creates a SPLINE2 card, which defines a beam spline.
- Parameters:
- eidint
spline id
- caeroint
CAEROx id that defines the plane of the spline
- box1 / box2int
First/last box/body id that is used by the spline
- setgint
SETx id that defines the list of GRID points that are used by the beam spline
- dzfloat; default=0.0
linear attachment flexibility dz = 0.; spline passes through all grid points
- dtorfloat; default=1.0
Torsional flexibility ratio (EI/GJ). Use 1.0 for bodies (CAERO2).
- cidint; default=0
Rectangular coordinate system for which the y-axis defines the axis of the spline. Not used for bodies, CAERO2
- dthxfloat; default=0.
Rotational attachment flexibility. DTHX : Used for rotation about the spline’s x-axis (in-plane
bending rotations). It is not used for bodies (CAERO2).
- DTHYUsed for rotation about the spline’s y-axis (torsion).
It is used for slope of bodies.
- usagestr; default=BOTH
Spline usage flag to determine whether this spline applies to the force transformation, displacement transformation, or both valid_usage = {FORCE, DISP, BOTH}
- commentstr; default=’’
a comment for the card
- _properties = ['aero_element_ids']
- classmethod add_card(card, comment='')[source]
Adds a SPLINE2 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property aero_element_ids
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'SPLINE2'
- class pyNastran.bdf.cards.aero.aero.SPLINE3(eid: int, caero: int, box_id: int, components: int, nodes: list[int], displacement_components: list[int], coeffs: list[float], usage: str = 'BOTH', comment: str = '')[source]
Bases:
Spline
Defines a constraint equation for aeroelastic problems. Useful for control surface constraints.
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.
SPLINE3
7000
107
109
6
5
3
1.0
BOTH
43
5
-1.0
Creates a SPLINE3 card, which is useful for control surface constraints.
- Parameters:
- eidint
spline id
- caeroint
CAEROx id that defines the plane of the spline
- box_idint
Identification number of the aerodynamic box number.
- componentsint
The component of motion to be interpolated. 3, 5 (CAERO1) 2, 3, 5, 6 (CAERO2) 3 (CAERO3) 3, 5, 6 (CAERO4) 3, 5, 6 (CAERO5) 1, 2, 3, 5, 6 (3D Geometry) 2-lateral displacement 3-transverse displacement 5-pitch angle 6-relative control angle for CAERO4/5; yaw angle for CAERO2
- nodeslist[int]
Grid point identification number of the independent grid point.
- displacement_componentslist[int]
Component numbers in the displacement coordinate system. 1-6 (GRIDs) 0 (SPOINTs)
- coeffslist[float]
Coefficient of the constraint relationship.
- usagestr; default=BOTH
Spline usage flag to determine whether this spline applies to the force transformation, displacement transformation, or both valid_usage = {FORCE, DISP, BOTH}
- commentstr; default=’’
a comment for the card
- _properties = ['node_ids']
- classmethod add_card(card: BDFCard, comment: str = '')[source]
Adds a SPLINE3 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property node_ids
- raw_fields()[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'
- class pyNastran.bdf.cards.aero.aero.SPLINE4(eid: int, caero: int, aelist: int, setg: int, dz: float, method: str, usage: str, nelements: int, melements: int, ftype: str | None = None, rcore: float | None = None, comment: str = '')[source]
Bases:
Spline
Surface Spline Methods Defines a curved surface spline for interpolating motion and/or forces for aeroelastic problems on general aerodynamic geometries using either the Infinite Plate, Thin Plate or Finite Plate splining method.
NX +———+——-+——-+——–+——-+——+—-+——+——-+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +=========+=======+=======+========+=======+======+====+======+=======+ | SPLINE4 | EID | CAERO | AELIST | | SETG | DZ | METH | USAGE | +———+——-+——-+——–+——-+——+—-+——+——-+ | | NELEM | MELEM | | | | | | | +———+——-+——-+——–+——-+——+—-+——+——-+ | SPLINE4 | 3 | 111 | 115 | | 14 | 0. | IPS | | +———+——-+——-+——–+——-+——+—-+——+——-+
MSC +———+——-+——-+——–+——-+——+—-+——+——-+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +=========+=======+=======+========+=======+======+====+======+=======+ | SPLINE4 | EID | CAERO | AELIST | | SETG | DZ | METH | USAGE | +———+——-+——-+——–+——-+——+—-+——+——-+ | | NELEM | MELEM | FTYPE | RCORE | | | | | +———+——-+——-+——–+——-+——+—-+——+——-+ | SPLINE4 | 3 | 111 | 115 | | 14 | 0. | IPS | | +———+——-+——-+——–+——-+——+—-+——+——-+
Creates a SPLINE4 card, which defines a curved Infinite Plate, Thin Plate, or Finite Plate Spline.
- Parameters:
- eidint
spline id
- caeroint
CAEROx id that defines the plane of the spline
- box1 / box2int
First/last box id that is used by the spline
- setgint
SETx id that defines the list of GRID points that are used by the surface spline
- dzfloat; default=0.0
linear attachment flexibility dz = 0.; spline passes through all grid points
- methodstr; default=IPS
method for spline fit valid_methods = {IPS, TPS, FPS} IPS : Harder-Desmarais Infinite Plate Spline TPS : Thin Plate Spline FPS : Finite Plate Spline
- usagestr; default=BOTH
Spline usage flag to determine whether this spline applies to the force transformation, displacement transformation, or both valid_usage = {FORCE, DISP, BOTH}
- nelements / melementsint; default=10
The number of FE elements along the local spline x/y-axis if using the FPS option
- ftype: str; default=None
MSC only
- rcorefloat; default=None
MSC only
- commentstr; default=’’
a comment for the card
- _properties = ['aero_element_ids']
- classmethod add_card(card: BDFCard, comment: str = '')[source]
Adds a SPLINE4 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property aero_element_ids: list[int]
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- 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 = 'SPLINE4'
- class pyNastran.bdf.cards.aero.aero.SPLINE5(eid, caero, aelist, setg, thx, thy, dz=0.0, dtor=1.0, cid=0, usage='BOTH', method='BEAM', ftype='WF2', rcore=None, comment='')[source]
Bases:
Spline
Linear Spline Defines a 1D beam spline for interpolating motion and/or forces for aeroelastic problems on aerodynamic geometries defined by irregular arrays of aerodynamic points. The interpolating beam supports axial rotation and bending in the yz-plane.
+=========+======+=======+========+=======+======+====+=======+=======+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +=========+======+=======+========+=======+======+====+=======+=======+ | SPLINE5 | EID | CAERO | AELIST | | SETG | DZ | DTOR | CID | +———+——+——-+——–+——-+——+—-+——-+——-+ | | DTHX | DTHY | | USAGE | METH | | FTYPE | RCORE | +———+——+——-+——–+——-+——+—-+——-+——-+
METH, FTYPE, RCORE are in 2012+ (not MSC.2005r2 or NX.10)
- _properties = ['aero_element_ids']
- classmethod add_card(card, comment='')[source]
Adds a SPLINE5 card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- property aero_element_ids
- cross_reference(model: BDF) None [source]
Cross links the card so referenced cards can be extracted directly
- Parameters:
- modelBDF()
the BDF object
- raw_fields()[source]
Gets the fields in their unmodified form
- Returns:
- fieldslist[varies]
the fields that define the card
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist[varies]
the fields that define the card
- type = 'SPLINE5'
- pyNastran.bdf.cards.aero.aero.build_caero_paneling(model: BDF) tuple[str, list[str], Any] [source]
- Creates the CAERO panel inputs including:
caero
caero_subpanels
caero_control_surfaces
N control surfaces
- Parameters:
- modelBDF()
the bdf model
- Returns:
- caero_points(N_aero_points, 3) float ndarray
the xyz points for the aero panels N_aero_points can be 0
- ncaerosint
the number of aero sub-panels?
- ncaeros_subint
???
- ncaeros_csint
???
- ncaeros_pointsint
number of points for the caero coarse grid
- ncaero_sub_pointsint
number of points for the caero fine/subpanel grid
- has_control_surfacebool
is there a control surface
- box_id_to_caero_element_mapdict[box_id] = box_index
used to map the CAEROx box id to index in the ??? (aero panel elements) array, which will be used with cs_box_ids
- cs_box_idsdict[control_surface_name]list[panel ids]
list of panels used by each aero panel