From 7966b2d95d00b660c5f01a460a58d27da44208a4 Mon Sep 17 00:00:00 2001 From: tobi <tobias.weckenmann@tum.de> Date: Tue, 3 Dec 2024 13:46:23 +0100 Subject: [PATCH] Adjusts the scaling factor calculation - scaling of rubber engines - to use deck values instead of the engine xml --- .../src/engine_design/rubber/turbofan.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/propulsion_design/src/engine_design/rubber/turbofan.cpp b/propulsion_design/src/engine_design/rubber/turbofan.cpp index 25aaa82b..d09ccdfa 100644 --- a/propulsion_design/src/engine_design/rubber/turbofan.cpp +++ b/propulsion_design/src/engine_design/rubber/turbofan.cpp @@ -55,12 +55,22 @@ namespace design {this->engine_directory(), this->engine_database()}); /* Scale the engine */ - /** @todo How and which thrust do we need here? */ + + /* Load the unscaled engine */ + auto engine_unscaled = io::load_engine_scaled( + engine.model(), + 1, + {this->engine_directory(), + this->engine_database()}); + + /* Get the unscaled SLST value from the deck values as the highest N1 at SLS */ + engine_unscaled.calculate_N1_with_penalties(0 , 0, this->flight_condition().ambiance, 1.0, "takeoff", 0, 0); + + /* Scale the engine */ engine.set_scale( - engine.required_thrust() > 0.0 ? engine.required_thrust() / engine_data.SLST() : 1.0); + engine.required_thrust() > 0.0 ? engine.required_thrust() / engine_unscaled.get_thrust() : 1.0); // engine_unscaled.get_thrust() - /* Set and sale the parameters */ - /** @todo Where does the scaling of the length come from ?*/ + /* Set and sale the parameters according to Ray12 p. 285 */ engine.set_dimension({engine_data.dimensions().height * std::pow(engine.scale(), 0.5), engine_data.dimensions().width * std::pow(engine.scale(), 0.5), engine_data.dimensions().length * std::pow(engine.scale(), 0.4)}); -- GitLab