Source code for fastga_he.models.cost.lcc_annual_energy_cost

# This file is part of FAST-OAD_CS23-HE : A framework for rapid Overall Aircraft Design of Hybrid
# Electric Aircraft.
# Copyright (C) 2025 ISAE-SUPAERO

import numpy as np
import openmdao.api as om


[docs] class LCCAnnualEnergyCost(om.ExplicitComponent): """ Computation of the annual energy cost of the aircraft. """
[docs] def setup(self): self.add_input( name="data:cost:electricity_cost", val=0.0, units="USD", desc="Electric energy cost for single flight mission", ) self.add_input( name="data:cost:fuel_cost", val=0.0, units="USD", desc="Fuel cost for single flight mission", ) self.add_input( name="data:TLAR:flight_per_year", val=np.nan, desc="Average number of flight per year", ) self.add_output( name="data:cost:operation:annual_fuel_cost", val=1000.0, units="USD/yr", ) self.add_output( name="data:cost:operation:annual_electricity_cost", val=1000.0, units="USD/yr", ) self.declare_partials("*", "data:TLAR:flight_per_year", method="exact") self.declare_partials( of="data:cost:operation:annual_fuel_cost", wrt="data:cost:fuel_cost", method="exact", ) self.declare_partials( of="data:cost:operation:annual_electricity_cost", wrt="data:cost:electricity_cost", method="exact", )
[docs] def compute(self, inputs, outputs, discrete_inputs=None, discrete_outputs=None): outputs["data:cost:operation:annual_fuel_cost"] = ( inputs["data:TLAR:flight_per_year"] * inputs["data:cost:fuel_cost"] ) outputs["data:cost:operation:annual_electricity_cost"] = ( inputs["data:TLAR:flight_per_year"] * inputs["data:cost:electricity_cost"] )
[docs] def compute_partials(self, inputs, partials, discrete_inputs=None): partials[ "data:cost:operation:annual_electricity_cost", "data:cost:electricity_cost", ] = inputs["data:TLAR:flight_per_year"] partials["data:cost:operation:annual_fuel_cost", "data:cost:fuel_cost"] = inputs[ "data:TLAR:flight_per_year" ] partials["data:cost:operation:annual_electricity_cost", "data:TLAR:flight_per_year"] = ( inputs["data:cost:electricity_cost"] ) partials["data:cost:operation:annual_fuel_cost", "data:TLAR:flight_per_year"] = inputs[ "data:cost:fuel_cost" ]