BladeAD.utils.var_groups

Module Contents

Classes

AircaftStates

Data class for aircraft states.

AtmosStates

Data class for atmospheric states. Default values are for sea-level.

RotorAnalysisInputs

Rotor analysis inputs data class.

RotorAnalysisOutputs

Rotor analysis outputs data class.

RotorMeshParameters

Data class for rotor mesh parameters.

class BladeAD.utils.var_groups.AircaftStates

Bases: csdl_alpha.VariableGroup

Data class for aircraft states.

Parameters
uUnion[float, int, csdl.Variable, np.ndarray]

u velocity component

vUnion[float, int, csdl.Variable, np.ndarray]

v velocity component

wUnion[float, int, csdl.Variable, np.ndarray]

w velocity component

pUnion[float, int, csdl.Variable, np.ndarray]

p angular velocity component (roll rate)

qUnion[float, int, csdl.Variable, np.ndarray]

q angular velocity component (pitch rate)

rUnion[float, int, csdl.Variable, np.ndarray]

r angular velocity component (yaw rate)

phiUnion[float, int, csdl.Variable, np.ndarray]

phi euler angle

thetaUnion[float, int, csdl.Variable, np.ndarray]

theta euler angle

psiUnion[float, int, csdl.Variable, np.ndarray]

psi euler angle

xUnion[float, int, csdl.Variable, np.ndarray]

x position (not used in rotor analysis)

yUnion[float, int, csdl.Variable, np.ndarray]

y position (not used in rotor analysis)

zUnion[float, int, csdl.Variable, np.ndarray]

z position (not used in rotor analysis)

p: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
phi: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
psi: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
q: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
r: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
theta: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
u: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
v: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
w: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
x: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
y: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
z: Union[float, int, csdl_alpha.Variable, numpy.ndarray] = 0
class BladeAD.utils.var_groups.AtmosStates

Bases: csdl_alpha.VariableGroup

Data class for atmospheric states. Default values are for sea-level.

Parameters
densityUnion[float, int, csdl.Variable]

Density of the atmosphere (kg/m^3)

speed_of_soundUnion[float, int, csdl.Variable]

Speed of sound (m/s)

temperatureUnion[float, int, csdl.Variable]

Temperature (K)

pressureUnion[float, int, csdl.Variable]

Pressure (Pa)

dynamic_viscosityUnion[float, int, csdl.Variable]

Dynamic viscosity (Pa.s)

density: Union[float, int, csdl_alpha.Variable] = 1.22518316
dynamic_viscosity: Union[float, int, csdl_alpha.Variable] = 1.735e-05
pressure: Union[float, int, csdl_alpha.Variable] = 101325
speed_of_sound: Union[float, int, csdl_alpha.Variable] = 343.0
temperature: Union[float, int, csdl_alpha.Variable] = 288.16
class BladeAD.utils.var_groups.RotorAnalysisInputs

Bases: csdl_alpha.VariableGroup

Rotor analysis inputs data class.

Parameters
rpmcsdl.Variable

The rpm of the rotor

mesh_velocitycsdl.Variable

The mesh velocity (u_x, u_y, u_z) of the thrust origin

mesh_parametersRotorMeshParameters

Instance of of RotorMeshParameters that stores information about the rotor geometry

atmos_statesAtmosStates(), optional

Instance of AtmosStates data class, by default AtmosStates() (states at sea-level)

ac_statesAcStates(), optional

Instance of AcStates() (if provided thrust will be decomposed into forces in the body-fixed reference frame based on aircraft orientation), by default None

theta_0Union[csdl.Variable, int, float], optional

Collective pitch at r/R=0.75; zero-th harmonic of blade pitch motion (radians); note that it is up to the user to specify the blade twist such that it is zero at r/R=0.75, by default 0

theta_1_cUnion[csdl.Variable, int, float], optional

Cyclic pitch angle: cosine coefficient for first harmonic (radians), by default 0

theta_1_sUnion[csdl.Variable, int, float], optional

Cyclic pitch angle: sine coefficient for first harmonic (radians), by default 0

xi_0Union[csdl.Variable, int, float], optional

Mean lag angle; zero-th harmonic of blade lag motion (radians), by default 0

xi_1_cUnion[csdl.Variable, int, float], optional

