Canoe
Comprehensive Atmosphere N' Ocean Engine
thermodynamics.hpp File Reference
#include <array>
#include <cfloat>
#include <iosfwd>
#include <map>
#include <memory>
#include <set>
#include <utility>
#include <vector>
#include <yaml-cpp/yaml.h>
#include <athena/athena.hpp>
#include <athena/hydro/hydro.hpp>
#include <athena/mesh/mesh.hpp>
#include <air_parcel.hpp>
#include <configure.hpp>
#include <constants.hpp>

Go to the source code of this file.

Classes

class  Thermodynamics
 

Typedefs

using IndexPair = std::pair< int, int >
 
using IndexSet = std::vector< int >
 
using RealArray3 = std::array< Real, 3 >
 
using RealArrayX = std::vector< Real >
 
using SatVaporPresFunc1 = Real(*)(AirParcel const &, int i, int j)
 
using SatVaporPresFunc2 = Real(*)(AirParcel const &, int i, int j, int k)
 
using ReactionIndx = std::array< int, MAX_REACTANT >
 
using ReactionStoi = std::array< int, MAX_REACTANT >
 
using ReactionInfo = std::pair< ReactionIndx, ReactionStoi >
 

Enumerations

enum  { MAX_REACTANT = 3 }
 

Functions

Real NullSatVaporPres1 (AirParcel const &, int, int)
 
Real NullSatVaporPres2 (AirParcel const &, int, int, int)
 
void read_thermo_property (Real var[], char const name[], int len, Real v0, ParameterInput *pin)
 
Real saha_ionization_electron_density (Real T, Real num, Real ion_ev)
 
Real SatVaporPresIdeal (Real t, Real p3, Real beta, Real delta)
 

Typedef Documentation

◆ IndexPair

using IndexPair = std::pair<int, int>

Definition at line 30 of file thermodynamics.hpp.

◆ IndexSet

using IndexSet = std::vector<int>

Definition at line 31 of file thermodynamics.hpp.

◆ RealArray3

using RealArray3 = std::array<Real, 3>

Definition at line 33 of file thermodynamics.hpp.

◆ RealArrayX

using RealArrayX = std::vector<Real>

Definition at line 34 of file thermodynamics.hpp.

◆ SatVaporPresFunc1

using SatVaporPresFunc1 = Real (*)(AirParcel const &, int i, int j)

Definition at line 36 of file thermodynamics.hpp.

◆ SatVaporPresFunc2

using SatVaporPresFunc2 = Real (*)(AirParcel const &, int i, int j, int k)

Definition at line 37 of file thermodynamics.hpp.

◆ ReactionIndx

using ReactionIndx = std::array<int, MAX_REACTANT>

Definition at line 41 of file thermodynamics.hpp.

◆ ReactionStoi

using ReactionStoi = std::array<int, MAX_REACTANT>

Definition at line 42 of file thermodynamics.hpp.

◆ ReactionInfo

using ReactionInfo = std::pair<ReactionIndx, ReactionStoi>

Definition at line 43 of file thermodynamics.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Todo:
(CLI): move to configure.hpp
Enumerator
MAX_REACTANT 

Definition at line 40 of file thermodynamics.hpp.

Function Documentation

◆ NullSatVaporPres1()

Real NullSatVaporPres1 ( AirParcel const &  air,
int  i,
int  j 
)

Definition at line 8 of file enroll_vapor_functions.cpp.

◆ NullSatVaporPres2()

Real NullSatVaporPres2 ( AirParcel const &  ,
int  ,
int  ,
int   
)

◆ read_thermo_property()

void read_thermo_property ( Real  var[],
char const  name[],
int  len,
Real  v0,
ParameterInput *  pin 
)

Definition at line 14 of file read_thermo_property.cpp.

◆ saha_ionization_electron_density()

Real saha_ionization_electron_density ( Real  T,
Real  num,
Real  ion_ev 
)

Definition at line 17 of file ionization.cpp.

◆ SatVaporPresIdeal()

Real SatVaporPresIdeal ( Real  t,
Real  p3,
Real  beta,
Real  delta 
)
inline

Ideal saturation vapor pressure \(p^* = p^r\exp[\beta(1-1/t)-\delta\lnt]\) \(p^r\) is the reference pressure, usually choosen to be the triple point pressure
\(t=T/T^r\) is the dimensionless temperature. \(T^r\) is the reference temperature.
Similar to \(p^r\), \(T^r\) is usually choosen to be the triple point temperature

Returns
\(p^*\) [pa]

Definition at line 59 of file thermodynamics.hpp.