GRINS-0.8.0
List of all members | Public Member Functions | Private Member Functions
GRINS::AntiochMixtureAveragedTransportMixtureBuilder Class Reference

#include <antioch_mixture_averaged_transport_mixture_builder.h>

Inheritance diagram for GRINS::AntiochMixtureAveragedTransportMixtureBuilder:
Inheritance graph
[legend]
Collaboration diagram for GRINS::AntiochMixtureAveragedTransportMixtureBuilder:
Collaboration graph
[legend]

Public Member Functions

 AntiochMixtureAveragedTransportMixtureBuilder ()
 
 ~AntiochMixtureAveragedTransportMixtureBuilder ()
 
template<typename KineticsThermoCurveFit , typename Thermo , typename Viscosity , typename Conductivity , typename Diffusivity >
libMesh::UniquePtr< AntiochMixtureAveragedTransportMixture< KineticsThermoCurveFit, Thermo, Viscosity, Conductivity, Diffusivity > > build_mixture (const GetPot &input, const std::string &material)
 
template<typename KT , typename T , typename V , typename C , typename D >
libMesh::UniquePtr< AntiochMixtureAveragedTransportMixture< KT, T, V, C, D > > build_mixture (const GetPot &input, const std::string &material)
 
- Public Member Functions inherited from GRINS::AntiochMixtureBuilderBase
 AntiochMixtureBuilderBase ()
 
 ~AntiochMixtureBuilderBase ()
 
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > build_chem_mix (const GetPot &input, const std::string &material)
 
libMesh::UniquePtr< Antioch::ReactionSet< libMesh::Real > > build_reaction_set (const GetPot &input, const std::string &material, const Antioch::ChemicalMixture< libMesh::Real > &chem_mix)
 
template<typename KineticsThermoCurveFit >
libMesh::UniquePtr< Antioch::NASAThermoMixture< libMesh::Real, KineticsThermoCurveFit > > build_nasa_thermo_mix (const GetPot &input, const std::string &material, const Antioch::ChemicalMixture< libMesh::Real > &chem_mix)
 
template<typename KineticsThermoCurveFit >
libMesh::UniquePtr< AntiochMixture< KineticsThermoCurveFit > > build_antioch_mixture (const GetPot &input, const std::string &material)
 
libMesh::Real parse_min_T (const GetPot &input, const std::string &material)
 
bool parse_clip_negative_rho (const GetPot &input, const std::string &material)
 

Private Member Functions

libMesh::UniquePtr< Antioch::TransportMixture< libMesh::Real > > build_transport_mixture (const GetPot &input, const std::string &material, const Antioch::ChemicalMixture< libMesh::Real > &chem_mix)
 
libMesh::UniquePtr< Antioch::MixtureAveragedTransportMixture< libMesh::Real > > build_mix_avg_trans_mixture (const Antioch::TransportMixture< libMesh::Real > &trans_mix)
 
template<typename Viscosity >
libMesh::UniquePtr< Antioch::MixtureViscosity< Viscosity, libMesh::Real > > build_viscosity (const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix)
 
template<typename Diffusivity >
libMesh::UniquePtr< Antioch::MixtureDiffusion< Diffusivity, libMesh::Real > > build_diffusivity (const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix)
 
libMesh::UniquePtr< Antioch::MixtureViscosity< Antioch::SutherlandViscosity< libMesh::Real >, libMesh::Real > > specialized_build_viscosity (const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix, viscosity_type< Antioch::SutherlandViscosity< libMesh::Real > >)
 
libMesh::UniquePtr< Antioch::MixtureViscosity< Antioch::BlottnerViscosity< libMesh::Real >, libMesh::Real > > specialized_build_viscosity (const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix, viscosity_type< Antioch::BlottnerViscosity< libMesh::Real > >)
 
libMesh::UniquePtr< Antioch::MixtureDiffusion< Antioch::ConstantLewisDiffusivity< libMesh::Real >, libMesh::Real > > specialized_build_diffusivity (const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix, diffusivity_type< Antioch::ConstantLewisDiffusivity< libMesh::Real > >)
 

