CoolProp  6.6.0
An open-source fluid property and humid air property database
Classes | Namespaces | Macros | Functions
TabularBackends.h File Reference
#include "AbstractState.h"
#include "CPmsgpack.h"
#include <msgpack/fbuffer.hpp>
#include "crossplatform_shared_ptr.h"
#include "Exceptions.h"
#include "CoolProp.h"
#include <sstream>
#include "Configuration.h"
#include "Backends/Helmholtz/PhaseEnvelopeRoutines.h"

Go to the source code of this file.

Classes

class  CoolProp::PackablePhaseEnvelopeData
 
class  CoolProp::PureFluidSaturationTableData
 This class holds the data for a two-phase table that is log spaced in p. More...
 
class  CoolProp::SinglePhaseGriddedTableData
 This class holds the data for a single-phase interpolation table that is regularly spaced. More...
 
class  CoolProp::LogPHTable
 This class holds the single-phase data for a log(p)-h gridded table. More...
 
class  CoolProp::LogPTTable
 This class holds the single-phase data for a log(p)-T gridded table. More...
 
class  CoolProp::CellCoeffs
 
class  CoolProp::TabularDataSet
 This class contains the data for one set of Tabular data including single-phase and two-phase data. More...
 
class  CoolProp::TabularDataLibrary
 
class  CoolProp::TabularBackend
 This class contains the general code for tabular backends (TTSE, bicubic, etc.) More...
 

Namespaces

 CoolProp
 Code for all the binary pairs in the mixture.
 

Macros

#define LIST_OF_MATRICES
 
#define LIST_OF_SATURATION_VECTORS
 
#define X(name)   name = PED.name;
 
#define X(name)   name = PED.name;
 
#define X(name)   vectors.insert(std::pair<std::string, std::vector<double>>(#name, name));
 
#define X(name)   matrices.insert(std::pair<std::string, std::vector<std::vector<double>>>(#name, name));
 
#define X(name)   name = get_vector_iterator(#name)->second;
 
#define X(name)   name = get_matrix_iterator(#name)->second;
 
#define X(name)   std::vector<double> name;
 
#define X(name)
 
#define X(name)   vectors.insert(std::pair<std::string, std::vector<double>>(#name, name));
 
#define X(name)   name = get_vector_iterator(#name)->second;
 
#define X(name)   std::vector<std::vector<double>> name;
 
#define X(name)   name.resize(Nx, std::vector<double>(Ny, _HUGE));
 
#define X(name)   matrices.insert(std::pair<std::string, std::vector<std::vector<double>>>(#name, name));
 
#define X(name)   name = get_matrices_iterator(#name)->second;
 

Functions

void CoolProp::mass_to_molar (parameters &param, double &conversion_factor, double molar_mass)
 Get a conversion factor from mass to molar if needed. More...
 

Macro Definition Documentation

◆ LIST_OF_MATRICES

#define LIST_OF_MATRICES

◆ LIST_OF_SATURATION_VECTORS

#define LIST_OF_SATURATION_VECTORS
Value:
X(TL) \
X(pL) \
X(logpL) \
X(hmolarL) \
X(smolarL) \
X(umolarL) \
X(rhomolarL) \
X(logrhomolarL) \
X(viscL) \
X(condL) \
X(logviscL) \
X(TV) \
X(pV) \
X(logpV) \
X(hmolarV) \
X(smolarV) \
X(umolarV) \
X(rhomolarV) \
X(logrhomolarV) \
X(viscV) \
X(condV) \
X(logviscV) \
X(cpmolarV) \
X(cpmolarL) \
X(cvmolarV) \
X(cvmolarL) \
X(speed_soundL) \
X(speed_soundV)

MAGIC WARNING!! X Macros in use See http://stackoverflow.com/a/148610 See http://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c#202511

Definition at line 62 of file TabularBackends.h.

◆ X [1/14]

#define X (   name)    name = PED.name;

Definition at line 629 of file TabularBackends.h.

◆ X [2/14]

#define X (   name)    name = PED.name;

Definition at line 629 of file TabularBackends.h.

◆ X [3/14]

#define X (   name)    vectors.insert(std::pair<std::string, std::vector<double>>(#name, name));

Definition at line 629 of file TabularBackends.h.

◆ X [4/14]

#define X (   name)    matrices.insert(std::pair<std::string, std::vector<std::vector<double>>>(#name, name));

Definition at line 629 of file TabularBackends.h.

◆ X [5/14]

#define X (   name)    name = get_vector_iterator(#name)->second;

Definition at line 629 of file TabularBackends.h.

◆ X [6/14]

#define X (   name)    name = get_matrix_iterator(#name)->second;

Definition at line 629 of file TabularBackends.h.

◆ X [7/14]

#define X (   name)    std::vector<double> name;

Definition at line 629 of file TabularBackends.h.

◆ X [8/14]

#define X (   name)
Value:
name.resize(N); \
std::fill(name.begin(), name.end(), _HUGE);

Definition at line 629 of file TabularBackends.h.

◆ X [9/14]

#define X (   name)    vectors.insert(std::pair<std::string, std::vector<double>>(#name, name));

Definition at line 629 of file TabularBackends.h.

◆ X [10/14]

#define X (   name)    name = get_vector_iterator(#name)->second;

Definition at line 629 of file TabularBackends.h.

◆ X [11/14]

#define X (   name)    std::vector<std::vector<double>> name;

Definition at line 629 of file TabularBackends.h.

◆ X [12/14]

#define X (   name)    name.resize(Nx, std::vector<double>(Ny, _HUGE));

Definition at line 629 of file TabularBackends.h.

◆ X [13/14]

#define X (   name)    matrices.insert(std::pair<std::string, std::vector<std::vector<double>>>(#name, name));

Definition at line 629 of file TabularBackends.h.

◆ X [14/14]

#define X (   name)    name = get_matrices_iterator(#name)->second;

Definition at line 629 of file TabularBackends.h.