dynamic_loads
Module¶
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:
pyNastran.bdf.cards.aero.dynamic_loads.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
= None¶ 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
= None¶ Reference density
-
safe_cross_reference
(model: BDF, xref_errors)[source]¶ Safe cross reference aerodynamic coordinate system.
- Parameters
- modelBDF
The BDF object.
-
sym_xy
= None¶ 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
= 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
= 'AERO'¶
-
velocity
= None¶ Velocity for aerodynamic force data recovery and to calculate the BOV parameter
-
class
pyNastran.bdf.cards.aero.dynamic_loads.
Aero
[source]¶ Bases:
pyNastran.bdf.cards.base_card.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:
pyNastran.bdf.cards.base_card.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, density, mach, reduced_freq_velocity, imethod: str = 'L', nvalue=None, omax=None, epsilon: float = 0.001, comment='', validate: bool = False)[source]¶ Bases:
pyNastran.bdf.cards.base_card.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
(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') → Tuple[Any, Any, Any][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') → Tuple[Any, Any, Any][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_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')[source]¶ makes a mach sweep
-
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:
pyNastran.bdf.cards.base_card.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:
pyNastran.bdf.cards.base_card.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, comment='')[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:
pyNastran.bdf.cards.base_card.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'¶