Source code for fastga_he.models.cost.lcc_annual_depreciation

# 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 LCCAnnualDepreciation(om.ExplicitComponent): """ Computation of the aircraft depreciation per year. """
[docs] def setup(self): self.add_input( "data:cost:msp_per_unit", units="USD", val=np.nan, ) self.add_input( "data:cost:operation:depreciation_rate", val=0.9, desc="The portion of value that depreciates over the service life", ) self.add_input( name="data:TLAR:aircraft_lifespan", val=20.0, units="yr", desc="Expected lifetime of the aircraft", ) self.add_output( "data:cost:operation:annual_depreciation_cost", val=15000.0, units="USD/yr", desc="Annual depreciation cost of the aircraft", ) self.declare_partials("*", "*", method="exact")
[docs] def compute(self, inputs, outputs, discrete_inputs=None, discrete_outputs=None): outputs["data:cost:operation:annual_depreciation_cost"] = ( inputs["data:cost:msp_per_unit"] * inputs["data:cost:operation:depreciation_rate"] / inputs["data:TLAR:aircraft_lifespan"] )
[docs] def compute_partials(self, inputs, partials, discrete_inputs=None): partials["data:cost:operation:annual_depreciation_cost", "data:cost:msp_per_unit"] = ( inputs["data:cost:operation:depreciation_rate"] / inputs["data:TLAR:aircraft_lifespan"] ) partials[ "data:cost:operation:annual_depreciation_cost", "data:cost:operation:depreciation_rate" ] = inputs["data:cost:msp_per_unit"] / inputs["data:TLAR:aircraft_lifespan"] partials["data:cost:operation:annual_depreciation_cost", "data:TLAR:aircraft_lifespan"] = ( -inputs["data:cost:msp_per_unit"] * inputs["data:cost:operation:depreciation_rate"] / inputs["data:TLAR:aircraft_lifespan"] ** 2.0 )