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: ExplicitComponent

Store some bound methods so we can detect runtime overrides.

setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

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