Additional Inherited Members

- Protected Member Functions inherited from GRINS::AntiochMixtureBuilderBase
void parse_nasa_data (Antioch::NASAThermoMixture< libMesh::Real, Antioch::CEACurveFit< libMesh::Real > > &nasa_mixture, const GetPot &input, const std::string &material)
 

Detailed Description

Definition at line 39 of file antioch_mixture_averaged_transport_mixture_builder.h.

Constructor & Destructor Documentation

GRINS::AntiochMixtureAveragedTransportMixtureBuilder::AntiochMixtureAveragedTransportMixtureBuilder ( )
inline

Definition at line 42 of file antioch_mixture_averaged_transport_mixture_builder.h.

42 {}
GRINS::AntiochMixtureAveragedTransportMixtureBuilder::~AntiochMixtureAveragedTransportMixtureBuilder ( )
inline

Definition at line 43 of file antioch_mixture_averaged_transport_mixture_builder.h.

43 {}

Member Function Documentation

template<typename Diffusivity >
libMesh::UniquePtr<Antioch::MixtureDiffusion<Diffusivity,libMesh::Real> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::build_diffusivity ( const GetPot &  input,
const std::string &  material,
const Antioch::TransportMixture< libMesh::Real > &  trans_mix 
)
inlineprivate

Definition at line 68 of file antioch_mixture_averaged_transport_mixture_builder.h.

References specialized_build_diffusivity().

70  { return specialized_build_diffusivity( input, material, trans_mix, diffusivity_type<Diffusivity>() ); }
libMesh::UniquePtr< Antioch::MixtureDiffusion< Antioch::ConstantLewisDiffusivity< libMesh::Real >, libMesh::Real > > specialized_build_diffusivity(const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix, diffusivity_type< Antioch::ConstantLewisDiffusivity< libMesh::Real > >)
libMesh::UniquePtr<Antioch::MixtureAveragedTransportMixture<libMesh::Real> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::build_mix_avg_trans_mixture ( const Antioch::TransportMixture< libMesh::Real > &  trans_mix)
inlineprivate

Definition at line 56 of file antioch_mixture_averaged_transport_mixture_builder.h.

Referenced by build_mixture().

57  { return libMesh::UniquePtr<Antioch::MixtureAveragedTransportMixture<libMesh::Real> >
58  ( new Antioch::MixtureAveragedTransportMixture<libMesh::Real>(trans_mix) ); }
template<typename KineticsThermoCurveFit , typename Thermo , typename Viscosity , typename Conductivity , typename Diffusivity >
libMesh::UniquePtr<AntiochMixtureAveragedTransportMixture<KineticsThermoCurveFit,Thermo,Viscosity,Conductivity,Diffusivity> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::build_mixture ( const GetPot &  input,
const std::string &  material 
)
template<typename KT , typename T , typename V , typename C , typename D >
libMesh::UniquePtr<AntiochMixtureAveragedTransportMixture<KT,T,V,C,D> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::build_mixture ( const GetPot &  input,
const std::string &  material 
)
inline

Definition at line 160 of file antioch_mixture_averaged_transport_mixture_builder.h.

References GRINS::AntiochMixtureBuilderBase::build_chem_mix(), build_mix_avg_trans_mixture(), GRINS::AntiochMixtureBuilderBase::build_reaction_set(), build_transport_mixture(), GRINS::AntiochMixtureBuilderBase::parse_clip_negative_rho(), and GRINS::AntiochMixtureBuilderBase::parse_min_T().

