diff --git a/libs b/libs index 09182177118a6b41e3ae2a097c324541741c9888..1494d2d52a4736cca657f4f93d30be2bf1f0b3f8 160000 --- a/libs +++ b/libs @@ -1 +1 @@ -Subproject commit 09182177118a6b41e3ae2a097c324541741c9888 +Subproject commit 1494d2d52a4736cca657f4f93d30be2bf1f0b3f8 diff --git a/mission_analysis/src/libs/multi_engine_propulsion/multi_engine_propulsion.cpp b/mission_analysis/src/libs/multi_engine_propulsion/multi_engine_propulsion.cpp index b72b1609d6639f90429aa6f68eac6adfad292a3d..88e28c21c56839bc1cf3a960d8769031dd8f1daf 100644 --- a/mission_analysis/src/libs/multi_engine_propulsion/multi_engine_propulsion.cpp +++ b/mission_analysis/src/libs/multi_engine_propulsion/multi_engine_propulsion.cpp @@ -71,11 +71,14 @@ Multi_engine_propulsion::Multi_engine_propulsion(const std::shared_ptr<RuntimeIO // Read tank IDs and capacities from the aircraft XML std::map<int, double> total_capacity_per_id; for (int tank_id(0); tank_id < tank_design.getVector("tank").size(); tank_id++) { - int energy_carrier_id(EndnodeReadOnly<int>("energy_carrier_ID").read(tank_definition.at("tank@" + num2Str(tank_id))).value()); - double tank_capacity(EndnodeReadOnly<double>("maximum_energy_capacity").read(tank_design.at("tank@" + num2Str(tank_id))).value()); - Tank tmp_tank(tank_id, tank_capacity); - this->energy_consumption.at(energy_carrier_id).tanks.push_back(tmp_tank); - total_capacity_per_id[energy_carrier_id] += tank_capacity; // sum capacity of this energy carrier + //Only take tanks into account that are used for the mission + if (EndnodeReadOnly<bool>("energy_capacity_required_for_mission").read(tank_design.at("tank@" + num2Str(tank_id))).value()) { + int energy_carrier_id(EndnodeReadOnly<int>("energy_carrier_ID").read(tank_definition.at("tank@" + num2Str(tank_id))).value()); + double tank_capacity(EndnodeReadOnly<double>("maximum_energy_capacity").read(tank_design.at("tank@" + num2Str(tank_id))).value()); + Tank tmp_tank(tank_id, tank_capacity); + this->energy_consumption.at(energy_carrier_id).tanks.push_back(tmp_tank); + total_capacity_per_id[energy_carrier_id] += tank_capacity; // sum capacity of this energy carrier + } } // Get the relative maximum capacity of each tank in comparison to other tanks using the same energy carrier ID for (std::pair<const int, Multi_engine_propulsion::Energy_consumption> energy_carrier : this->energy_consumption) {