Source code for fastga_he.models.cost.lcc_delivery_duration_ratio

# 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 LCCDeliveryDurationRatio(om.ExplicitComponent): """ Computation of the ratio between the delivery flight duration and the sizing mission duration. """
[docs] def setup(self): self.add_input( name="data:cost:delivery:duration", val=np.nan, units="h", ) self.add_input( name="data:mission:sizing:duration", val=np.nan, units="h", ) self.add_output( name="data:cost:delivery:mission_ratio", val=0.5, desc="Ratio between the delivery flight duration and the sizing mission duration", ) self.declare_partials(of="*", wrt="*", method="exact")
[docs] def compute(self, inputs, outputs, discrete_inputs=None, discrete_outputs=None): outputs["data:cost:delivery:mission_ratio"] = ( inputs["data:cost:delivery:duration"] / inputs["data:mission:sizing:duration"] )
[docs] def compute_partials(self, inputs, partials, discrete_inputs=None): partials["data:cost:delivery:mission_ratio", "data:cost:delivery:duration"] = ( 1.0 / inputs["data:mission:sizing:duration"] ) partials["data:cost:delivery:mission_ratio", "data:mission:sizing:duration"] = ( -inputs["data:cost:delivery:duration"] / inputs["data:mission:sizing:duration"] ** 2.0 )