Source code for fastga_he.models.cost.lcc_tooling_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 LCCToolingCost(om.ExplicitComponent): """ Computation of the cost per aircraft of tooling labor obtained from :cite:`gudmundsson:2013`. Default tooling cost per hour is provided by :cite:`stefana:2024`. """
[docs] def setup(self): self.add_input( "data:cost:production:tooling_man_hours_5_years", val=np.nan, units="h", desc="Number of tooling man-hours required for a certain amount of aircraft to be" " produced in a 5-year or 60 month period", ) self.add_input( "data:cost:production:tooling_cost_per_hour", val=83.97, units="USD/h", desc="Tooling labor cost per hour", ) self.add_input( "data:cost:cpi_2012", val=np.nan, desc="Consumer price index relative to the year 2012", ) self.add_input( "data:cost:production:maturity_discount", val=1.0, desc="The discount factor in manufacturing and tooling bsed on process maturity", ) self.add_output( "data:cost:production:tooling_cost_per_unit", val=2.0e5, units="USD", desc="Tooling adjusted cost per aircraft", ) self.declare_partials("*", "*", method="exact")
[docs] def compute(self, inputs, outputs, discrete_inputs=None, discrete_outputs=None): outputs["data:cost:production:tooling_cost_per_unit"] = ( 2.0969 * inputs["data:cost:production:tooling_man_hours_5_years"] * inputs["data:cost:production:tooling_cost_per_hour"] * inputs["data:cost:cpi_2012"] * inputs["data:cost:production:maturity_discount"] )
[docs] def compute_partials(self, inputs, partials, discrete_inputs=None): cost_per_hour = inputs["data:cost:production:tooling_cost_per_hour"] cpi_2022 = inputs["data:cost:cpi_2012"] discount = inputs["data:cost:production:maturity_discount"] man_hours = inputs["data:cost:production:tooling_man_hours_5_years"] partials[ "data:cost:production:tooling_cost_per_unit", "data:cost:production:tooling_man_hours_5_years", ] = 2.0969 * cost_per_hour * cpi_2022 * discount partials[ "data:cost:production:tooling_cost_per_unit", "data:cost:production:tooling_cost_per_hour", ] = 2.0969 * man_hours * cpi_2022 * discount partials["data:cost:production:tooling_cost_per_unit", "data:cost:cpi_2012"] = ( 2.0969 * man_hours * cost_per_hour * discount ) partials[ "data:cost:production:tooling_cost_per_unit", "data:cost:production:maturity_discount" ] = 2.0969 * man_hours * cost_per_hour * cpi_2022