161  {
162  libMesh::UniquePtr<Antioch::ChemicalMixture<libMesh::Real> > chem_mix =
163  this->build_chem_mix(input,material);
164 
165  libMesh::UniquePtr<Antioch::ReactionSet<libMesh::Real> > reaction_set =
166  this->build_reaction_set(input,material,*chem_mix);
167 
168  libMesh::UniquePtr<Antioch::NASAThermoMixture<libMesh::Real,KT> > kinetics_thermo =
169  this->build_nasa_thermo_mix<KT>(input,material,*chem_mix);
170 
171  libMesh::UniquePtr<Antioch::TransportMixture<libMesh::Real> > trans_mix =
172  this->build_transport_mixture(input,material,*chem_mix);
173 
174  libMesh::UniquePtr<Antioch::MixtureAveragedTransportMixture<libMesh::Real> > wilke_mix =
175  this->build_mix_avg_trans_mixture(*trans_mix);
176 
177  libMesh::UniquePtr<Antioch::MixtureViscosity<V,libMesh::Real> > visc =
178  this->build_viscosity<V>(input,material,*trans_mix);
179 
180  libMesh::UniquePtr<Antioch::MixtureDiffusion<D,libMesh::Real> > diff =
181  this->build_diffusivity<D>(input,material,*trans_mix);
182 
183  libMesh::Real min_T = this->parse_min_T(input,material);
184  bool clip_negative_rho = this->parse_clip_negative_rho(input,material);
185 
186  return libMesh::UniquePtr<AntiochMixtureAveragedTransportMixture<KT,T,V,C,D> >
187  ( new AntiochMixtureAveragedTransportMixture<KT,T,V,C,D>
188  (chem_mix, reaction_set, kinetics_thermo, trans_mix, wilke_mix, visc, diff, min_T, clip_negative_rho) );
189  }
bool parse_clip_negative_rho(const GetPot &input, const std::string &material)
libMesh::UniquePtr< Antioch::ReactionSet< libMesh::Real > > build_reaction_set(const GetPot &input, const std::string &material, const Antioch::ChemicalMixture< libMesh::Real > &chem_mix)
libMesh::UniquePtr< Antioch::MixtureAveragedTransportMixture< libMesh::Real > > build_mix_avg_trans_mixture(const Antioch::TransportMixture< libMesh::Real > &trans_mix)
libMesh::UniquePtr< Antioch::TransportMixture< libMesh::Real > > build_transport_mixture(const GetPot &input, const std::string &material, const Antioch::ChemicalMixture< libMesh::Real > &chem_mix)
libMesh::Real parse_min_T(const GetPot &input, const std::string &material)
libMesh::UniquePtr< Antioch::ChemicalMixture< libMesh::Real > > build_chem_mix(const GetPot &input, const std::string &material)
libMesh::UniquePtr< Antioch::TransportMixture< libMesh::Real > > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::build_transport_mixture ( const GetPot &  input,
const std::string &  material,
const Antioch::ChemicalMixture< libMesh::Real > &  chem_mix 
)
private

Definition at line 36 of file antioch_mixture_averaged_transport_mixture_builder.C.

Referenced by build_mixture().

38  {
39  std::string transport_data_filename =
40  input( "Materials/"+material+"/GasMixture/Antioch/transport_data", "default" );
41 
42  if( transport_data_filename == std::string("default") )
43  transport_data_filename = Antioch::DefaultInstallFilename::transport_mixture();
44 
45  bool verbose_transport_read =
46  input( "Materials/"+material+"/GasMixture/Antioch/verbose_transport_read", false );
47 
48  return libMesh::UniquePtr<Antioch::TransportMixture<libMesh::Real> >
49  ( new Antioch::TransportMixture<libMesh::Real>( chem_mix,
50  transport_data_filename,
51  verbose_transport_read,
52  Antioch::ParsingType::ASCII ) );
53  }
template<typename Viscosity >
libMesh::UniquePtr<Antioch::MixtureViscosity<Viscosity,libMesh::Real> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::build_viscosity ( const GetPot &  input,
const std::string &  material,
const Antioch::TransportMixture< libMesh::Real > &  trans_mix 
)
inlineprivate

Definition at line 62 of file antioch_mixture_averaged_transport_mixture_builder.h.

References specialized_build_viscosity().

