TransFlow  0.1.0
A transient pipeline flow simulation library
dummygas.hpp
1 #pragma once
2 
3 #include <armadillo>
4 
5 #include "constants.hpp"
6 #include "equationofstate/equationofstatebase.hpp"
7 
13 {
14 public:
19  explicit DummyGas(const Composition& composition):
20  EquationOfStateBase(composition)
21  {
22  m_molarMass = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
23  setComposition(m_composition); // update molar mass of mixture using above
24  }
25 
30  virtual arma::vec evaluate(const double, const double) const override
31  {
32  arma::vec Z = arma::zeros<arma::vec>(6);
33  Z(0) = 1.0; // Z factor
34  Z(1) = 2.0; // dZdT_p
35  Z(2) = 3.0; // dZdp_T
36  Z(3) = 4.0; // dZdT_rho
37  Z(4) = 5.0; // c_p
38  Z(5) = 6.0; // c_v
39 
40  return Z;
41  }
42 
44  virtual double calculateCompressibility(const double, const double) const override
45  {
46  return 1.0;
47  }
48 };
EquationOfStateBase::m_composition
arma::vec::fixed< 10 > m_composition
The composition of the gas as fractions, in order C1, C2, C3, iC4, nC4, iC5, nC5, C6,...
Definition: equationofstatebase.hpp:94
DummyGas::evaluate
virtual arma::vec evaluate(const double, const double) const override
Override of evaluate, for unit testing.
Definition: dummygas.hpp:30
DummyGas::DummyGas
DummyGas(const Composition &composition)
Construct from Composition.
Definition: dummygas.hpp:19
DummyGas
Dummy EOS implementation used for unit testing. This uses a special molar mass for the gas components...
Definition: dummygas.hpp:12
EquationOfStateBase::setComposition
virtual bool setComposition(const arma::vec &composition, const bool force=true)
Set a new composition for the equation of state.
EquationOfStateBase
The EquationOfStateBase is an abstract class, the base class for different equations of state.
Definition: equationofstatebase.hpp:20
Composition
The Composition class is a simple container class for the composition of natural gas....
Definition: composition.hpp:17
EquationOfStateBase::m_molarMass
arma::vec m_molarMass
The molar mass [g/mol] of the different gas components, in order C1, C2, C3, iC4, nC4,...
Definition: equationofstatebase.hpp:92
DummyGas::calculateCompressibility
virtual double calculateCompressibility(const double, const double) const override
Override which just returns 1.0.
Definition: dummygas.hpp:44