diff --git a/wing_design/src/taw/cantilever/cantileverWingDesignReport.cpp b/wing_design/src/taw/cantilever/cantileverWingDesignReport.cpp index 646c4e422da4cce6d7f2d9870a10886d5c024f2e..1b678be99bd1ef00050d3154a1bb2869ddf91128 100644 --- a/wing_design/src/taw/cantilever/cantileverWingDesignReport.cpp +++ b/wing_design/src/taw/cantilever/cantileverWingDesignReport.cpp @@ -59,7 +59,7 @@ void Wing::set_html_body() { << "<thead>\n" << "<tr>\n" << "<th>parameter</th><th>symbol</th><th>unit</th>"; - for (int i = 0; i < data->wing.sections.size(); ++i) { + for (size_t i = 0; i < data->wing.sections.size(); ++i) { reporter.htmlReportStream() << std::format("<th>S<sub>{:02d}</sub></th>", i); } reporter.htmlReportStream() << "\n</tr>\n" @@ -144,7 +144,7 @@ void Wing::set_html_body() { << "</table>\n"; /* Table 3 - Spar parameters*/ - for (int spar_id = 0; spar_id < data->spars.size(); ++spar_id) { + for (size_t spar_id = 0; spar_id < data->spars.size(); ++spar_id) { reporter.htmlReportStream() << "<table class=\"content-table\">\n"; if (spar_id == 0) { reporter.htmlReportStream() << "<caption>Spar parameters</caption>\n"; @@ -157,7 +157,7 @@ void Wing::set_html_body() { << "</thead>\n" << "<tbody>\n"; /* Spar name - eta, x/c*/ - for (int i = 0; i < data->spars.at(spar_id).sections.size(); ++i) { + for (size_t i = 0; i < data->spars.at(spar_id).sections.size(); ++i) { reporter.htmlReportStream() << "<tr>\n"; std::string tag = ""; if (i == 0) { @@ -325,4 +325,4 @@ void Wing::set_html_body() { reporter.htmlReportStream() << "</div>\n"; } } // namespace cantilever -} // namespace taw \ No newline at end of file +} // namespace taw diff --git a/wing_design/src/taw/cantilever/cantileverWingDesignTaw.cpp b/wing_design/src/taw/cantilever/cantileverWingDesignTaw.cpp index 12fbb32dfe9ee15be0998704a4e9a8785e6cae3b..db941234126d47fcf4e66ee088eef18d3fc77fa2 100644 --- a/wing_design/src/taw/cantilever/cantileverWingDesignTaw.cpp +++ b/wing_design/src/taw/cantilever/cantileverWingDesignTaw.cpp @@ -648,12 +648,12 @@ void Wing::flops_mass() { const double W4 = 0.0; // Total wing weight - const double wing_mass = (W1 + W2 + W3 + W4) * to_kg; + const double wing_mass = config->flops_technology_factor.value() * (W1 + W2 + W3 + W4) * to_kg; myRuntimeInfo->out << "Calculated wing mass ... " << wing_mass << "[kg]" << std::endl; - myRuntimeInfo->out << "Wing bending material mass ... " << W1 * to_kg << "[kg]" << std::endl; - myRuntimeInfo->out << "Wing shear material and control surface mass ... " << W2 * to_kg << "[kg]" << std::endl; - myRuntimeInfo->out << "Wing miscellaneous items mass ... " << W3 * to_kg << "[kg]" << std::endl; + myRuntimeInfo->out << "Wing bending material mass ... " << config->flops_technology_factor.value() * W1 * to_kg << "[kg]" << std::endl; + myRuntimeInfo->out << "Wing shear material and control surface mass ... " << config->flops_technology_factor.value() * W2 * to_kg << "[kg]" << std::endl; + myRuntimeInfo->out << "Wing miscellaneous items mass ... " << config->flops_technology_factor.value() * W3 * to_kg << "[kg]" << std::endl; data->wing_mass_properties.data["mass"] = wing_mass; // Calculate wing center of gravity according to Howe 2005 page 252 diff --git a/wing_design/src/taw/tawWingDesignConfig.cpp b/wing_design/src/taw/tawWingDesignConfig.cpp index 9099b826fcf5368c76954cf4b27097e5e16a2f56..f5e5f3a4217c7fdcda20406733b8640e2c04a225 100644 --- a/wing_design/src/taw/tawWingDesignConfig.cpp +++ b/wing_design/src/taw/tawWingDesignConfig.cpp @@ -74,6 +74,8 @@ taw::cantilever::WingDesignConfig::WingDesignConfig() "program_settings/tube_and_wing/cantilever/calculation_methods/mass/parameters/mode_0/faert")), flops_fcomp(EndnodeReadOnly<double>( "program_settings/tube_and_wing/cantilever/calculation_methods/mass/parameters/mode_0/fcomp")), + flops_technology_factor(EndnodeReadOnly<double>( + "program_settings/tube_and_wing/cantilever/calculation_methods/mass/parameters/mode_0/technology_factor")), chiozzotto_technology_factor(EndnodeReadOnly<double>( "program_settings/tube_and_wing/cantilever/calculation_methods/mass/parameters/mode_1/technology_factor")), chiozzotto_material(EndnodeReadOnly<std::string>( @@ -113,6 +115,7 @@ void taw::cantilever::WingDesignConfig::read(const node& xml) { flops_fstrt.read(xml); flops_faert.read(xml); flops_fcomp.read(xml); + flops_technology_factor.read(xml); chiozzotto_technology_factor.read(xml); chiozzotto_material.read(xml); common_airfoil_data_path.read(xml); diff --git a/wing_design/src/taw/tawWingDesignConfig.h b/wing_design/src/taw/tawWingDesignConfig.h index 468de0033ac42fa35fdd24fe34a7ebd3d863b833..e75ee6e247542791ccbeb2e9f6b97058d921026c 100644 --- a/wing_design/src/taw/tawWingDesignConfig.h +++ b/wing_design/src/taw/tawWingDesignConfig.h @@ -81,6 +81,7 @@ class WingDesignConfig { EndnodeReadOnly<double> flops_fstrt; EndnodeReadOnly<double> flops_faert; EndnodeReadOnly<double> flops_fcomp; + EndnodeReadOnly<double> flops_technology_factor; // chiozzotto wer mass method EndnodeReadOnly<double> chiozzotto_technology_factor; @@ -102,4 +103,4 @@ class WingDesignConfig { } // namespace cantilever } // namespace taw -#endif // WINGDESIGN_SRC_TAW_TAWWINGDESIGNCONFIG_H_ \ No newline at end of file +#endif // WINGDESIGN_SRC_TAW_TAWWINGDESIGNCONFIG_H_ diff --git a/wing_design/wing_design_conf.xml b/wing_design/wing_design_conf.xml index c0346d1623d3887d825cd752d19cf9a0ce19e2e9..a52d58ff5c8749c4ded8919993586830358cfa25 100644 --- a/wing_design/wing_design_conf.xml +++ b/wing_design/wing_design_conf.xml @@ -308,11 +308,17 @@ <upper_boundary>1.0</upper_boundary> </faert> <fcomp description="composite utilization factor from 0.0 (no composites) to 1.0 (maximum use of composites)"> - <value>0.5</value> + <value>0.0</value> <unit>1</unit> <lower_boundary>0.0</lower_boundary> <upper_boundary>1.0</upper_boundary> </fcomp> + <technology_factor description="additional technology factor applied to overall mass"> + <value>1.0</value> + <unit>1</unit> + <lower_boundary>0.5</lower_boundary> + <upper_boundary>1.5</upper_boundary> + </technology_factor> </mode_0> <mode_1 description="chiozzotto_wer"> <technology_factor description="technology factor for wing mass: factor below 1 -> higher technology level (less weight), factor above 1 lower technology level (higher weight)"> @@ -731,4 +737,4 @@ </common_airfoil_data_path> </additional_directory_paths> </program_settings> -</module_configuration_file> \ No newline at end of file +</module_configuration_file>