TransFlow  0.1.0
A transient pipeline flow simulation library
idealgas.hpp
1 #pragma once
2 
3 #include <armadillo>
4 
5 #include "constants.hpp"
6 #include "equationofstate/equationofstatebase.hpp"
7 
12 {
13 public:
18  explicit IdealGas(const Composition&) {}
19 
28  virtual arma::vec evaluate(const double, const double) const override
29  {
30  arma::vec Z = arma::zeros<arma::vec>(6);
31  Z(0) = 1.0; // Z factor
32  Z(1) = 0.0; // derivatives are zero
33  Z(2) = 0.0; // derivatives are zero
34  Z(3) = 0.0; // derivatives are zero
35  Z(4) = 5/2*constants::gasConstant; // c_p of ideal monoatomic gas
36  Z(5) = 3/2*constants::gasConstant; // c_v of ideal monoatomic gas
37  return Z;
38  }
39 
44  virtual double calculateCompressibility(const double, const double) const override
45  {
46  return 1.0;
47  }
48 };
IdealGas::evaluate
virtual arma::vec evaluate(const double, const double) const override
Override. Independent of pressure and temperature.
Definition: idealgas.hpp:28
IdealGas::calculateCompressibility
virtual double calculateCompressibility(const double, const double) const override
Override. Independent of pressure and temperature.
Definition: idealgas.hpp:44
IdealGas::IdealGas
IdealGas(const Composition &)
IdealGas constructor. Composition is only used to determine molar mass (and density) of the gas.
Definition: idealgas.hpp:18
IdealGas
The IdealGas class implements the equation of state for an ideal gas.
Definition: idealgas.hpp:11
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