TransFlow  0.1.0
A transient pipeline flow simulation library
material.hpp
1 #pragma once
2 
7 class Material
8 {
9 public:
16  constexpr Material(
17  const double conductivity,
18  const double density,
19  const double heatCapacity):
23  {}
24 
25  // read-only
26  double conductivity() const { return m_conductivity; }
27  double density() const { return m_density; }
28  double heatCapacity() const { return m_heatCapacity; }
29 
30  // initialized below
31  static const Material concrete;
32  static const Material steel;
33  static const Material coating;
34  static const Material soil;
35  static const Material seawater;
36  static const Material air;
37 
38 protected:
39  double m_conductivity;
40  double m_density;
41  double m_heatCapacity;
42 };
43 
44 constexpr inline Material Material::concrete = Material( 2.9, 3400, 650);
45 constexpr inline Material Material::steel = Material(50, 7800, 590);
46 constexpr inline Material Material::coating = Material( 0.74, 1300, 1900);
47 constexpr inline Material Material::soil = Material( 2, 2000, 1000); // water saturated sand
48 
49 constexpr inline Material Material::seawater = Material( 0.571, 1020, 4187);
50 constexpr inline Material Material::air = Material( 0.0257, 1.225, 1012);
Material::steel
static const Material steel
Predefined steel.
Definition: material.hpp:32
Material
The Material class is a simple container class that defines the conductivity, density and heat capaci...
Definition: material.hpp:7
Material::m_conductivity
double m_conductivity
Thermal conductivity [W/(m K)].
Definition: material.hpp:39
Material::coating
static const Material coating
Predefined pipe coating.
Definition: material.hpp:33
Material::m_density
double m_density
Density [kg/m3].
Definition: material.hpp:40
Material::soil
static const Material soil
Predefined soil.
Definition: material.hpp:34
Material::conductivity
double conductivity() const
Conductivity getter.
Definition: material.hpp:26
Material::concrete
static const Material concrete
Predefined concrete.
Definition: material.hpp:31
Material::seawater
static const Material seawater
Predefined seawater.
Definition: material.hpp:35
Material::air
static const Material air
Predefined air.
Definition: material.hpp:36
Material::heatCapacity
double heatCapacity() const
Heat capacity getter.
Definition: material.hpp:28
Material::density
double density() const
Density getter.
Definition: material.hpp:27
Material::m_heatCapacity
double m_heatCapacity
Heat capacity at constant pressure ( ) [J/(kg K)].
Definition: material.hpp:41
Material::Material
constexpr Material(const double conductivity, const double density, const double heatCapacity)
Basic constructor that requires all material properties.
Definition: material.hpp:16