diff --git a/systems_design/src/standardData.h b/systems_design/src/standardData.h index caa904d81ace7a102e1c38d98234459a92faa2a6..7846a82812475ae24dbf56384394f5e19f43a95f 100644 --- a/systems_design/src/standardData.h +++ b/systems_design/src/standardData.h @@ -116,13 +116,11 @@ class standardData { double MTOM;/**<[kg] maximum takeoff mass */ double WtoS;/**<wing loading */ double OME;/**<[kg] operating mass empty */ - double MME;/**<[kg] manufacturer mass empty */ double MLM;/**<[kg] maximum landing mass */ //double maxPayload;/**<[kg] maximum payload mass */ //double designPayload;/**<[kg] design payload mass */ double maxUsableFuel;/**<[kg] maximum usable fuel mass */ double totalFuelVolume;/**<[liter] */ //in Liter - double Structure;/**<[kg] structural mass */ double Wing;/**< Wing mass **/ double Fuselage;/**<[kg] Fuselage mass **/ double Empennage;/**<[kg] Empennage **/ @@ -145,13 +143,11 @@ class standardData { MTOM = 0.0; WtoS = 0.0; OME = 0.0; - MME = 0.0; MLM = 0.0; //maxPayload = 0.0; //designPayload = 0.0; maxUsableFuel = 0.0; totalFuelVolume = 0.0; - Structure = 0.0; Wing = 0.0; Fuselage = 0.0; Gear = 0.0; @@ -189,7 +185,6 @@ class standardData { Vec3 furnishingsGroup;/*<[m] center of gravity of the furnishing group*/ Vec3 systemsGroup;/*<[m] center of gravity of the systems group*/ Vec3 Payload;/*<[m] center of gravity of the payload*/ - Vec3 Structure;/*<[m] center of gravity of the structural components*/ std::vector<Vec3> Engines;/*<[m] centers of gravity of each individual engine*/ Vec3 total; /**<[m] total center of gravity of all systems excluding furnishing (calculated in fuselageDesign) */ Vec3 waterAndChemicals; /**<[m] center of gravity of Airbus Ch. 61.1+2: Fluids = TB Potable Water and Toilet Chemicals*/ diff --git a/systems_design/src/standardReport.cpp b/systems_design/src/standardReport.cpp index 93f720b5fc13be3e65e541af29e9b27366da95fa..106d23a3393a90a93c72ba850344c79a7f0c6bbf 100644 --- a/systems_design/src/standardReport.cpp +++ b/systems_design/src/standardReport.cpp @@ -214,47 +214,6 @@ void standardSystemsDesign::setTexBody() { } if (data_->configuration.designCase && !data_->configuration.texReportWithoutMasses) { report_.texReportStream() << "\\begin{frame}" << std::endl - << " \\frametitle{Mass Breakdown}" << std::endl - << std::endl - << std::endl - << " \\begin{table}" << std::endl - << " \\centering" << std::endl - << " \\scriptsize" << std::endl - << " \\begin{tabularx}{230pt}{llrr}" << std::endl - << " \\multicolumn{4}{c}{Program Mode: " << std::endl - << " \\textit{Sizing Mode}}\\\\" << std::endl - << " \\midrule[0.5pt]" << std::endl - << " \\multicolumn{4}{l}{Empty Weights}\\\\" << std::endl - << " \\midrule[0.5pt]" << std::endl - << " Operating Mass Empty & OME & " << Rounding(data_->data.Mass.OME, 0) << "& $\\kilogram$\\\\" << std::endl - << " Previous Operating Mass Empty & OME$_{prev}$ & " << Rounding(data_->data.Mass.OME, 0) << "& $\\kilogram$\\\\" << std::endl - << " Manufacturer's Mass Empty & MME & " << Rounding(data_->data.Mass.MME, 0) << "& $\\kilogram$\\\\" << std::endl - << " \\midrule[0.5pt]" << std::endl - << " \\multicolumn{4}{l}{Component Weights}\\\\" << std::endl - << " \\midrule[0.5pt]" << std::endl - << " Structures & m$_{structure}$ & " << Rounding(data_->data.Mass.Structure, 0) << "& $\\kilogram$\\\\" << std::endl - << " Gear & m$_{gear}$ & " << Rounding(data_->data.Mass.Gear, 0) << "& $\\kilogram$\\\\" << std::endl - << " Propulsion & m$_{propulsion}$ & " << Rounding(data_->data.Mass.totalGroupAllEngines, 0) << "& $\\kilogram$\\\\" << std::endl - << " Systems & m$_{systems}$ & " << Rounding(data_->data.Mass.systemsGroup, 0) << "& $\\kilogram$\\\\" << std::endl - << " Not Allocoated Mass & m$_{miscellaneous}$ & " - << Rounding(data_->data.Mass.notAllocatedSystems, 0) << "& $\\kilogram$\\\\" << std::endl - << " \\end{tabularx}" << std::endl - << " \\end{table}" << std::endl - << std::endl - << " \\begin{figure}" << std::endl - << " \\tiny" << std::endl - << " \\def\\svgwidth{5.5cm}" << std::endl - << " \\import{" + win2lin(relativePath(rtIO_->getPlotDir(), rtIO_->getReportDir())) - + "}{" + data_->configuration.theProgramName + "_MassBreakdown_plot.pdf_tex}" << std::endl - << " \\caption{\\scriptsize{Mass breakdown}}" << std::endl - << " \\end{figure}" << std::endl - << std::endl - << "\\end{frame}" << std::endl - << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl - << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" << std::endl - << std::endl - - << "\\begin{frame}" << std::endl << " \\frametitle{Systems Masses}" << std::endl << std::endl << std::endl diff --git a/systems_design/src/systemsIOData.cpp b/systems_design/src/systemsIOData.cpp index 3694f6f63fb314e76b65ff93a7c541fd1de77673..80488669752fbd396833976bc544ae411f9de2d6 100644 --- a/systems_design/src/systemsIOData.cpp +++ b/systems_design/src/systemsIOData.cpp @@ -379,14 +379,6 @@ void systemsIOData::readMassComponents(const node& acxml) { data.Mass.MTOM = EndnodeReadOnly<double>("aircraft_exchange_file/analysis/masses_cg_inertia/maximum_takeoff_mass/mass_properties/mass").read(acxml).value(); data.Mass.WtoS = EndnodeReadOnly<double>("aircraft_exchange_file/sizing_point/wing_loading").read(acxml).value(); data.Mass.OME = EndnodeReadOnly<double>("aircraft_exchange_file/analysis/masses_cg_inertia/operating_mass_empty/mass_properties/mass").read(acxml).value(); - std::string MME_path = "aircraft_exchange_file/analysis/masses_cg_inertia/manufacturer_mass_empty/mass_properties/mass"; - if (!(rtIO_.acxml.find(MME_path))) { - //MME is calculated by weightAndBalance and thus not avaialable in first iteration -> OME used instead to size furnishing system - myRuntimeInfo->warn << "Acxml does not contain node for manufacturer mass empty. 0.45 * MTOM used instead to size ATA25 in this iteration." << std::endl; - data.Mass.MME = 0.45 * data.Mass.MTOM; - } else { - data.Mass.MME = EndnodeReadOnly<double>("aircraft_exchange_file/analysis/masses_cg_inertia/manufacturer_mass_empty/mass_properties/mass").read(acxml).value(); - } std::string MLM_path = "aircraft_exchange_file/analysis/masses_cg_inertia/maximum_landing_mass/mass_properties/mass/value"; if (!(rtIO_.acxml.find(MLM_path))) { //MLM is calculated by weightAndBalance and thus not avaialable in first iteration -> MTOM used instead to size landing gear system @@ -429,11 +421,6 @@ void systemsIOData::readMassComponents(const node& acxml) { data.Mass.Engines.push_back(EndnodeReadOnly<double>("aircraft_exchange_file/component_design/propulsion/specific/propulsion@" + num2Str(i) + "/engine/mass_properties/mass").read(acxml).value()); } - data.Mass.Structure = data.Mass.Wing + data.Mass.Fuselage + data.Mass.Empennage + data.Mass.Gear + data.Mass.Pylon; - if (data.Mass.Structure <= 0.0 || data.Mass.Structure >= data.Mass.MME) { - myRuntimeInfo->err << "Mass.Structure not in range of 0 and MME of " << data.Mass.MME << std::endl; - exit(1); - } } void systemsIOData::readCGComponents(const node& acxml) { diff --git a/systems_design/src/systemsIOData.h b/systems_design/src/systemsIOData.h index c05bb47fb288f14f0827bf432897057b9be234bf..bb36c9e5f7f1f304af859e3ccb09a74432e5f07a 100644 --- a/systems_design/src/systemsIOData.h +++ b/systems_design/src/systemsIOData.h @@ -264,8 +264,7 @@ class systemsIOData { void readMassesFromXML(const node& acxml) { readMassComponents(acxml); readCGComponents(acxml); - PreviousMME = data.Mass.MME;//todo: is this used anywhere? - PreviousOME = data.Mass.OME;//todo: is this used anywhere? + PreviousOME = data.Mass.OME; } /**