Source code for RCAIDE.Framework.Mission.Common.Results
# RCAIDE/Framework/Analyses/Mission/Segments/Conditions/Results.py
#
#
# Created: Jul 2023, M. Clarke
# Updated: May 2024, M. Guidotti
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
# RCAIDE imports
from RCAIDE.Framework.Mission.Common import Conditions
# python imports
import numpy as np
# ----------------------------------------------------------------------------------------------------------------------
# Results
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Results(Conditions):
""" This builds upon Basic, which itself builds on conditions, to add the data structure for aerodynamic mission analyses.
Assumptions:
None
Source:ty.static.coeffici
None ty.static.coeffici
"""
def __defaults__(self):
"""This sets the default values.
Assumptions:
Coefficient subscritps:
X - force in X direction
Y - force in Y direction
Z - force in Z direction
lift - force
drag - force
L - moment about X axis
M - moment about Y axis
N - moment about Z axis
u - velocity in X drection
v - velocity in Y drection
w - velocity in Z drection
p - angular rate about X axis
q - angular rate about Y axis
r - angular rate about Z axis
Source:
N/A
Inputs:
None
Outputs:
None
Properties Used:
None
"""
self.tag = 'results'
# start default row vectors
ones_1col = self.ones_row(1)
ones_3col = self.ones_row(3)
# ----------------------------------------------------------------------------------------------------------------------
# Frames
# ----------------------------------------------------------------------------------------------------------------------
self.frames = Conditions()
# inertial conditions
self.frames.inertial = Conditions()
self.frames.inertial.position_vector = ones_3col * 0
self.frames.inertial.velocity_vector = ones_3col * 0
self.frames.inertial.acceleration_vector = ones_3col * 0
self.frames.inertial.angular_velocity_vector = ones_3col * 0
self.frames.inertial.angular_acceleration_vector = ones_3col * 0
self.frames.inertial.gravity_force_vector = ones_3col * 0
self.frames.inertial.total_force_vector = ones_3col * 0
self.frames.inertial.total_moment_vector = ones_3col * 0
self.frames.inertial.time = ones_1col * 0
self.frames.inertial.climb_rate = ones_1col * 0
self.frames.inertial.aircraft_range = ones_1col * 0
# body conditions
self.frames.body = Conditions()
self.frames.body.inertial_rotations = ones_3col * 0
self.frames.body.thrust_force_vector = ones_3col * 0
self.frames.body.moment_vector = ones_3col * 0
self.frames.body.velocity_vector = ones_3col * 0
self.frames.body.thrust_moment_vector = ones_3col * 0
self.frames.body.transform_to_inertial = np.empty([0,0,0])
# wind frame conditions
self.frames.wind = Conditions()
self.frames.wind.body_rotations = ones_3col * 0 # rotations in [X,Y,Z] -> [phi,theta,psi]
self.frames.wind.velocity_vector = ones_3col * 0
self.frames.wind.force_vector = ones_3col * 0
self.frames.wind.moment_vector = ones_3col * 0
self.frames.wind.angular_velocity_vector = ones_3col * 0
self.frames.wind.angular_acceleration_vector = ones_3col * 0
self.frames.wind.total_force_vector = ones_3col * 0
self.frames.wind.total_moment_vector = ones_3col * 0
self.frames.wind.transform_to_inertial = np.empty([0,0,0])
# planet frame conditions
self.frames.planet = Conditions()
self.frames.planet.start_time = None
self.frames.planet.latitude = ones_1col * 0
self.frames.planet.longitude = ones_1col * 0
self.frames.planet.true_course = ones_1col * 0
self.frames.planet.true_heading = ones_1col * 0
# ----------------------------------------------------------------------------------------------------------------------
# Freestream
# ----------------------------------------------------------------------------------------------------------------------
self.freestream = Conditions()
self.freestream.velocity = ones_1col * 0
self.freestream.u = ones_1col * 0
self.freestream.v = ones_1col * 0
self.freestream.w = ones_1col * 0
self.freestream.mach_number = ones_1col * 0
self.freestream.pressure = ones_1col * 0
self.freestream.temperature = ones_1col * 0
self.freestream.density = ones_1col * 0
self.freestream.speed_of_sound = ones_1col * 0
self.freestream.dynamic_viscosity = ones_1col * 0
self.freestream.altitude = ones_1col * 0
self.freestream.gravity = ones_1col * 0
self.freestream.reynolds_number = ones_1col * 0
self.freestream.dynamic_pressure = ones_1col * 0
self.freestream.delta_ISA = ones_1col * 0
# ----------------------------------------------------------------------------------------------------------------------
# Aerodynamics
# ----------------------------------------------------------------------------------------------------------------------
self.aerodynamics = Conditions()
# aerdynamic angles
self.aerodynamics.angles = Conditions()
self.aerodynamics.angles.alpha = ones_1col * 0
self.aerodynamics.angles.beta = ones_1col * 0
self.aerodynamics.angles.phi = ones_1col * 0
# aerodynamic coefficients
self.aerodynamics.coefficients = Conditions()
self.aerodynamics.coefficients.lift = ones_1col * 0
self.aerodynamics.coefficients.drag = ones_1col * 0
# aerodynamic coefficients
self.aerodynamics.coefficients = Conditions()
self.aerodynamics.coefficients.differential_surface_pressure = None
self.aerodynamics.coefficients.lift = Conditions()
self.aerodynamics.coefficients.lift.total = ones_1col * 0
self.aerodynamics.coefficients.lift.inviscid = Conditions()
self.aerodynamics.coefficients.lift.inviscid.total = ones_1col * 0
self.aerodynamics.coefficients.lift.spanwise = None
self.aerodynamics.coefficients.drag = Conditions()
self.aerodynamics.coefficients.drag.total = ones_1col * 0
self.aerodynamics.coefficients.drag.parasite = Conditions()
self.aerodynamics.coefficients.drag.miscellaneous = Conditions()
self.aerodynamics.coefficients.drag.compressible = Conditions()
self.aerodynamics.coefficients.drag.compressible.total = ones_1col * 0
self.aerodynamics.coefficients.drag.compressible.wave = Conditions()
self.aerodynamics.coefficients.drag.compressible.wave.total = ones_1col * 0
self.aerodynamics.coefficients.drag.compressible.wave.volume = ones_1col * 0
self.aerodynamics.coefficients.drag.compressible.wave.lift = ones_1col * 0
self.aerodynamics.coefficients.drag.induced = Conditions()
self.aerodynamics.coefficients.drag.induced.total = ones_1col * 0
self.aerodynamics.coefficients.drag.induced.viscous = ones_1col * 0
self.aerodynamics.coefficients.drag.induced.inviscid = ones_1col * 0
self.aerodynamics.coefficients.drag.induced.efficiency_factor = ones_1col * 0
self.aerodynamics.coefficients.drag.cooling = Conditions()
self.aerodynamics.coefficients.drag.cooling.total = ones_1col * 0
self.aerodynamics.coefficients.drag.wave = Conditions()
self.aerodynamics.coefficients.drag.wave.total = ones_1col * 0
self.aerodynamics.coefficients.drag.form = Conditions()
self.aerodynamics.coefficients.drag.form.total = ones_1col * 0
self.aerodynamics.coefficients.drag.trim = Conditions()
self.aerodynamics.coefficients.drag.trim.total = ones_1col * 0
self.aerodynamics.spanwise_induced_angle = None
self.aerodynamics.coefficients.drag.windmilling = Conditions()
self.aerodynamics.coefficients.drag.windmilling.total = ones_1col * 0
self.aerodynamics.coefficients.drag.asymmetry_trim = Conditions()
self.aerodynamics.coefficients.drag.asymmetry_trim.total = ones_1col * 0
self.aerodynamics.oswald_efficiency = ones_1col * 0
# ----------------------------------------------------------------------------------------------------------------------
# Control Surfaces
# ----------------------------------------------------------------------------------------------------------------------
self.control_surfaces = Conditions()
self.control_surfaces.aileron = Conditions()
self.control_surfaces.aileron.deflection = ones_1col * 0
self.control_surfaces.aileron.hinge_moment = ones_1col * 0
self.control_surfaces.aileron.static_stability = Conditions()
self.control_surfaces.aileron.static_stability.coefficients = Conditions()
self.control_surfaces.aileron.static_stability.coefficients.X = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.Y = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.Z = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.L = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.M = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.M_0 = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.N = ones_1col * 0
self.control_surfaces.aileron.static_stability.coefficients.e = ones_1col * 0
self.control_surfaces.elevator = Conditions()
self.control_surfaces.elevator.deflection = ones_1col * 0
self.control_surfaces.elevator.hinge_moment = ones_1col * 0
self.control_surfaces.elevator.static_stability = Conditions()
self.control_surfaces.elevator.static_stability.coefficients = Conditions()
self.control_surfaces.elevator.static_stability.coefficients.lift = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.X = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.Y = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.Z = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.L = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.M = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.N = ones_1col * 0
self.control_surfaces.elevator.static_stability.coefficients.e = ones_1col * 0
self.control_surfaces.rudder = Conditions()
self.control_surfaces.rudder.deflection = ones_1col * 0
self.control_surfaces.rudder.hinge_moment = ones_1col * 0
self.control_surfaces.rudder.static_stability = Conditions()
self.control_surfaces.rudder.static_stability.coefficients = Conditions()
self.control_surfaces.rudder.static_stability.coefficients.X = ones_1col * 0
self.control_surfaces.rudder.static_stability.coefficients.Y = ones_1col * 0
self.control_surfaces.rudder.static_stability.coefficients.Z = ones_1col * 0
self.control_surfaces.rudder.static_stability.coefficients.L = ones_1col * 0
self.control_surfaces.rudder.static_stability.coefficients.M = ones_1col * 0
self.control_surfaces.rudder.static_stability.coefficients.N = ones_1col * 0
self.control_surfaces.rudder.static_stability.coefficients.e = ones_1col * 0
self.control_surfaces.flap = Conditions()
self.control_surfaces.flap.deflection = ones_1col * 0
self.control_surfaces.flap.hinge_moment = ones_1col * 0
self.control_surfaces.flap.static_stability = Conditions()
self.control_surfaces.flap.static_stability.coefficients = Conditions()
self.control_surfaces.flap.static_stability.coefficients.X = ones_1col * 0
self.control_surfaces.flap.static_stability.coefficients.Y = ones_1col * 0
self.control_surfaces.flap.static_stability.coefficients.Z = ones_1col * 0
self.control_surfaces.flap.static_stability.coefficients.L = ones_1col * 0
self.control_surfaces.flap.static_stability.coefficients.M = ones_1col * 0
self.control_surfaces.flap.static_stability.coefficients.N = ones_1col * 0
self.control_surfaces.flap.static_stability.coefficients.e = ones_1col * 0
self.control_surfaces.slat = Conditions()
self.control_surfaces.slat.deflection = ones_1col * 0
self.control_surfaces.slat.hinge_moment = ones_1col * 0
self.control_surfaces.slat.static_stability = Conditions()
self.control_surfaces.slat.static_stability.coefficients = Conditions()
self.control_surfaces.slat.static_stability.coefficients.X = ones_1col * 0
self.control_surfaces.slat.static_stability.coefficients.Y = ones_1col * 0
self.control_surfaces.slat.static_stability.coefficients.Z = ones_1col * 0
self.control_surfaces.slat.static_stability.coefficients.L = ones_1col * 0
self.control_surfaces.slat.static_stability.coefficients.M = ones_1col * 0
self.control_surfaces.slat.static_stability.coefficients.N = ones_1col * 0
self.control_surfaces.slat.static_stability.coefficients.e = ones_1col * 0
self.control_surfaces.spoiler = Conditions()
self.control_surfaces.spoiler.deflection = ones_1col * 0
# ----------------------------------------------------------------------------------------------------------------------
# Stability
# ----------------------------------------------------------------------------------------------------------------------
self.static_stability = Conditions()
self.static_stability.forces = Conditions()
self.static_stability.forces.lift = ones_1col * 0
self.static_stability.forces.drag = ones_1col * 0
self.static_stability.static_margin = ones_1col * 0
self.static_stability.neutral_point = ones_1col * 0
self.static_stability.spiral_criteria = ones_1col * 0
self.static_stability.pitch_rate = ones_1col * 0
self.static_stability.roll_rate = ones_1col * 0
self.static_stability.yaw_rate = ones_1col * 0
self.static_stability.coefficients = Conditions()
self.static_stability.coefficients.X = ones_1col * 0
self.static_stability.coefficients.Y = ones_1col * 0
self.static_stability.coefficients.Z = ones_1col * 0
self.static_stability.coefficients.L = ones_1col * 0
self.static_stability.coefficients.M = ones_1col * 0
self.static_stability.coefficients.N = ones_1col * 0
self.static_stability.coefficients.roll = ones_1col * 0
self.static_stability.coefficients.pitch = ones_1col * 0
self.static_stability.coefficients.yaw = ones_1col * 0
self.static_stability.derivatives = Conditions()
# stability axis
self.static_stability.derivatives.Clift_alpha = ones_1col * 0
self.static_stability.derivatives.Clift_beta = ones_1col * 0
self.static_stability.derivatives.Clift_delta_a = ones_1col * 0
self.static_stability.derivatives.Clift_delta_e = ones_1col * 0
self.static_stability.derivatives.Clift_delta_r = ones_1col * 0
self.static_stability.derivatives.Clift_delta_f = ones_1col * 0
self.static_stability.derivatives.Clift_delta_s = ones_1col * 0
self.static_stability.derivatives.Cdrag_delta_a = ones_1col * 0
self.static_stability.derivatives.Cdrag_delta_e = ones_1col * 0
self.static_stability.derivatives.Cdrag_delta_r = ones_1col * 0
self.static_stability.derivatives.Cdrag_delta_f = ones_1col * 0
self.static_stability.derivatives.Cdrag_delta_s = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_alpha = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_beta = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_delta_a = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_delta_e = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_delta_r = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_delta_f = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_delta_s = ones_1col * 0
self.static_stability.derivatives.CX_alpha = ones_1col * 0
self.static_stability.derivatives.CX_beta = ones_1col * 0
self.static_stability.derivatives.CX_delta_a = ones_1col * 0
self.static_stability.derivatives.CX_delta_e = ones_1col * 0
self.static_stability.derivatives.CX_delta_r = ones_1col * 0
self.static_stability.derivatives.CX_delta_f = ones_1col * 0
self.static_stability.derivatives.CX_delta_s = ones_1col * 0
self.static_stability.derivatives.CY_alpha = ones_1col * 0
self.static_stability.derivatives.CY_beta = ones_1col * 0
self.static_stability.derivatives.CY_delta_a = ones_1col * 0
self.static_stability.derivatives.CY_delta_e = ones_1col * 0
self.static_stability.derivatives.CY_delta_r = ones_1col * 0
self.static_stability.derivatives.CY_delta_f = ones_1col * 0
self.static_stability.derivatives.CY_delta_s = ones_1col * 0
self.static_stability.derivatives.CZ_alpha = ones_1col * 0
self.static_stability.derivatives.CZ_beta = ones_1col * 0
self.static_stability.derivatives.CZ_delta_a = ones_1col * 0
self.static_stability.derivatives.CZ_delta_e = ones_1col * 0
self.static_stability.derivatives.CZ_delta_r = ones_1col * 0
self.static_stability.derivatives.CZ_delta_f = ones_1col * 0
self.static_stability.derivatives.CZ_delta_s = ones_1col * 0
self.static_stability.derivatives.CL_alpha = ones_1col * 0
self.static_stability.derivatives.CL_beta = ones_1col * 0
self.static_stability.derivatives.CL_delta_a = ones_1col * 0
self.static_stability.derivatives.CL_delta_e = ones_1col * 0
self.static_stability.derivatives.CL_delta_r = ones_1col * 0
self.static_stability.derivatives.CL_delta_f = ones_1col * 0
self.static_stability.derivatives.CL_delta_s = ones_1col * 0
self.static_stability.derivatives.CM_alpha = ones_1col * 0
self.static_stability.derivatives.CM_beta = ones_1col * 0
self.static_stability.derivatives.CM_delta_a = ones_1col * 0
self.static_stability.derivatives.CM_delta_e = ones_1col * 0
self.static_stability.derivatives.CM_delta_r = ones_1col * 0
self.static_stability.derivatives.CM_delta_f = ones_1col * 0
self.static_stability.derivatives.CM_delta_s = ones_1col * 0
self.static_stability.derivatives.CN_alpha = ones_1col * 0
self.static_stability.derivatives.CN_beta = ones_1col * 0
self.static_stability.derivatives.CN_delta_a = ones_1col * 0
self.static_stability.derivatives.CN_delta_e = ones_1col * 0
self.static_stability.derivatives.CN_delta_r = ones_1col * 0
self.static_stability.derivatives.CN_delta_f = ones_1col * 0
self.static_stability.derivatives.CN_delta_s = ones_1col * 0
# body axis derivatives
self.static_stability.derivatives.Clift_u = ones_1col * 0
self.static_stability.derivatives.Clift_v = ones_1col * 0
self.static_stability.derivatives.Clift_w = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_u = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_v = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_w = ones_1col * 0
self.static_stability.derivatives.CX_u = ones_1col * 0
self.static_stability.derivatives.CX_v = ones_1col * 0
self.static_stability.derivatives.CX_w = ones_1col * 0
self.static_stability.derivatives.CY_u = ones_1col * 0
self.static_stability.derivatives.CY_v = ones_1col * 0
self.static_stability.derivatives.CY_w = ones_1col * 0
self.static_stability.derivatives.CZ_u = ones_1col * 0
self.static_stability.derivatives.CZ_v = ones_1col * 0
self.static_stability.derivatives.CZ_w = ones_1col * 0
self.static_stability.derivatives.CL_u = ones_1col * 0
self.static_stability.derivatives.CL_v = ones_1col * 0
self.static_stability.derivatives.CL_w = ones_1col * 0
self.static_stability.derivatives.CM_u = ones_1col * 0
self.static_stability.derivatives.CM_v = ones_1col * 0
self.static_stability.derivatives.CM_w = ones_1col * 0
self.static_stability.derivatives.CN_u = ones_1col * 0
self.static_stability.derivatives.CN_v = ones_1col * 0
self.static_stability.derivatives.CN_w = ones_1col * 0
self.static_stability.derivatives.CZ_alpha_dot = ones_1col * 0
self.static_stability.derivatives.CM_alpha_dot = ones_1col * 0
self.static_stability.derivatives.Clift_p = ones_1col * 0
self.static_stability.derivatives.Clift_q = ones_1col * 0
self.static_stability.derivatives.Clift_r = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_p = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_q = ones_1col * 0
self.static_stability.derivatives.Cdrag_induced_r = ones_1col * 0
self.static_stability.derivatives.CX_p = ones_1col * 0
self.static_stability.derivatives.CX_q = ones_1col * 0
self.static_stability.derivatives.CX_r = ones_1col * 0
self.static_stability.derivatives.CY_p = ones_1col * 0
self.static_stability.derivatives.CY_q = ones_1col * 0
self.static_stability.derivatives.CY_r = ones_1col * 0
self.static_stability.derivatives.CZ_p = ones_1col * 0
self.static_stability.derivatives.CZ_q = ones_1col * 0
self.static_stability.derivatives.CZ_r = ones_1col * 0
self.static_stability.derivatives.CL_p = ones_1col * 0
self.static_stability.derivatives.CL_q = ones_1col * 0
self.static_stability.derivatives.CL_r = ones_1col * 0
self.static_stability.derivatives.CM_p = ones_1col * 0
self.static_stability.derivatives.CM_q = ones_1col * 0
self.static_stability.derivatives.CM_r = ones_1col * 0
self.static_stability.derivatives.CN_p = ones_1col * 0
self.static_stability.derivatives.CN_q = ones_1col * 0
self.static_stability.derivatives.CN_r = ones_1col * 0
# dynamic stability
self.dynamic_stability = Conditions()
self.dynamic_stability.LongModes = Conditions()
self.dynamic_stability.LatModes = Conditions()
# ----------------------------------------------------------------------------------------------------------------------
# Freestream
# ----------------------------------------------------------------------------------------------------------------------
self.emissions = Conditions()
self.emissions.mass = Conditions()
self.emissions.index = Conditions()
self.emissions.gCO2e = ones_1col * 0
self.emissions.cumulative_gCO2e = ones_1col * 0
# ----------------------------------------------------------------------------------------------------------------------
# Noise
# ----------------------------------------------------------------------------------------------------------------------
self.aeroacoustics = Conditions()
self.aeroacoustics.converters = Conditions()
self.aeroacoustics.propulsors = Conditions()
self.aeroacoustics.modulators = Conditions()
# ----------------------------------------------------------------------------------------------------------------------
# Energy
# ----------------------------------------------------------------------------------------------------------------------
self.energy = Conditions()
self.energy.converters = Conditions()
self.energy.propulsors = Conditions()
self.energy.modulators = Conditions()
self.energy.busses = Conditions()
self.energy.fuel_lines = Conditions()
self.energy.coolant_lines = Conditions()
self.energy.thrust_force_vector = ones_3col * 0
self.energy.thrust_moment_vector = ones_3col * 0
self.energy.power = ones_1col * 0
self.energy.fuel_consumption = ones_1col * 0
self.energy.cumulative_fuel_consumption = ones_1col * 0
self.energy.hybrid_power_split_ratio = ones_1col * 0
self.energy.battery_fuel_cell_power_split_ratio = ones_1col * 0
# ----------------------------------------------------------------------------------------------------------------------
# Weights
# ----------------------------------------------------------------------------------------------------------------------
self.weights = Conditions()
self.weights.vehicle = Conditions()
self.weights.vehicle.mass = ones_1col * 0
self.weights.vehicle.global_center_of_gravity = ones_3col * 0
self.weights.vehicle.mass_rate = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Ixx = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Ixy = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Ixz = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Iyx = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Iyy = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Iyz = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Izx = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Izy = ones_1col * 0
self.weights.vehicle.moments_of_inertia_Izz = ones_1col * 0
self.weights.components = Conditions()
self.weights.components.mass = Conditions()
self.weights.components.global_center_of_gravity = Conditions()
self.weights.components.symmetry_flag = Conditions()
self.weights.components.mass_rate = Conditions()
self.weights.components.moments_of_inertia_Ixx = Conditions()
self.weights.components.moments_of_inertia_Ixy = Conditions()
self.weights.components.moments_of_inertia_Ixz = Conditions()
self.weights.components.moments_of_inertia_Iyx = Conditions()
self.weights.components.moments_of_inertia_Iyy = Conditions()
self.weights.components.moments_of_inertia_Iyz = Conditions()
self.weights.components.moments_of_inertia_Izx = Conditions()
self.weights.components.moments_of_inertia_Izy = Conditions()
self.weights.components.moments_of_inertia_Izz = Conditions()