fastga_he.models.load_analysis.wing.aerostructural_loads module
Computes the aerostructural loads on the wing of the aircraft.
- class fastga_he.models.load_analysis.wing.aerostructural_loads.AerostructuralLoadHE(**kwargs)[source]
Bases:
ExplicitComponentStore some bound methods so we can detect runtime overrides.
- compute(inputs, outputs, discrete_inputs=None, discrete_outputs=None)[source]
Compute outputs given inputs. The model is assumed to be in an unscaled state.
An inherited component may choose to either override this function or to define a compute_primal function.
- Parameters:
inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].
outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].
discrete_inputs (dict-like or None) – If not None, dict-like object containing discrete input values.
discrete_outputs (dict-like or None) – If not None, dict-like object containing discrete output values.
- static compute_shear_diagram(y_vector, force_array)[source]
Function that computes the shear diagram of a given array with linear forces in them
@param y_vector: an array containing the position of the different station at which the linear forces are given @param force_array: an array containing the linear forces @return: shear_force_diagram an array representing the shear diagram of the linear forces given in input
- static compute_bending_moment_diagram(y_vector, force_array)[source]
Function that computes the root bending diagram of a given array with linear forces in them
@param y_vector: an array containing the position of the different station at which the linear forces are given @param force_array: an array containing the linear forces @return: bending_moment_diagram an array representing the root bending diagram of the linear forces given in input
- static compute_cl_s(y_vector_cl_orig, y_vector_chord_orig, y_vector, cl_list, chord_list)[source]
Function that computes linear lift on all section of y_vector based on an original cl distribution
@param y_vector_cl_orig: an array containing the position of the different station at which the original lift distribution was computed, typically a result of OpenVSP or VLM @param y_vector_chord_orig: an array containing the position of the different station at which the chord distribution was computed, typically a result of OpenVSP or VLM @param y_vector: an array containing the position of the different station at which the linear forces are given @param cl_list: an array containing the original lift coefficient distribution @param chord_list: an array containing the original wing chord length at the different station @return: lift_chord an array representing the linear lift at the different station of y_vector, integrating this vector along the wing span and multiplying it by the dynamic pressure will give you the actual lift distribution
- static compute_relief_force(inputs, y_vector, chord_vector, wing_mass, fuel_tag, point_mass=True, distributed_mass=True)[source]
Function that computes the baseline weight distribution and modify the y_vector to account for point masses. We chose to represent point masses as linear masses on finite length and to do this we need to modify the y_vector
@param inputs: inputs parameters defined within FAST-OAD-GA @param y_vector: an array containing the original position of the different station at which the chords are given @param chord_vector: an array containing the chord of the wing at different span station @param wing_mass: a float containing the mass of the wing @param fuel_tag: a float containing whether or not we should consider the tanks loaded with fuel or not @param point_mass: a boolean, if it’s FALSE all point mass will be equal to zero used in the post-processing @param distributed_mass: a boolean, if it’s FALSE all distributed mass except fuel will be equal to zero used in the post-processing @return: y_vector an array containing the position of the wing span at which the wing mass are sampled @return: weight_array an array containing linear masses of all structural components on the wing
- static insert_in_sorted_array(array, element)[source]
Function that insert an element in a sorted array so as to keep it sorted
@param array: a sorted array in which we want to insert an element @param element: the element we want to insert in the sorted array @return: final_array a sorted array based on the input array with the argument float inserted in it @return: index the location at which we add to insert the element ot keep the initial array sorted
- static delete_additional_zeros(array, length: int | None = None)[source]
Function that delete the additional zeros we had to add to fit the format imposed by OpenMDAO
@param array: an array with additional zeros we want to delete @param length: if len is specified leave zeros up until the length of the array is len @return: final_array an array containing the same elements of the initial array but with the additional zeros deleted
- static add_point_mass(y_vector, chord_vector, point_mass_array, y_point_mass, point_mass, inputs)[source]
Function that add a point mass to an already created point_mass_array. Modify the y station sampling and chord sampling to account for the additional station added.
@param y_vector: the original y_vector which will be modified by adding NB_POINTS_POINT_MASS + 2 points to represent the location of the new point mass @param chord_vector: the original chord vector which will be modified by adding NB_POINTS_POINT_MASS + 2 points to represent the chord at the newly added location @param point_mass_array: the original point mass vector on which we will add the point mass @param y_point_mass: the y station of the point mass @param point_mass: the value of the mass which we want to add @param inputs: inputs parameters defined within FAST-OAD-GA @return: y_vector_new : the new vector contains the y station at which we sample the point mass array with the newly added point mass @return: chord_vector_new : the new vector contains the chord at the new y_station @return: point_mass_array_new : the new vector contains the sampled point mass
- static distributed_mass_distribution(y_start, y_end, chord_start, chord_slope, mass, y_array_orig)[source]
Computes the value of the linear weight at each point of the y vector to represent the component as a distributed mass. This method ensure that integrating the resulting array on the original vector, gives the actual mass value. This method assumes the height of the distributed mass is constant though its chord can vary.
- Parameters:
y_start – span at which the distributed mass starts
y_end – span at which the distributed mass ends
chord_start – chord occupied by the distributed mass
chord_slope – chord slope along the width of the distributed mass, assumed linear
mass – mass of the distributed mass
y_array_orig – the original y_vector
- static fuel_distribution(y_start, y_end, chord_start, chord_slope, fuel_mass, y_array_orig)[source]
Computes the value of the linear weight at each point of the y vector to represent the fuel tank as a distributed mass. This method ensure that integrating the resulting array on the original vector, gives the actual mass value. This method assumes the height of the distributed mass is constant though its chord can vary.
- Parameters:
y_start – span at which the fuel tank starts
y_end – span at which the fuel tank ends
chord_start – chord occupied by the fuel tank
chord_slope – chord slope along the width of the fuel tank, assumed linear
fuel_mass – mass of fuel inside the tank
y_array_orig – the original y_vector