dynamic_loads
Module
digraph inheritance6432fc3f49 {
bgcolor=transparent;
rankdir=LR;
size="";
"pyNastran.bdf.cards.aero.dynamic_loads.AERO" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.AERO",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="Gives basic aerodynamic parameters for unsteady aerodynamics."];
"pyNastran.bdf.cards.aero.dynamic_loads.Aero" -> "pyNastran.bdf.cards.aero.dynamic_loads.AERO" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.dynamic_loads.Aero" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.Aero",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="Base class for AERO and AEROS cards."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.dynamic_loads.Aero" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.dynamic_loads.FLFACT" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.FLFACT",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.dynamic_loads.FLFACT" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.dynamic_loads.FLUTTER" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.FLUTTER",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 data needed to perform flutter analysis."];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.dynamic_loads.FLUTTER" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.dynamic_loads.GUST" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.GUST",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 stationary vertical gust for use in aeroelastic response"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.dynamic_loads.GUST" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.dynamic_loads.MKAERO1" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.MKAERO1",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="Provides a table of Mach numbers (m) and reduced frequencies (k) for"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.dynamic_loads.MKAERO1" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.bdf.cards.aero.dynamic_loads.MKAERO2" [URL="#pyNastran.bdf.cards.aero.dynamic_loads.MKAERO2",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="Provides a table of Mach numbers (m) and reduced frequencies (k) for"];
"pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.aero.dynamic_loads.MKAERO2" [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:
AERO
FLFACT
FLUTTER
GUST
MKAERO1 / MKAERO2
All cards are BaseCard objects.
- class pyNastran.bdf.cards.aero.dynamic_loads.AERO(velocity, cref, rho_ref, acsid=0, sym_xz=0, sym_xy=0, comment='')[source]
Bases:
Aero
Gives basic aerodynamic parameters for unsteady aerodynamics.
1
2
3
4
5
6
7
AERO
ACSID
VELOCITY
REFC
RHOREF
SYMXZ
SYMXY
AERO
3
1.3+
1.-5
1
-1
Creates an AERO card
- Parameters:
- velocityfloat
the airspeed
- creffloat
the aerodynamic chord
- rho_reffloat
FLFACT density scaling factor
- acsidint; default=0
aerodyanmic coordinate system defines the direction of the wind
- sym_xzint; default=0
xz symmetry flag (+1=symmetry; -1=antisymmetric)
- sym_xyint; default=0
xy symmetry flag (+1=symmetry; -1=antisymmetric)
- commentstr; default=’’
a comment for the card
- _properties = ['is_anti_symmetric_xy', 'is_anti_symmetric_xz', 'is_symmetric_xy', 'is_symmetric_xz']
- classmethod add_card(card, comment='')[source]
Adds an AERO card from
BDF.add_card(...)
- Parameters:
- cardBDFCard()
a BDFCard object
- commentstr; default=’’
a comment for the card
- cref
Reference length for reduced frequency
- cross_reference(model: BDF) None [source]
Cross reference aerodynamic coordinate system.
- 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
- repr_fields()[source]
Gets the fields in their simplified form
- Returns:
- fieldslist[varies]
the fields that define the card
- rho_ref
Reference density
- safe_cross_reference(model: BDF, xref_errors)[source]
Safe cross reference aerodynamic coordinate system.
- Parameters:
- modelBDF
The BDF object.
- sym_xy
The symmetry key for the aero coordinate x-y plane can be used to simulate ground effect. (Integer = -1 for symmetry, 0 for no symmetry, and +1 for antisymmetry; Default = 0)
- sym_xz
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 = 'AERO'
- velocity
Velocity for aerodynamic force data recovery and to calculate the BOV parameter
- class pyNastran.bdf.cards.aero.dynamic_loads.Aero[source]
Bases:
BaseCard
Base class for AERO and AEROS cards.
Common class for AERO, AEROS
- Attributes:
- acsidint; default=0
aerodyanmic coordinate system defines the direction of the wind
- sym_xzint; default=0
xz symmetry flag (+1=symmetry; -1=antisymmetric)
- sym_xyint; default=0
xy symmetry flag (+1=symmetry; -1=antisymmetric)
- property is_anti_symmetric_xy
- property is_anti_symmetric_xz
- property is_symmetric_xy
- property is_symmetric_xz
- class pyNastran.bdf.cards.aero.dynamic_loads.FLFACT(sid, factors, comment='')[source]
Bases:
BaseCard
1
2
3
4
5
6
7
8
9
FLFACT
SID
F1
F2
F3
F4
F5
F6
F7
F8
F9
etc.
FLFACT
97
.3
.7
3.5
# delta quantity approach
1
2
3
4
5
6
7
FLFACT
SID
F1
THRU
FNF
NF
FMID
FLFACT
201
0.200
THRU
0.100
11
0.1333
Creates an FLFACT card, which defines factors used for flutter analysis. These factors define either:
density
mach
velocity
reduced frequency
depending on the FLUTTER method chosen (e.g., PK, PKNL, PKNLS)
- Parameters:
- sidint
the id of a density, reduced_frequency, mach, or velocity table the FLUTTER card defines the meaning
- factorsvaries
- valueslist[float, …, float]
list of factors
- list[f1, THRU, fnf, nf, fmid]
- f1float
first value
- THRUstr
the word THRU
- fnffloat
second value
- nfint
number of values
- fmidfloat; default=(f1 + fnf) / 2.
the mid point to bias the array
TODO: does f1 need be be greater than f2/fnf???
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds an FLFACT 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 = 'FLFACT'
- class pyNastran.bdf.cards.aero.dynamic_loads.FLUTTER(sid: int, method: str, density: int, mach: int, reduced_freq_velocity: int, imethod: str = 'L', nvalue=None, omax=None, epsilon: float = 0.001, comment: str = '', validate: bool = False)[source]
Bases:
BaseCard
Defines data needed to perform flutter 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
Creates a FLUTTER card, which is required for a flutter (SOL 145) analysis.
- Parameters:
- sidint
flutter id
- methodstr
- valid methods = [K, KE,
PKS, PKNLS, PKNL, PKE]
- densityint
defines a series of air densities in units of mass/volume PARAM,WTMASS does not affect this AERO affects this references an FLFACT id
- machint
defines a series of the mach numbers references an FLFACT id
- reduced_freq_velocityint
- Defines a series of either:
reduced frequencies - K, KE
velocities - PK, PKNL, PKS, PKNLS
depending on the method chosen. references an FLFACT id
- imethodstr; default=’L’
Choice of interpolation method for aerodynamic matrix interpolation. imethods :
L - linear
S - surface
TCUB - termwise cubic
- nvalueint
Number of eigenvalues beginning with the first eigenvalue for output and plots
- omaxfloat
For the PKS and PKNLS methods, OMAX specifies the maximum frequency, in Hz., to be used in he flutter sweep. MSC only.
- epsilonfloat; default=1.0e-3
Convergence parameter for k. Used in the PK and PKNL methods only
- commentstr; default=’’
a comment for the card
- _properties = ['_field_map', 'headers']
- classmethod add_card(card, comment='')[source]
Adds a FLUTTER 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 headers
- make_flfacts_alt_sweep_constant_mach(model: BDF, mach, alts, eas_limit: float = 1000.0, alt_units: str = 'm', velocity_units: str = 'm/s', density_units: str = 'kg/m^3', eas_units: str = 'm/s') None [source]
makes an altitude sweep
- make_flfacts_eas_sweep(model: BDF, alt: float, eass: list[float], alt_units: str = 'm', velocity_units: str = 'm/s', density_units: str = 'kg/m^3', eas_units: str = 'm/s') None [source]
- make_flfacts_eas_sweep_constant_alt(model: BDF, alt: float, eass: list[float], alt_units: str = 'm', velocity_units: str = 'm/s', density_units: str = 'kg/m^3', eas_units: str = 'm/s') None [source]
Makes a sweep across equivalent airspeed for a constant altitude.
- Parameters:
- modelBDF
the BDF model object
- altfloat
Altitude in alt_units
- easslist[float]
Equivalent airspeed in eas_units
- alt_unitsstr; default=’m’
the altitude units; ft, kft, m
- velocity_unitsstr; default=’m/s’
the velocity units; ft/s, m/s, in/s, knots
- density_unitsstr; default=’kg/m^3’
the density units; slug/ft^3, slinch/in^3, kg/m^3
- eas_unitsstr; default=’m/s’
the equivalent airspeed units; ft/s, m/s, in/s, knots
- make_flfacts_eas_sweep_constant_mach(model: BDF, mach, eass, gamma: float = 1.4, alt_units='m', velocity_units='m/s', density_units='kg/m^3', eas_units='m/s', pressure_units='Pa')[source]
eas = tas * sqrt(rho/rho0) ainf*Minf = V eas = ainf*Minf * sqrt(rho_inf/rho0) rho = p/RT eas = ainf*Minf * sqrt(p_inf/(R*T_inf*rho0))
= sqrt(gamma*R*Tinf) * Minf * sqrt(p_inf/(R*T_inf*rho0)) = Minf * sqrt(gamma*p_inf/rho0)
- make_flfacts_mach_sweep(model, alt, machs, eas_limit=1000.0, alt_units='m', velocity_units='m/s', density_units='kg/m^3', eas_units='m/s') None [source]
- make_flfacts_mach_sweep_constant_alt(model: BDF, alt, machs, eas_limit=1000.0, alt_units='m', velocity_units='m/s', density_units='kg/m^3', eas_units='m/s')[source]
makes a mach sweep
- make_flfacts_tas_sweep_constant_alt(model: BDF, alt: float, tass, eas_limit: float = 1000.0, alt_units: str = 'm', velocity_units: str = 'm/s', density_units: str = 'kg/m^3', eas_units: str = 'm/s') tuple[Any, Any, Any] [source]
makes an altitude sweep (dev…not validated)
- 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 = 'FLUTTER'
- class pyNastran.bdf.cards.aero.dynamic_loads.GUST(sid, dload, wg, x0, V=None, comment='')[source]
Bases:
BaseCard
Defines a stationary vertical gust for use in aeroelastic response analysis.
1
2
3
4
5
6
GUST
SID
DLOAD
WG
X0
V
GUST
133
61
1.0
1.+4
Creates a GUST card, which defines a stationary vertical gust for use in aeroelastic response analysis.
- Parameters:
- sidint
gust load id
- dloadint
TLOADx or RLOADx entry that defines the time/frequency dependence
- wgfloat
Scale factor (gust velocity/forward velocity) for gust velocity
- x0float
Streamwise location in the aerodynamic coordinate system of the gust reference point.
- Vfloat; default=None
- floatvelocity of the vehicle (must be the same as the
velocity on the AERO card)
None : ???
- commentstr; default=’’
a comment for the card
- classmethod add_card(card, comment='')[source]
Adds a GUST 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 = 'GUST'
- class pyNastran.bdf.cards.aero.dynamic_loads.MKAERO1(machs, reduced_freqs, comment='')[source]
Bases:
BaseCard
Provides a table of Mach numbers (m) and reduced frequencies (k) for aerodynamic matrix calculation.
1
2
3
4
5
6
7
8
9
MKAERO1
m1
m2
m3
m4
m5
m6
m7
m8
k1
k2
k3
k4
k5
k6
k7
k8
Creates an MKAERO1 card, which defines a set of mach and reduced frequencies.
- Parameters:
- machslist[float]
series of Mach numbers
- reduced_freqslist[float]
series of reduced frequencies
- commentstr; default=’’
a comment for the card
- classmethod add_card(card: BDFCard, comment: str = '')[source]
Adds an MKAERO1 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 = 'MKAERO1'
- class pyNastran.bdf.cards.aero.dynamic_loads.MKAERO2(machs, reduced_freqs, comment='')[source]
Bases:
BaseCard
Provides a table of Mach numbers (m) and reduced frequencies (k) for aerodynamic matrix calculation.
1
2
3
4
5
6
7
8
9
MKAERO2
m1
k1
m2
k2
m3
k3
m4
k4
Creates an MKAERO2 card, which defines a set of mach and reduced frequency pairs.
- Parameters:
- machslist[float]
series of Mach numbers
- reduced_freqslist[float]
series of reduced frequencies
- commentstr; default=’’
a comment for the card
- classmethod add_card(card: BDFCard, comment='')[source]
Adds an MKAERO2 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 = 'MKAERO2'