aircraft.conditions.aircraft_condition

Module Contents

Classes

ACQuantities

Represents a group of variables.

AircraftCondition

General aircraft condition.

ClimbCondition

Climb condition (intended for steady analyses)

ClimbParameters

CruiseCondition

Cruise condition: intended for steady analyses.

CruiseParameters

EigenValueOperation

Base Operation class.

HoverCondition

Hover condition (intended for steady analyses)

HoverParameters

Represents a group of variables.

Functions

convert_shape_to_action_string(old_shape, new_shape, type_)

Attributes

recorder

class aircraft.conditions.aircraft_condition.ACQuantities

Bases: csdl_alpha.VariableGroup

Represents a group of variables.

This class provides a way to organize and manage a group of variables. It allows for defining checks on the variables, adding tags to the variables, and saving the variables.

ac_states: CADDEE_alpha.utils.var_groups.AircaftStates
atmos_states: CADDEE_alpha.core.aircraft.models.atmosphere.simple_atmosphere_model.AtmosphericStates
inertial_forces
inertial_moments
class aircraft.conditions.aircraft_condition.AircraftCondition(u, v, w, p, q, r, phi, theta, psi, x, y, z, atmos_model=SimpleAtmosphereModel())

Bases: CADDEE_alpha.core.condition.Condition

General aircraft condition.

_check_shape_consistency(variables)
_expand_variables(qty)
_is_broadcastable(shape1, shape2)

Check if two shapes are broadcastable (only for vectors).

_is_vector(shape)
assemble_forces_and_moments(aero_propulsive_forces: list[csdl_alpha.Variable], aero_propulsive_moments: list[csdl_alpha.Variable], load_factor: Union[int, float, csdl_alpha.Variable] = 1, ref_point: Union[csdl_alpha.Variable, numpy.ndarray] = np.array([0.0, 0.0, 0.0]), ac_mps=None) tuple[csdl_alpha.Variable]
finalize_meshes(ignore_body_rotations=False) None

Expand meshes along the “num_nodes” axis, compute mesh velcoties and assemble meshes into isntance of MeshContainer.

Solvers may be vectorized or their inputs discretized in time (“num_nodes”). As such, meshes may need to be expanded along the “num_nodes” axis. In addition, aerodynamic solvers require nodal mesh velocities, which are in terms of the linear and angular velocities (due to vehicle rotations p, q, r) in the body-fixed frame. This function computes and sets the “nodal_velocities” attribute of the mesh class.

perform_linear_stability_analysis(total_forces, total_moments, ac_states, mass_properties, g0=9.81) CADDEE_alpha.utils.var_groups.LongitudinalStabilityMetrics
update(state: str, value: Union[float, int, numpy.ndarray, csdl_alpha.Variable])
class aircraft.conditions.aircraft_condition.ClimbCondition(initial_altitude: Union[float, int, csdl_alpha.Variable], final_altitude: Union[float, int, csdl_alpha.Variable], pitch_angle: Union[float, int, csdl_alpha.Variable], fligth_path_angle: Union[float, int, csdl_alpha.Variable, None], speed: Union[float, int, csdl_alpha.Variable, None] = None, mach_number: Union[float, int, csdl_alpha.Variable, None] = None, time: Union[float, int, csdl_alpha.Variable, None] = None, climb_gradient: Union[float, int, csdl_alpha.Variable, None] = None, rate_of_climb: Union[float, int, csdl_alpha.Variable, None] = None, atmos_model=SimpleAtmosphereModel())

Bases: AircraftCondition

Climb condition (intended for steady analyses)

Parameters
TODO
_setup_condition()
update(parameter: str, value: Union[float, int, numpy.ndarray])

Update a parameter for the climb condition

class aircraft.conditions.aircraft_condition.ClimbParameters
climb_gradient: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray]
final_altitude: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
flight_path_angle: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray]
initial_altitude: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
mach_number: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray]
pitch_angle: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
rate_of_climb: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray]
speed: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray]
time: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray]
class aircraft.conditions.aircraft_condition.CruiseCondition(altitude: Union[float, int, csdl_alpha.Variable, numpy.ndarray], range: Union[float, int, csdl_alpha.Variable, numpy.ndarray, None], pitch_angle: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0.0, speed: Union[float, int, csdl_alpha.Variable, numpy.ndarray, None] = None, mach_number: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray] = None, time: Union[float, int, csdl_alpha.Variable, None, numpy.ndarray] = None, atmos_model=SimpleAtmosphereModel())

Bases: AircraftCondition

Cruise condition: intended for steady analyses.

Parameters
- speedint | float | np.ndarray | csdl.Variable
- mach_numberUnion[float, int, csdl.Variable]
- timeint | float | np.ndarray | csdl.Variable
- pitch_angleint | float | np.ndarray | csdl.Variable
- rangeint | float | np.ndarray | csdl.Variable
- altitudeint | float | np.ndarray | csdl.Variable
Note: cannot specify all parameters at once
(e.g., cannot specify speed and mach_number at the same time)
_setup_condition()
update(parameter: str, value: Union[float, int, numpy.ndarray])

Update a parameter for the cruise condition

class aircraft.conditions.aircraft_condition.CruiseParameters
altitude: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
mach_number: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
pitch_angle: Union[float, int, csdl_alpha.Variable, csdl_alpha.ImplicitVariable, numpy.ndarray]
range: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
speed: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
time: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
class aircraft.conditions.aircraft_condition.EigenValueOperation

Bases: csdl_alpha.CustomExplicitOperation

Base Operation class.

Attributes
namestring

Name of the operation.

inputslist

List of csdl variables.

outputslist

List of csdl variables.

compute(inputs, outputs)
compute_derivatives(inputs, outputs, derivatives)
evaluate(mat)
class aircraft.conditions.aircraft_condition.HoverCondition(altitude: Union[float, int, csdl_alpha.Variable], time: Union[float, int, csdl_alpha.Variable], atmos_model=SimpleAtmosphereModel())

Bases: AircraftCondition

Hover condition (intended for steady analyses)

Parameters
- altitudeUnion[float, int, csdl.Variable]
- timeUnion[float, int, csdl.Variable]
_setup_condition()
update(parameter: str, value: Union[float, int, numpy.ndarray, csdl_alpha.Variable])

Update a parameter for the hover condition

class aircraft.conditions.aircraft_condition.HoverParameters

Bases: csdl_alpha.VariableGroup

Represents a group of variables.

This class provides a way to organize and manage a group of variables. It allows for defining checks on the variables, adding tags to the variables, and saving the variables.

altitude: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
time: Union[float, int, csdl_alpha.Variable, numpy.ndarray]
aircraft.conditions.aircraft_condition.convert_shape_to_action_string(old_shape, new_shape, type_: str)
aircraft.conditions.aircraft_condition.recorder