TransFlow  0.1.0
A transient pipeline flow simulation library
utils.hpp
1 #pragma once
2 
3 #include <armadillo>
4 
5 class AmbientFluid;
6 
10 namespace utils {
11 
22  double calcGasThermalConductivity(const double pressure);
23 
35  const double diameter,
36  const AmbientFluid& fluid
37  );
38 
54  const double diameter,
55  const double heatCapacityConstantPressure = 4200, // [J/kg K]
56  const double viscosity = 1.05/1000.0, // [Pa s] = [kg/m*s]
57  const double thermalConductivity = 0.57, // [W/m K]
58  const double density = 1020, // [kg/m3]
59  const double velocity = 0.1 // [m/s]
60  );
61 
77  const double diameter,
78  const double fluidPressure,
79  const double fluidReynoldsNumber,
80  const double fluidHeatCapacityConstantPressure,
81  const double fluidViscosity);
82 
104  const double innerDiameter,
105  const double wallThickness,
106  const double burialDepth,
107  const double burialMediumConductivity = 2.0);
108 
125  const double innerDiameter,
126  const double wallThickness,
127  const double burialDepth,
128  const double burialMediumConductivity = 2.0);
129 
141  arma::vec calcLogSpacedShellWidths(
142  const double innerRadius,
143  const double outerRadius,
144  const arma::uword nShells = 10);
145 
164  const double innerDiameter,
165  const double wallThickness,
166  const double burialDepth,
167  const double burialMediumConductivity = 2.0,
168  const arma::uword nShells = 10);
169 }
utils::calcEquivalentBurialLayerWidths
arma::vec calcEquivalentBurialLayerWidths(const double innerDiameter, const double wallThickness, const double burialDepth, const double burialMediumConductivity=2.0, const arma::uword nShells=10)
Calculate the widths of equivalent burial cylinder shells.
utils::calcOuterWallFilmCoefficient
double calcOuterWallFilmCoefficient(const double diameter, const AmbientFluid &fluid)
Calculate outer film coefficient for a given outer diameter and AmbientFluid.
utils::calcEquivalentBurialLayerRadius
double calcEquivalentBurialLayerRadius(const double innerDiameter, const double wallThickness, const double burialDepth, const double burialMediumConductivity=2.0)
calcEquivalentBurialLayerRadius
AmbientFluid
The AmbientFluid class is a simple container class that defines the conductivity, density,...
Definition: ambientfluid.hpp:10
utils::calcGasThermalConductivity
double calcGasThermalConductivity(const double pressure)
Calculate thermal conductivity of natural gas at given pressure.
utils
Definition: utils.hpp:10
utils::calcInnerWallFilmCoefficient
double calcInnerWallFilmCoefficient(const double diameter, const double fluidPressure, const double fluidReynoldsNumber, const double fluidHeatCapacityConstantPressure, const double fluidViscosity)
Calculate inner wall film coefficient for flow inside a cylinder.
utils::calcLogSpacedShellWidths
arma::vec calcLogSpacedShellWidths(const double innerRadius, const double outerRadius, const arma::uword nShells=10)
Calculate logarithmically (log10) spaced cylinder shell widths.
utils::calcEquivalentBurialLayerWidth
double calcEquivalentBurialLayerWidth(const double innerDiameter, const double wallThickness, const double burialDepth, const double burialMediumConductivity=2.0)
Calculate equivalent burial layer thickness.