GRINS-0.8.0
antioch_mixture_averaged_transport_mixture.C
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 
26 #include "grins_config.h"
27 
28 #ifdef GRINS_HAVE_ANTIOCH
29 
30 // This class
32 
33 // Antioch
34 #include "antioch/default_filename.h"
35 
36 // libMesh
37 #include "libmesh/getpot.h"
38 
39 namespace GRINS
40 {
41  template<typename KT, typename T, typename V, typename C, typename D>
43  ( const GetPot& input,const std::string& material )
44  : AntiochMixture<KT>(input,material)
45  {
46  {
47  std::string warning = "==============================================\n";
48  warning += "WARNING: This AntiochMixtureAveragedTransportMixture constructor is DEPREACTED!\n";
49  warning += " Prefer alternate constructor where parsing\n";
50  warning += " is done outside this class.\n";
51  warning += "==============================================\n";
52 
53  libmesh_warning(warning);
54  }
55 
56  std::string transport_data_filename =
57  input( "Materials/"+material+"/GasMixture/Antioch/transport_data", "default" );
58 
59  if( transport_data_filename == std::string("default") )
60  transport_data_filename = Antioch::DefaultInstallFilename::transport_mixture();
61 
62  bool verbose_transport_read =
63  input( "Materials/"+material+"/GasMixture/Antioch/verbose_transport_read", false );
64 
65  _trans_mixture.reset( new Antioch::TransportMixture<libMesh::Real>( *(this->_antioch_gas.get()),
66  transport_data_filename,
67  verbose_transport_read,
68  Antioch::ParsingType::ASCII ) );
69 
70  _wilke_mixture.reset( new Antioch::MixtureAveragedTransportMixture<libMesh::Real>(*(_trans_mixture.get()) ) );
71 
72  this->build_thermo();
73 
74  this->build_viscosity( input, material );
75 
76  this->build_conductivity( );
77 
78  this->build_diffusivity( input, material );
79  }
80 
81  template<typename KT, typename T, typename V, typename C, typename D>
83  ( libMesh::UniquePtr<Antioch::ChemicalMixture<libMesh::Real> > & chem_mixture,
84  libMesh::UniquePtr<Antioch::ReactionSet<libMesh::Real> > & reaction_set,
85  libMesh::UniquePtr<Antioch::NASAThermoMixture<libMesh::Real,KT> > & kinetics_thermo_mix,
86  libMesh::UniquePtr<Antioch::TransportMixture<libMesh::Real> > & trans_mix,
87  libMesh::UniquePtr<Antioch::MixtureAveragedTransportMixture<libMesh::Real> > & wilke_mix,
88  libMesh::UniquePtr<Antioch::MixtureViscosity<V,libMesh::Real> > & visc,
89  libMesh::UniquePtr<Antioch::MixtureDiffusion<D,libMesh::Real> > & diff,
90  libMesh::Real min_T,
91  bool clip_negative_rho )
92  : AntiochMixture<KT>(chem_mixture,reaction_set,kinetics_thermo_mix,min_T,clip_negative_rho)
93  {
95  _trans_mixture.reset( trans_mix.release() );
96  _wilke_mixture.reset( wilke_mix.release() );
97  _viscosity.reset( visc.release() );
98  _diffusivity.reset( diff.release() );
99 
100  this->build_thermo();
101  this->build_conductivity();
102  }
103 
104 } // end namespace GRINS
105 
106 #endif // GRINS_HAVE_ANTIOCH
libMesh::UniquePtr< Antioch::TransportMixture< libMesh::Real > > _trans_mixture
GRINS namespace.
libMesh::UniquePtr< Antioch::MixtureAveragedTransportMixture< libMesh::Real > > _wilke_mixture
libMesh::UniquePtr< Antioch::MixtureViscosity< Viscosity, libMesh::Real > > _viscosity
Wrapper class for storing state for Antioch thermo and kinetics.
libMesh::UniquePtr< Antioch::MixtureDiffusion< Diffusivity, libMesh::Real > > _diffusivity

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