64  { return specialized_build_viscosity( input, material, trans_mix, viscosity_type<Viscosity>() ); }
libMesh::UniquePtr< Antioch::MixtureViscosity< Antioch::SutherlandViscosity< libMesh::Real >, libMesh::Real > > specialized_build_viscosity(const GetPot &input, const std::string &material, const Antioch::TransportMixture< libMesh::Real > &trans_mix, viscosity_type< Antioch::SutherlandViscosity< libMesh::Real > >)
libMesh::UniquePtr<Antioch::MixtureDiffusion<Antioch::ConstantLewisDiffusivity<libMesh::Real>,libMesh::Real> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::specialized_build_diffusivity ( const GetPot &  input,
const std::string &  material,
const Antioch::TransportMixture< libMesh::Real > &  trans_mix,
diffusivity_type< Antioch::ConstantLewisDiffusivity< libMesh::Real > >   
)
inlineprivate

Definition at line 126 of file antioch_mixture_averaged_transport_mixture_builder.h.

References GRINS::MaterialsParsing::parse_lewis_number().

Referenced by build_diffusivity().

130  {
131  libMesh::Real Le = MaterialsParsing::parse_lewis_number(input,material);
132 
133  libMesh::UniquePtr<Antioch::MixtureDiffusion<Antioch::ConstantLewisDiffusivity<libMesh::Real>,libMesh::Real> >
134  diffusivity( new Antioch::MixtureDiffusion<Antioch::ConstantLewisDiffusivity<libMesh::Real>,libMesh::Real>(trans_mix) );
135 
136  Antioch::build_constant_lewis_diffusivity<libMesh::Real>( *(diffusivity.get()), Le);
137 
138  return diffusivity;
139  }
static libMesh::Real parse_lewis_number(const GetPot &input, const std::string &material)
libMesh::UniquePtr<Antioch::MixtureViscosity<Antioch::SutherlandViscosity<libMesh::Real>,libMesh::Real> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::specialized_build_viscosity ( const GetPot &  input,
const std::string &  material,
const Antioch::TransportMixture< libMesh::Real > &  trans_mix,
viscosity_type< Antioch::SutherlandViscosity< libMesh::Real > >   
)
inlineprivate

Definition at line 73 of file antioch_mixture_averaged_transport_mixture_builder.h.

Referenced by build_viscosity().

77  {
78  libMesh::UniquePtr<Antioch::MixtureViscosity<Antioch::SutherlandViscosity<libMesh::Real>,libMesh::Real> >
79  viscosity( new Antioch::MixtureViscosity<Antioch::SutherlandViscosity<libMesh::Real>,libMesh::Real>(trans_mix) );
80 
81  std::string sutherland_data = input("Materials/"+material+"/GasMixture/Antioch/sutherland_data", "default");
82  if( sutherland_data == "default" )
83  sutherland_data = Antioch::DefaultInstallFilename::sutherland_data();
84 
85  Antioch::read_sutherland_data_ascii( *(viscosity.get()), sutherland_data );
86 
87  return viscosity;
88  }
libMesh::UniquePtr<Antioch::MixtureViscosity<Antioch::BlottnerViscosity<libMesh::Real>,libMesh::Real> > GRINS::AntiochMixtureAveragedTransportMixtureBuilder::specialized_build_viscosity ( const GetPot &  input,
const std::string &  material,
const Antioch::TransportMixture< libMesh::Real > &  trans_mix,
viscosity_type< Antioch::BlottnerViscosity< libMesh::Real > >   
)
inlineprivate

Definition at line 91 of file antioch_mixture_averaged_transport_mixture_builder.h.

95  {
96  libMesh::UniquePtr<Antioch::MixtureViscosity<Antioch::BlottnerViscosity<libMesh::Real>,libMesh::Real> >
97  viscosity( new Antioch::MixtureViscosity<Antioch::BlottnerViscosity<libMesh::Real>,libMesh::Real>(trans_mix) );
98 
99  std::string blottner_data = input("Materials/"+material+"/GasMixture/Antioch/blottner_data", "default");
100  if( blottner_data == "default" )
101  blottner_data = Antioch::DefaultInstallFilename::blottner_data();
102 
103  Antioch::read_blottner_data_ascii( *(viscosity.get()), blottner_data );
104 
105  return viscosity;
106  }

The documentation for this class was generated from the following files:

Generated on Tue Dec 19 2017 12:47:30 for GRINS-0.8.0 by  doxygen 1.8.9.1