17#include "load_charge_material.h"
41 const double specificHeatGas,
const double feedRate,
const double percentVapor,
42 const double initialTemperature,
const double dischargeTemperature,
43 const double specificHeatVapor,
const double percentReacted,
const double reactionHeat,
44 const double additionalHeat)
45 : thermicReactionType(thermicReactionType), specificHeatGas(specificHeatGas), feedRate(feedRate),
46 percentVapor(percentVapor / 100.0), initialTemperature(initialTemperature),
47 dischargeTemperature(dischargeTemperature), specificHeatVapor(specificHeatVapor),
48 percentReacted(percentReacted / 100.0), reactionHeat(reactionHeat), additionalHeat(additionalHeat) {}
63 this->thermicReactionType = thermicReactionType;
88 void setFeedRate(
double feedRate) { this->feedRate = feedRate; }
184 void setSubstance(std::string substance) { this->substance = std::move(substance); }
190 int getID()
const {
return this->id; }
196 void setID(
const int id) { this->
id = id; }
203 const double tempDiff = dischargeTemperature - initialTemperature;
204 const double hgas = (1.0 - percentVapor) * feedRate * specificHeatGas * tempDiff;
205 const double hvapor = percentVapor * feedRate * specificHeatVapor * tempDiff;
208 double heatReact = 0.0;
209 if (thermicReactionType == LoadChargeMaterial::ThermicReactionType::ENDOTHERMIC) {
210 heatReact = feedRate * percentReacted * reactionHeat;
213 totalHeat = hgas + hvapor + heatReact + additionalHeat;
219 return specificHeatVapor == rhs.specificHeatVapor && substance == rhs.substance &&
id == rhs.id;
227 double specificHeatGas = 0.0;
228 double feedRate = 0.0;
229 double percentVapor = 0.0;
230 double initialTemperature = 0.0;
231 double dischargeTemperature = 0.0;
232 double specificHeatVapor = 0.0;
233 double percentReacted = 0.0;
234 double reactionHeat = 0.0;
235 double additionalHeat = 0.0;
236 std::string substance =
"Unknown";
239 double totalHeat = 0.0;
249 : specificHeatVapor(specificHeatVapor), substance(std::move(substance)) {}
void setSpecificHeatGas(double specificHeatGas)
void setAdditionalHeat(double additionalHeat)
double getPercentVapor() const
void setSubstance(std::string substance)
GasLoadChargeMaterial(std::string substance, double specificHeatVapor)
GasLoadChargeMaterial(const LoadChargeMaterial::ThermicReactionType thermicReactionType, const double specificHeatGas, const double feedRate, const double percentVapor, const double initialTemperature, const double dischargeTemperature, const double specificHeatVapor, const double percentReacted, const double reactionHeat, const double additionalHeat)
double getAdditionalHeat() const
std::string getSubstance() const
double getReactionHeat() const
double getSpecificHeatGas() const
double getDischargeTemperature() const
void setDischargeTemperature(double dischargeTemperature)
void setPercentReacted(double percentReacted)
void setReactionHeat(double reactionHeat)
void setSpecificHeatVapor(double specificHeatVapor)
void setFeedRate(double feedRate)
double getSpecificHeatVapor() const
bool operator==(const GasLoadChargeMaterial &rhs) const
bool operator
void setThermicReactionType(LoadChargeMaterial::ThermicReactionType thermicReactionType)
bool operator!=(const GasLoadChargeMaterial &rhs) const
bool operator
LoadChargeMaterial::ThermicReactionType getThermicReactionType() const
void setPercentVapor(double percentVapor)
double getFeedRate() const
void setInitialTemperature(double initialTemperature)
double getPercentReacted() const
double getInitialTemperature() const
ThermicReactionType
Classifications of thermic reaction type.