TransFlow
0.1.0
A transient pipeline flow simulation library
|
8 #include "composition.hpp"
46 const arma::mat& boundaryConditionMat,
81 const std::vector<std::string>& boundarySettings = {
"inlet",
"outlet",
"inlet"});
125 inline const auto&
inlet(
const arma::uword i)
const
134 throw std::runtime_error(
"invalid index i");
141 inline const auto&
outlet(
const arma::uword i)
const
150 throw std::runtime_error(
"invalid index i");
181 inline operator double()
const {
return m_value; }
242 if (setting ==
"none")
244 this->
inlet(i).setActive(
false);
245 this->
outlet(i).setActive(
false);
247 else if (setting ==
"inlet")
249 this->
inlet(i).setActive(
true);
250 this->
outlet(i).setActive(
false);
252 else if (setting ==
"outlet")
254 this->
inlet(i).setActive(
false);
255 this->
outlet(i).setActive(
true);
257 else if (setting ==
"both")
259 this->
inlet(i).setActive(
true);
260 this->
outlet(i).setActive(
true);
264 throw std::runtime_error(
"invalid setting \"" + setting +
"\"");
281 throw std::runtime_error(
"invalid index i");
297 throw std::runtime_error(
"invalid index i");
const auto & outlet(const arma::uword i) const
Definition: boundaryconditions.hpp:141
auto & inletFlow()
Get inlet flow [kg/s].
Definition: boundaryconditions.hpp:109
auto & outletTemperature()
Get outlet temperature [k].
Definition: boundaryconditions.hpp:116
bool m_isActive
If the condition is active or not.
Definition: boundaryconditions.hpp:203
bool isActive()
If the condition is active or not.
Definition: boundaryconditions.hpp:196
SingleCondition m_outletTemperature
Outlet temperature [K].
Definition: boundaryconditions.hpp:234
BoundaryConditions()
BoundaryConditions with no properties set.
SingleCondition m_outletPressure
Outlet presure [Pa].
Definition: boundaryconditions.hpp:233
void setActive(const bool active)
Set the active state of the condition.
Definition: boundaryconditions.hpp:200
SingleCondition m_inletTemperature
Inlet temperature [K].
Definition: boundaryconditions.hpp:231
const auto & inletPressure() const
Get inlet pressure [Pa].
Definition: boundaryconditions.hpp:99
Composition m_outletComposition
Outlet Composition [fraction].
Definition: boundaryconditions.hpp:237
bool isActive() const
If the condition is active or not.
Definition: boundaryconditions.hpp:193
const Composition & inletComposition() const
Get inlet Composition.
Definition: boundaryconditions.hpp:105
Definition: pipeline.hpp:16
double m_value
The value at the boundary.
Definition: boundaryconditions.hpp:202
TimeStep(const arma::uword timestamp, const BoundaryConditions &boundaryConditions)
Construct from timestamp and BoundaryConditions instance.
Definition: boundaryconditions.hpp:313
double value()
Get the value.
Definition: boundaryconditions.hpp:190
const auto & inletFlow() const
Get inlet flow [kg/s].
Definition: boundaryconditions.hpp:96
static const Composition defaultComposition
Default composition.
Definition: composition.hpp:81
auto & outletPressure()
Get outlet pressure [Pa].
Definition: boundaryconditions.hpp:113
const auto & outletFlow() const
Get outlet flow [kg/s].
Definition: boundaryconditions.hpp:97
const Composition & outletComposition() const
Get outlet Composition.
Definition: boundaryconditions.hpp:106
SingleCondition & outlet(const arma::uword i)
Definition: boundaryconditions.hpp:288
void setBoundarySettings(const std::vector< std::string > &strings)
Set boundary settings via vector of string, or brace-init-list like {"inlet", "outlet",...
const auto & inlet(const arma::uword i) const
Definition: boundaryconditions.hpp:125
arma::uword m_timestamp
Timestamp [s].
Definition: boundaryconditions.hpp:324
SingleCondition m_inletPressure
Inlet pressure [Pa].
Definition: boundaryconditions.hpp:230
Composition & inletComposition()
Inlet Composition setter.
Definition: boundaryconditions.hpp:118
SingleCondition & inlet(const arma::uword i)
Definition: boundaryconditions.hpp:272
auto & inletTemperature()
Get inlet temperature [K].
Definition: boundaryconditions.hpp:115
The TimeStep class is a subclass of BoundaryConditions with an extra member to store the timestamp of...
Definition: boundaryconditions.hpp:305
const auto & inletTemperature() const
Get inlet temperature [K].
Definition: boundaryconditions.hpp:102
void setBoundarySettings(const arma::uword i, const std::string &setting)
Set a single boundary setting (private)
Definition: boundaryconditions.hpp:240
Composition m_inletComposition
Inlet Composition [fraction].
Definition: boundaryconditions.hpp:236
auto & outletFlow()
Get outlet flow [kg/s].
Definition: boundaryconditions.hpp:110
Composition & outletComposition()
Outlet Composition setter.
Definition: boundaryconditions.hpp:119
auto & inletPressure()
Get inlet pressure [Pa].
Definition: boundaryconditions.hpp:112
The Composition class is a simple container class for the composition of natural gas....
Definition: composition.hpp:17
friend std::ostream & operator<<(std::ostream &out, const BoundaryConditions &c)
Overload the ostream::operator<< so we can do "cout << bc" and get nice print of the boundary conditi...
SingleCondition m_outletFlow
Outlet flow [kg/s].
Definition: boundaryconditions.hpp:232
const auto & outletTemperature() const
Get outlet temperature [k].
Definition: boundaryconditions.hpp:103
SingleCondition(const double value, const bool active)
Construct from value and isActive bool.
Definition: boundaryconditions.hpp:175
double value() const
Get the value.
Definition: boundaryconditions.hpp:187
const auto & outletPressure() const
Get outlet pressure [Pa].
Definition: boundaryconditions.hpp:100
SingleCondition m_inletFlow
Inlet flow [kg/s].
Definition: boundaryconditions.hpp:229
The BoundaryConditions class is a container for the boundary conditions at the inlet and outlet of a ...
Definition: boundaryconditions.hpp:27
arma::uword nActiveBoundaryConditions() const
Returns the number of active boundary conditions.
The SingleCondition class is used to store a single boundary condition (like flow,...
Definition: boundaryconditions.hpp:165
arma::uword timestamp() const
Get (copy of) timestamp.
Definition: boundaryconditions.hpp:321