Cyclic lag angle; cosine coefficient for first harmonic (radians), by default 0

xi_1_sUnion[csdl.Variable, int, float], optional

Cyclic lag angle; sin coefficient for first harmonic (radians), by default 0

ac_states
atmos_states
mesh_parameters: RotorMeshParameters
mesh_velocity: csdl_alpha.Variable
rpm: csdl_alpha.Variable
theta_0: Union[csdl_alpha.Variable, int, float] = 0
theta_1_c: Union[csdl_alpha.Variable, int, float] = 0
theta_1_s: Union[csdl_alpha.Variable, int, float] = 0
xi_0: Union[csdl_alpha.Variable, int, float] = 0
xi_1_c: Union[csdl_alpha.Variable, int, float] = 0
xi_1_s: Union[csdl_alpha.Variable, int, float] = 0
class BladeAD.utils.var_groups.RotorAnalysisOutputs

Bases: csdl_alpha.VariableGroup

Rotor analysis outputs data class.

Parameters
axial_induced_velocitycsdl.Variable

Axial induced velocity (at rotor disk)

tangential_induced_velocitycsdl.Variable

Tangential induced velocity (at rotor disk)

sectional_thrustcsdl.Variable

Sectional thrust dT (N)

sectional_torquecsdl.Variable

Sectional torque dQ (N.m)

sectional_dragcsdl.Variable

Sectional drag dD (N)

total_thrustcsdl.Variable

Total thrust (N)

total_torquecsdl.Variable

Total torque (N.m)

total_powercsdl.Variable

Total power (W)

efficiencycsdl.Variable

Efficiency

figure_of_meritcsdl.Variable

Figure of merit (hover efficiency metric)

thrust_coefficientcsdl.Variable

Thrust coefficient

torque_coefficientcsdl.Variable

Torque coefficient

power_coefficientcsdl.Variable

Power coefficient

residualcsdl.Variable, optional

Residual (if available), by default None

forcescsdl.Variable, optional

Forces (if available based on body-fixed reference frame specified by ACStates), by default None

momentscsdl.Variable, optional

Moments (if available based on body-fixed reference frame specified by ACStates) about specified reference point, by default None

sectional_inflow_anglecsdl.Variable, optional

Sectional inflow angle (if available), by default None

axial_induced_velocity: csdl_alpha.Variable
efficiency: csdl_alpha.Variable
figure_of_merit: csdl_alpha.Variable
forces: csdl_alpha.Variable
moments: csdl_alpha.Variable
power_coefficient: csdl_alpha.Variable
residual: csdl_alpha.Variable
sectional_drag: csdl_alpha.Variable
sectional_inflow_angle
sectional_thrust: csdl_alpha.Variable
sectional_torque: csdl_alpha.Variable
tangential_induced_velocity: csdl_alpha.Variable
thrust_coefficient: csdl_alpha.Variable
torque_coefficient: csdl_alpha.Variable
total_power: csdl_alpha.Variable
total_thrust: csdl_alpha.Variable
total_torque: csdl_alpha.Variable
class BladeAD.utils.var_groups.RotorMeshParameters

Bases: csdl_alpha.VariableGroup

Data class for rotor mesh parameters.

Parameters
thrust_vectorUnion[np.ndarray, csdl.Variable]

Thrust vector

thrust_originUnion[np.ndarray, csdl.Variable]

Thrust origin

chord_profileUnion[np.ndarray, csdl.Variable]

Chord profile (m)

twist_profileUnion[np.ndarray, csdl.Variable]

Twist profile (radians)

radiusUnion[float, int, csdl.Variable]

Radius of the rotor (m)

num_radialint

Number of radial nodes

num_azimuthalint

Number of azimuthal nodes

num_bladesint

Number of blades

norm_hub_radiusfloat

Normalmized hub radius (default=0.2)

chord_profile: Union[numpy.ndarray, csdl_alpha.Variable]
norm_hub_radius: float = 0.2
num_azimuthal: int
num_blades: int
num_radial: int
radius: Union[float, int, csdl_alpha.Variable]
thrust_origin: Union[numpy.ndarray, csdl_alpha.Variable]
thrust_vector: Union[numpy.ndarray, csdl_alpha.Variable]
twist_profile: Union[numpy.ndarray, csdl_alpha.Variable]