fastga_he.models.propulsion.components.loads.pmsm.components.sizing_pmsm_drag module

class fastga_he.models.propulsion.components.loads.pmsm.components.sizing_pmsm_drag.SizingPMSMDrag(**kwargs)[source]

Bases: ExplicitComponent

Additional drag coefficient due to the installation of the PMSM depending on the location, inside the nose, it will be computed as not contributing, just like we did it for ICE, turboprop, … If it is on the wing, is will be computed considering it has a fairing going beyond the length to avoid having a “pancake” on the wing. Based on the formula from [Gud13].

Store some bound methods so we can detect runtime overrides.

initialize()[source]

Perform any one-time initialization run at instantiation.

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.

compute_partials(inputs, partials, discrete_inputs=None)[source]

Compute sub-jacobian parts. The model is assumed to be in an unscaled state.

Parameters:
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • partials (Jacobian) – Sub-jac components written to partials[output_name, input_name]..

  • discrete_inputs (dict or None) – If not None, dict containing discrete input values.