26 #include "grins_config.h"
28 #ifdef GRINS_HAVE_CANTERA
38 #include "libmesh/getpot.h"
41 #include "libmesh/ignore_warnings.h"
42 #include "cantera/IdealGasMix.h"
43 #include "cantera/transport.h"
44 #include "libmesh/restore_warnings.h"
50 : _cantera_gas( mixture.get_chemistry() ),
51 _cantera_transport( mixture.get_transport() )
55 const libMesh::Real P,
56 const std::vector<libMesh::Real>& Y )
58 libmesh_assert_equal_to( Y.size(),
_cantera_gas.nSpecies() );
60 libMesh::Real
mu = 0.0;
63 libMesh::Threads::spin_mutex::scoped_lock lock(cantera_mutex);
72 catch(Cantera::CanteraError)
74 Cantera::showErrors(std::cerr);
84 const libMesh::Real P,
85 const std::vector<libMesh::Real>& Y )
87 libmesh_assert_equal_to( Y.size(),
_cantera_gas.nSpecies() );
89 libMesh::Real
k = 0.0;
92 libMesh::Threads::spin_mutex::scoped_lock lock(cantera_mutex);
101 catch(Cantera::CanteraError)
103 Cantera::showErrors(std::cerr);
113 const libMesh::Real rho,
114 const libMesh::Real ,
115 const std::vector<libMesh::Real>& Y,
116 libMesh::Real& mu, libMesh::Real& k,
117 std::vector<libMesh::Real>& D )
119 libMesh::Threads::spin_mutex::scoped_lock lock(cantera_mutex);
131 catch(Cantera::CanteraError)
133 Cantera::showErrors(std::cerr);
140 #endif //GRINS_HAVE_CANTERA
libMesh::Real k(const libMesh::Real &T, const libMesh::Real P, const std::vector< libMesh::Real > &Y)
Cantera::IdealGasMix & _cantera_gas
Cantera::Transport & _cantera_transport
Wrapper class for storing state for computing thermochemistry and transport properties using Cantera...
libMesh::Real mu(const libMesh::Real &T, const libMesh::Real P, const std::vector< libMesh::Real > &Y)
void mu_and_k_and_D(const libMesh::Real T, const libMesh::Real rho, const libMesh::Real cp, const std::vector< libMesh::Real > &Y, libMesh::Real &mu, libMesh::Real &k, std::vector< libMesh::Real > &D)