pterasoftware.operating_point¶
Contains the OperatingPoint class.
Classes¶
A class used to contain the operating conditions of an aerodynamic problem. |
Module Contents¶
- class pterasoftware.operating_point.OperatingPoint(rho: float | int = 1.225, vCg__E: float | int = 10.0, alpha: float | int = 5.0, beta: float | int = 0.0, angles_E_to_BP1_izyx: numpy.ndarray | collections.abc.Sequence[float | int] = (0.0, 0.0, 0.0), CgP1_E_Eo: numpy.ndarray | collections.abc.Sequence[float | int] = (0.0, 0.0, 0.0), surfaceNormal_E: None | numpy.ndarray | collections.abc.Sequence[float | int] = None, surfacePoint_E_Eo: None | numpy.ndarray | collections.abc.Sequence[float | int] = None, externalFX_W: float | int = 0.0, nu: float | int = 1.506e-05, g_E: numpy.ndarray | collections.abc.Sequence[float | int] = (0.0, 0.0, 0.0), omegas_BP1__E: numpy.ndarray | collections.abc.Sequence[float | int] = (0.0, 0.0, 0.0))[source]¶
A class used to contain the operating conditions of an aerodynamic problem.
Contains the following methods:
qInf__E: The freestream dynamic pressure experienced by the Airplane (observed in the Earth frame).
T_pas_GP1_CgP1_to_W_CgP1: The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
T_pas_W_CgP1_to_GP1_CgP1: The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
vInfHat_GP1__E: The freestream direction (in the first Airplane’s geometry axes, observed from the Earth frame).
vInf_GP1__E: The freestream velocity (in the first Airplane’s geometry axes, observed from the Earth frame).
Citation:
Adapted from: performance.OperatingPoint in AeroSandbox
Author: Peter Sharpe
Date of retrieval: 04/29/2020
- Parameters:
rho – The fluid’s density. It must be a positive number (int or float) and will be converted internally to a float. The units are in kilograms per meters cubed. The default is 1.225.
vCg__E – The speed of the Airplane’s or Airplanes’ CG(s) (observed from the Earth frame). In formation flight with multiple Airplanes, all Airplanes share the same velocity magnitude. Given that (1) this is the magnitude of a vector, and (2) we always assume a still fluid in our simulations, this value is equivalent to the freestream speed (the speed of the apparent wind, infinitely far away from the Airplane or Airplanes, observed while moving at the same speed as the non accelerating CG or CGs). It must be a positive number (int or float) and will be converted internally to a float. Its units are in meters per second. The default is 10.0.
alpha – The angle of attack for the problem’s Airplane(s). For more details on the exact interpretation of this value, see the description of wind axes in docs/AXES_POINTS_AND_FRAMES.md. It must be a number (int or float) in the range (-180.0, 180.0] and will be converted internally to a float. The units are in degrees. The default is 5.0.
beta – The sideslip angle for the problem’s Airplane(s). For more details on the exact interpretation of this value, see the description of wind axes in docs/AXES_POINTS_AND_FRAMES.md. It must be a number (int or float) in the range (-180.0, 180.0] and will be converted internally to a float. The units are in degrees. The default is 0.0.
angles_E_to_BP1_izyx – An array-like object of 3 numbers representing the angles from Earth axes to the first Airplane’s body axes using an intrinsic zy’x” sequence. Can be a tuple, list, or ndarray. Values are converted to floats internally. Note that body axes differ from geometry axes: body axes point forward/right/down while geometry axes point aft/right/up. The units are in degrees. All angles must lie in the range (-180.0, 180.0] degrees. The default is (0.0, 0.0, 0.0).
CgP1_E_Eo – An array-like object of 3 numbers representing the position of the first Airplane’s CG (in Earth axes, relative to the Earth origin). Can be a tuple, list, or ndarray. Values are converted to floats internally. The units are in meters. The default is (0.0, 0.0, 0.0).
surfaceNormal_E – None, or an array-like of 3 numbers (int or float) representing the unit normal vector (in Earth axes) that, together with surfacePoint_E_Eo, defines the image surface used for surface effect modeling via the method of images. Can be None, or a tuple, list, or ndarray. If not None, values are converted to floats and normalized internally. Note that reversing the normal direction (using the antiparallel vector) defines the same plane and produces the same result. This value must be None if surfacePoint_E_Eo is None, and cannot be None if surfacePoint_E_Eo is not None. The default is None.
surfacePoint_E_Eo – None, or an array-like of 3 numbers (int or float) representing a point (in Earth axes, relative to the Earth origin) that, along with surfaceNormal_E, defines the location of the image surface used for surface effect modeling via the method of images. Can be None, or a tuple, list, or ndarray. If not None, values are converted to floats internally. This value must be None if surfaceNormal_E is None, and cannot be None if surfaceNormal_E is not None. The units are in meters. The default is None.
externalFX_W – The additional thrust or drag on a problem’s Airplane(s) (in wind axes) not due to the Airplanes’ Wings. It is useful for trim analyses. It must be a number (int or float) and will be converted internally to a float. The units are in Newtons. The default is 0.0.
nu – The fluid’s kinematic viscosity. The units are in meters squared per second. This parameter is only used in the unsteady ring vortex lattice method’s vortex core growth model. It must be a positive number and will be converted internally to a float. Its units are in meters squared per second. The default is 15.06e-6, which corresponds to air’s kinematic viscosity at 20 degrees Celsius [source: https://www.engineeringtoolbox.com].
g_E – An array-like of 3 numbers (int or float) representing the gravitational acceleration vector (in Earth axes). Can be a tuple, list, or ndarray. Values are converted to floats internally. The units are in meters per second squared. The default is (0.0, 0.0, 0.0), which corresponds to no gravitational field; set it explicitly (for example (0.0, 0.0, 9.80665) for standard gravity pointing along +z in Earth axes) to model a body in a gravitational field. This parameter is only used by the free-flight solver; other solvers ignore it.
omegas_BP1__E – An array-like of 3 numbers (int or float) representing the angular velocity of the first Airplane’s body axes (observed from the Earth frame, expressed in the first Airplane’s body axes). Can be a tuple, list, or ndarray. Values are converted to floats internally. The units are in degrees per second. The default is (0.0, 0.0, 0.0). Only the free-flight solver accepts non-zero values; other solvers raise if any component is non- zero because they do not model body rotation.
- Returns:
None
- property qInf__E: float¶
The freestream dynamic pressure experienced by the Airplane (observed in the Earth frame).
- Returns:
The freestream dynamic pressure (observed in the Earth frame). Its units are in Pascals.
- property T_pas_GP1_CgP1_to_BP1_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to the first Airplane’s body axes relative to the first Airplane’s CG.
Geometry axes to body axes transformation: flip x (aft to forward) and z (up to down). This is equivalent to a 180-degree rotation about y.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to the first Airplane’s body axes relative to the first Airplane’s CG.
- property T_pas_BP1_CgP1_to_GP1_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s body axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s body axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
- property T_pas_BP1_CgP1_to_W_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s body axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s body axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
- property T_pas_W_CgP1_to_BP1_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to the first Airplane’s body axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to the first Airplane’s body axes relative to the first Airplane’s CG.
- property T_pas_GP1_CgP1_to_W_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
- property T_pas_W_CgP1_to_GP1_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
- property T_pas_E_CgP1_to_BP1_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from Earth axes relative to the first Airplane’s CG to the first Airplane’s body axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from Earth axes relative to the first Airplane’s CG to the first Airplane’s body axes relative to the first Airplane’s CG.
- property T_pas_BP1_CgP1_to_E_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s body axes relative to the first Airplane’s CG to Earth axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s body axes relative to the first Airplane’s CG to Earth axes relative to the first Airplane’s CG.
- property T_pas_E_CgP1_to_GP1_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from Earth axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from Earth axes relative to the first Airplane’s CG to the first Airplane’s geometry axes relative to the first Airplane’s CG.
- property T_pas_GP1_CgP1_to_E_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to Earth axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from the first Airplane’s geometry axes relative to the first Airplane’s CG to Earth axes relative to the first Airplane’s CG.
- property T_pas_W_CgP1_to_E_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to Earth axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from wind axes relative to the first Airplane’s CG to Earth axes relative to the first Airplane’s CG.
- property T_pas_E_CgP1_to_W_CgP1: numpy.ndarray¶
The passive transformation matrix which maps in homogeneous coordinates from Earth axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
- Returns:
The passive transformation matrix which maps in homogeneous coordinates from Earth axes relative to the first Airplane’s CG to wind axes relative to the first Airplane’s CG.
- property surfaceNormal_GP1: numpy.ndarray | None¶
The image surface’s unit normal vector (in the first Airplane’s geometry axes).
- Returns:
A (3,) ndarray of floats representing the image surface’s unit normal vector (in the first Airplane’s geometry axes), or None if no image surface is defined.
- property surfacePoint_GP1_CgP1: numpy.ndarray | None¶
The position of a point on the image surface (in the first Airplane’s geometry axes, relative to the first Airplane’s CG).
- Returns:
A (3,) ndarray of floats representing the position of a point on the image surface (in the first Airplane’s geometry axes, relative to the first Airplane’s CG). The units are in meters. Returns None if no image surface is defined.
- property surfaceReflect_T_act_GP1_CgP1: numpy.ndarray | None¶
The active reflection transformation matrix for the image surface (in the first Airplane’s geometry axes, relative to the first Airplane’s CG).
When applied with is_position=True, this matrix reflects a point across the image surface. When applied with is_position=False, it reflects a non-position vector (such as a velocity) across the image surface’s normal direction, without any translational component.
- Returns:
A (4,4) ndarray of floats representing the active reflection transformation matrix (in the first Airplane’s geometry axes, relative to the first Airplane’s CG), or None if no image surface is defined.
- property vInfHat_GP1__E: numpy.ndarray¶
The freestream direction (in the first Airplane’s geometry axes, observed from the Earth frame).
Notes:
See the docstring for vInf_GP1__E for details on how to interpret this property.
- Returns:
The unit vector along the freestream velocity vector (in the first Airplane’s geometry axes, observed from the Earth frame).
- property vInf_GP1__E: numpy.ndarray¶
The freestream velocity (in the first Airplane’s geometry axes, observed from the Earth frame).
Notes:
I’m defining vInf_GP1__E to be -1 * vCgX_GP1__E. This may seem obvious, but the important takeaways are that the freestream velocity is (1) entirely due to the Airplane’s (or Airplanes’) body’s motion (a still airmass), and (2) the freestream velocity is observed from the Earth frame, which is inertial. Given point 1, a possible interpretation is that vInf_GP1__E must be zero, which is why I’m being specific with the definition.
- Returns:
The freestream velocity vector (in the first Airplane’s geometry axes, observed from the Earth frame).