diff --git a/design_evaluator/design_evaluator_conf_propulsion_design.xml b/design_evaluator/design_evaluator_conf_propulsion_design.xml index 1146e9b1b5735340841f3366acd57b0485e7a754..248a8f8aa2b64ba9e2ffbad030df5d015c38ffc6 100644 --- a/design_evaluator/design_evaluator_conf_propulsion_design.xml +++ b/design_evaluator/design_evaluator_conf_propulsion_design.xml @@ -25,14 +25,60 @@ <sub_path ID="10" Name="CoG_x">aircraft_exchange_file/component_design/propulsion/mass_properties/center_of_gravity/x/value</sub_path> <sub_path ID="11" Name="CoG_y">aircraft_exchange_file/component_design/propulsion/mass_properties/center_of_gravity/y/value</sub_path> <sub_path ID="12" Name="CoG_z">aircraft_exchange_file/component_design/propulsion/mass_properties/center_of_gravity/z/value</sub_path> - <sub_path ID="13" Name="Nacelle_0_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion/nacelle/position/x/value</sub_path> - <sub_path ID="14" Name="Nacelle_0_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion/nacelle/position/y/value</sub_path> - <sub_path ID="15" Name="Nacelle_0_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion/nacelle/position/z/value</sub_path> - <sub_path ID="16" Name="Pylon_0_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion/pylon/position/x/value</sub_path> - <sub_path ID="17" Name="Pylon_0_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion/pylon/position/y/value</sub_path> - <sub_path ID="18" Name="Pylon_0_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion/pylon/position/z/value</sub_path> - <sub_path ID="19" Name="Pylon_0_normal_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion/nacelle/normal/x/value</sub_path> - <sub_path ID="20" Name="Pylon_0_normal_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion/nacelle/normal/y/value</sub_path> - <sub_path ID="21" Name="Pylon_0_normal_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion/nacelle/normal/z/value</sub_path> + <sub_path ID="13" Name="Nacelle_0_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/nacelle/position/x/value</sub_path> + <sub_path ID="14" Name="Nacelle_0_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/nacelle/position/y/value</sub_path> + <sub_path ID="15" Name="Nacelle_0_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/nacelle/position/z/value</sub_path> + <sub_path ID="16" Name="Pylon_0_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/pylon/position/x/value</sub_path> + <sub_path ID="17" Name="Pylon_0_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/pylon/position/y/value</sub_path> + <sub_path ID="18" Name="Pylon_0_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/pylon/position/z/value</sub_path> + <sub_path ID="19" Name="Pylon_0_normal_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/nacelle/normal/x/value</sub_path> + <sub_path ID="20" Name="Pylon_0_normal_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/nacelle/normal/y/value</sub_path> + <sub_path ID="21" Name="Pylon_0_normal_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/nacelle/normal/z/value</sub_path> + <sub_path ID="22" Name="Engine_0_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/position/x/value</sub_path> + <sub_path ID="23" Name="Engine_0_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/position/y/value</sub_path> + <sub_path ID="24" Name="Engine_0_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/position/z/value</sub_path> + <sub_path ID="25" Name="Engine_0_mass">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/mass/value</sub_path> + <sub_path ID="26" Name="Engine_0_inertia_xx">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/inertia/j_xx/value</sub_path> + <sub_path ID="27" Name="Engine_0_inertia_yy">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/inertia/j_yy/value</sub_path> + <sub_path ID="28" Name="Engine_0_inertia_zz">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/inertia/j_zz/value</sub_path> + <sub_path ID="29" Name="Engine_0_inertia_xy">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/inertia/j_xy/value</sub_path> + <sub_path ID="30" Name="Engine_0_inertia_xz">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/inertia/j_xz/value</sub_path> + <sub_path ID="31" Name="Engine_0_inertia_yz">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/inertia/j_yz/value</sub_path> + <sub_path ID="32" Name="Engine_0_CoG_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/center_of_gravity/x/value</sub_path> + <sub_path ID="33" Name="Engine_0_CoG_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/center_of_gravity/y/value</sub_path> + <sub_path ID="34" Name="Engine_0_CoG_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/mass_properties/center_of_gravity/z/value</sub_path> + <sub_path ID="35" Name="Engine_0_SLST">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/SLST/value</sub_path> + <sub_path ID="36" Name="Engine_0_scale_factor">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/scale_factor/value</sub_path> + <sub_path ID="37" Name="Engine_0_bucket_point_thrust">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/bucket_point/thrust/value</sub_path> + <sub_path ID="38" Name="Engine_0_bucket_point_tsfc">aircraft_exchange_file/component_design/propulsion/specific/propulsion@0/engine/bucket_point/tsfc/value</sub_path> + <sub_path ID="39" Name="Nacelle_1_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/position/x/value</sub_path> + <sub_path ID="40" Name="Nacelle_1_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/position/y/value</sub_path> + <sub_path ID="41" Name="Nacelle_1_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/position/z/value</sub_path> + <sub_path ID="42" Name="Nacelle_1_normal_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/normal/x/value</sub_path> + <sub_path ID="43" Name="Nacelle_1_normal_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/normal/y/value</sub_path> + <sub_path ID="44" Name="Nacelle_1_normal_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/normal/z/value</sub_path> + <sub_path ID="45" Name="Pylon_1_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/pylon/position/x/value</sub_path> + <sub_path ID="46" Name="Pylon_1_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/pylon/position/y/value</sub_path> + <sub_path ID="47" Name="Pylon_1_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/pylon/position/z/value</sub_path> + <sub_path ID="48" Name="Pylon_1_normal_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/normal/x/value</sub_path> + <sub_path ID="49" Name="Pylon_1_normal_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/normal/y/value</sub_path> + <sub_path ID="50" Name="Pylon_1_normal_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/nacelle/normal/z/value</sub_path> + <sub_path ID="51" Name="Engine_1_position_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/position/x/value</sub_path> + <sub_path ID="52" Name="Engine_1_position_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/position/y/value</sub_path> + <sub_path ID="53" Name="Engine_1_position_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/position/z/value</sub_path> + <sub_path ID="54" Name="Engine_1_mass">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/mass/value</sub_path> + <sub_path ID="55" Name="Engine_1_inertia_xx">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/inertia/j_xx/value</sub_path> + <sub_path ID="56" Name="Engine_1_inertia_yy">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/inertia/j_yy/value</sub_path> + <sub_path ID="57" Name="Engine_1_inertia_zz">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/inertia/j_zz/value</sub_path> + <sub_path ID="58" Name="Engine_1_inertia_xy">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/inertia/j_xy/value</sub_path> + <sub_path ID="59" Name="Engine_1_inertia_xz">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/inertia/j_xz/value</sub_path> + <sub_path ID="60" Name="Engine_1_inertia_yz">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/inertia/j_yz/value</sub_path> + <sub_path ID="61" Name="Engine_1_CoG_x">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/center_of_gravity/x/value</sub_path> + <sub_path ID="62" Name="Engine_1_CoG_y">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/center_of_gravity/y/value</sub_path> + <sub_path ID="63" Name="Engine_1_CoG_z">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/mass_properties/center_of_gravity/z/value</sub_path> + <sub_path ID="64" Name="Engine_1_SLST">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/SLST/value</sub_path> + <sub_path ID="65" Name="Engine_1_scale_factor">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/scale_factor/value</sub_path> + <sub_path ID="66" Name="Engine_1_bucket_point_thrust">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/bucket_point/thrust/value</sub_path> + <sub_path ID="67" Name="Engine_1_bucket_point_tsfc">aircraft_exchange_file/component_design/propulsion/specific/propulsion@1/engine/bucket_point/tsfc/value</sub_path> </parameters> </config_file> \ No newline at end of file diff --git a/design_evaluator/src/main.cpp b/design_evaluator/src/main.cpp index ce0e9cbf9321069f2e74c0c6f1809b6ab82de094..56f887f7800f7daf857494be873b3ddc8473dfa7 100644 --- a/design_evaluator/src/main.cpp +++ b/design_evaluator/src/main.cpp @@ -252,7 +252,13 @@ int main () { double local_value{NAN}; std::string unit{"?"}; - std::string node_path = node.second.get_value<std::string>(); + std::string node_path; + try { + node_path = node.second.get_value<std::string>(); + } catch (const std::exception& e) { + std::cerr << "Warning: Could not get value for node. Skipping this node. Error: " << e.what() << std::endl; + continue; + } if (containsSymbol(node_path, "@")) { std::string pre{node_path.substr(0, node_path.find_first_of('@'))}; std::string temp_string{node_path.substr(node_path.find_first_of('@'))};