fastga_he.models.propulsion.components.source.battery.components.perf_internal_resistance module

class fastga_he.models.propulsion.components.source.battery.components.perf_internal_resistance.PerformancesInternalResistance(**kwargs)[source]

Bases: ExplicitComponent

Computation of the internal resistance of the battery. [CZD+21] suggest that temperature and SOC dependency can be decoupled which is what we are doing here. For the temperature part we will take the same shape as [CZD+21]. See methodology/internal_resistance_temperature.py to see how it was obtained. For the dependency part a simple polynomial fit was used, see methodology/internal_resistance_new.py. Data are from https://lygte-info.dk/review/batteries2012/Samsung%20INR18650-35E%203500mAh%20%28Pink%29 %202%20UK.html

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

setup_partials()[source]

Declare partials.

This is meant to be overridden by component classes. All partials should be declared here since this is called after all size/shape information is known for all variables.

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.

class fastga_he.models.propulsion.components.source.battery.components.perf_internal_resistance.PerformancesInternalResistanceNoSOCEffect(**kwargs)[source]

Bases: ExplicitComponent

Computation of the internal resistance of the battery. [CZD+21] suggest that temperature and SOC dependency can be decoupled which is what we are doing here. For the temperature part we will take the same shape as [CZD+21]. No dependency on the SoC is assumed for that simplified model.

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

setup_partials()[source]

Declare partials.

This is meant to be overridden by component classes. All partials should be declared here since this is called after all size/shape information is known for all variables.

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.