Loading [MathJax]/extensions/tex2jax.js
TransFlow  0.1.0
A transient pipeline flow simulation library
All Classes Namespaces Functions Variables Friends Modules Pages
physics.hpp
1 #pragma once
2 
3 #include <armadillo>
4 
5 class Composition;
6 
7 namespace utils
8 {
9  double calculateHeatCapacityConstantVolumeJFH(
10  const double pressure);
11 
12  double calculateHeatCapacityConstantVolumeTGNet(
13  const double molarMass,
14  const double pressure,
15  const double temperature);
16 
17  double calculateHeatCapacityConstantPressureJFH(
18  const double molarMass,
19  const double pressure,
20  const double temperature);
21 
22  double calculateHeatCapacityConstantPressureLangelandsvik(
23  const double molarMass,
24  const double pressure,
25  const double temperature);
26 
27  double calculateHeatCapacityConstantPressureTGNet(
28  const double molarMassOfMixture,
29  const double pressure,
30  const double temperature);
31 
32  double calculateHeatCapacityConstantPressureKIO(
33  const Composition& comp,
34  const double pressure,
35  const double temperature);
36 
37  double calculateIsobaricHeatCapacityJKH(
38  const Composition& comp,
39  const double pressure,
40  const double temperature,
41  const double Z = 0);
42 
43  arma::vec calculateViscosity(
44  const arma::vec& molarMass,
45  const arma::vec& temperature,
46  const arma::vec& density);
47 
48  arma::vec calculateReynoldsNumber(
49  const arma::vec& massFlow,
50  const arma::vec& diameter,
51  const arma::vec& viscosity);
52 
53  arma::vec calculateColebrookWhiteFrictionFactor(
54  const arma::vec& sandGrainEquivalentRoughness,
55  const arma::vec& diameter,
56  const arma::vec& reynoldsNumber);
57 
58  double calculateColebrookWhiteFrictionFactor(
59  const double sandGrainEquivalentRoughness,
60  const double diameter,
61  const double reynoldsNumber);
62 
63  double calculateHaalandFrictionFactor(
64  const double sandGrainEquivalentRoughness,
65  const double diameter,
66  const double reynoldsNumber);
67 
68  namespace details
69  {
70  double KIOidealGasCP(
71  const double specificGravity,
72  const double temperature);
73 
74  double KIOdimensionlessResidualCP(
75  const double reducedPressure,
76  const double reducedTemperature);
77 
78  double JKHdimensionlessCP(
79  const double molarMass,
80  const double H2S,
81  const double CO2,
82  const double N2,
83  const double H2,
84  const double H2O,
85  const double pressure,
86  const double temperature,
87  const double compressibility);
88 
89  double JKHidealGasCP(
90  const Composition& comp,
91  const double specificGravity,
92  const double temperature);
93 
94  double JKHidealGasCP(
95  const double specificGravity,
96  const double H2S,
97  const double CO2,
98  const double N2,
99  const double H2,
100  const double H2O,
101  const double temperature);
102 
103  double calculateHeatCapacityConstantPressureKIO(
104  const Composition& comp,
105  const double H2S,
106  const double pressure,
107  const double temperature);
108 
109  double colebrookWhiteFrictionFactor(
110  const double sandGrainEquivalentRoughness,
111  const double diameter,
112  const double reynoldsNumber);
113 
114  double colebrookWhite(
115  const double f,
116  const double sandGrainEquivalentRoughness,
117  const double diameter,
118  const double reynoldsNumber);
119 
120  double colebrookWhiteDerivative(
121  const double f,
122  const double sandGrainEquivalentRoughness,
123  const double diameter,
124  const double reynoldsNumber);
125  }
126 }
Composition
The Composition class is a simple container class for the composition of natural gas....
Definition: composition.hpp:17
utils
Definition: utils.hpp:10