GRINS-0.8.0
reacting_low_mach_navier_stokes_macro.h
Go to the documentation of this file.
1 #ifndef GRINS_REACTING_LOW_MACH_NAVIER_STOKES_MACRO_H
2 #define GRINS_REACTING_LOW_MACH_NAVIER_STOKES_MACRO_H
3 
6 
9 
10 namespace GRINSPrivate
11 {
12  // Need typedefs for these because the commas in the template arguments screw up the C preprocessor
13  // when putting the full types in the argument list
14  typedef Antioch::IdealGasMicroThermo<Antioch::NASAEvaluator<libMesh::Real,Antioch::CEACurveFit<libMesh::Real> >, libMesh::Real> CEAIdealGasThermo;
15  typedef Antioch::KineticsTheoryViscosity<libMesh::Real,Antioch::GSLSpliner> KineticsViscosity;
16  typedef Antioch::MolecularBinaryDiffusion<libMesh::Real,Antioch::GSLSpliner> BinaryDiffusion;
17  typedef Antioch::KineticsTheoryThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real>,libMesh::Real> KineticsConductivityStatMech;
18  typedef Antioch::KineticsTheoryThermalConductivity<CEAIdealGasThermo,libMesh::Real> KineticsConductivityCEA;
19 }
20 
21 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_RAW(class_name,curve_fit,conductivity) \
22  template class GRINS::class_name<GRINS::AntiochConstantTransportMixture<curve_fit,GRINS::conductivity> >
23 
24 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_CURVEFIT_RAW(class_name,conductivity) \
25  template class GRINS::class_name<GRINS::AntiochConstantTransportMixture<Antioch::CEACurveFit<libMesh::Real>,GRINS::conductivity> >
26 
27 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE(class_name) \
28  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_CURVEFIT_RAW(class_name,ConstantConductivity); \
29  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_CURVEFIT_RAW(class_name,ConstantPrandtlConductivity)
30 
31 
32 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR_RAW(class_name,curve_fit,conductivity,thermo) \
33  template class GRINS::class_name<GRINS::AntiochConstantTransportMixture<curve_fit,GRINS::conductivity>, \
34  GRINS::AntiochConstantTransportEvaluator<curve_fit,thermo,GRINS::conductivity> >
35 
36 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR_CURVEFIT_THERMO_RAW(class_name,conductivity) \
37  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR_RAW(class_name,Antioch::CEACurveFit<libMesh::Real>,conductivity,Antioch::StatMechThermodynamics<libMesh::Real>); \
38  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR_RAW(class_name,Antioch::CEACurveFit<libMesh::Real>,conductivity,GRINSPrivate::CEAIdealGasThermo)
39 
40 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR(class_name) \
41  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR_CURVEFIT_THERMO_RAW(class_name,ConstantConductivity); \
42  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_CONSTANT_MIXTURE_AND_CONSTANT_EVALUATOR_CURVEFIT_THERMO_RAW(class_name,ConstantPrandtlConductivity)
43 
44 
45 
46 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_RAW(class_name,curve_fit,thermo,viscosity,conductivity,diffusivity) \
47  template class GRINS::class_name<GRINS::AntiochMixtureAveragedTransportMixture<curve_fit,thermo,viscosity,conductivity,diffusivity> >
48 
49 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_CURVEFIT_THERMO_CONDUCTIVITY_CONSTLEWIS_RAW(class_name,viscosity) \
50  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_RAW(class_name, \
51  Antioch::CEACurveFit<libMesh::Real>, \
52  Antioch::StatMechThermodynamics<libMesh::Real>, \
53  viscosity, \
54  Antioch::EuckenThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real> >, \
55  Antioch::ConstantLewisDiffusivity<libMesh::Real>); \
56  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_RAW(class_name, \
57  Antioch::CEACurveFit<libMesh::Real>, \
58  GRINSPrivate::CEAIdealGasThermo, \
59  viscosity, \
60  Antioch::EuckenThermalConductivity<GRINSPrivate::CEAIdealGasThermo>, \
61  Antioch::ConstantLewisDiffusivity<libMesh::Real>)
62 
63 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_KINETICS_THEORY_RAW(class_name) \
64  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_RAW(class_name, \
65  Antioch::CEACurveFit<libMesh::Real>, \
66  Antioch::StatMechThermodynamics<libMesh::Real>, \
67  GRINSPrivate::KineticsViscosity, \
68  GRINSPrivate::KineticsConductivityStatMech, \
69  GRINSPrivate::BinaryDiffusion); \
70  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_RAW(class_name, \
71  Antioch::CEACurveFit<libMesh::Real>, \
72  GRINSPrivate::CEAIdealGasThermo, \
73  GRINSPrivate::KineticsViscosity, \
74  GRINSPrivate::KineticsConductivityCEA, \
75  GRINSPrivate::BinaryDiffusion)
76 
77 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTURE_ONLY(class_name) \
78  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_CURVEFIT_THERMO_CONDUCTIVITY_CONSTLEWIS_RAW(class_name,Antioch::SutherlandViscosity<libMesh::Real>); \
79  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_CURVEFIT_THERMO_CONDUCTIVITY_CONSTLEWIS_RAW(class_name,Antioch::BlottnerViscosity<libMesh::Real>); \
80  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_ONLY_KINETICS_THEORY_RAW(class_name)
81 
82 
83 
84 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_RAW(class_name,curve_fit,thermo,viscosity,conductivity,diffusivity) \
85  template class GRINS::class_name<GRINS::AntiochMixtureAveragedTransportMixture<curve_fit,thermo,viscosity,conductivity,diffusivity>, \
86  GRINS::AntiochMixtureAveragedTransportEvaluator<curve_fit,thermo,viscosity,conductivity,diffusivity> >
87 
88 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_CURVEFIT_THERMO_CONDUCTIVITY_CONSTLEWIS_RAW(class_name,viscosity) \
89  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_RAW(class_name, \
90  Antioch::CEACurveFit<libMesh::Real>, \
91  Antioch::StatMechThermodynamics<libMesh::Real>, \
92  viscosity, \
93  Antioch::EuckenThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real> >, \
94  Antioch::ConstantLewisDiffusivity<libMesh::Real>); \
95  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_RAW(class_name, \
96  Antioch::CEACurveFit<libMesh::Real>, \
97  GRINSPrivate::CEAIdealGasThermo, \
98  viscosity, \
99  Antioch::EuckenThermalConductivity<GRINSPrivate::CEAIdealGasThermo>, \
100  Antioch::ConstantLewisDiffusivity<libMesh::Real>)
101 
102 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_KINETICS_THEORY_RAW(class_name) \
103  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_RAW(class_name, \
104  Antioch::CEACurveFit<libMesh::Real>, \
105  Antioch::StatMechThermodynamics<libMesh::Real>, \
106  GRINSPrivate::KineticsViscosity, \
107  GRINSPrivate::KineticsConductivityStatMech, \
108  GRINSPrivate::BinaryDiffusion); \
109  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_RAW(class_name, \
110  Antioch::CEACurveFit<libMesh::Real>, \
111  GRINSPrivate::CEAIdealGasThermo, \
112  GRINSPrivate::KineticsViscosity, \
113  GRINSPrivate::KineticsConductivityCEA, \
114  GRINSPrivate::BinaryDiffusion)
115 
116 #define INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTURE_AND_EVALUATOR(class_name) \
117  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_CURVEFIT_THERMO_CONDUCTIVITY_CONSTLEWIS_RAW(class_name,Antioch::SutherlandViscosity<libMesh::Real>); \
118  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_CURVEFIT_THERMO_CONDUCTIVITY_CONSTLEWIS_RAW(class_name,Antioch::BlottnerViscosity<libMesh::Real>); \
119  INSTANTIATE_REACTING_LOW_MACH_SUBCLASS_MIXTUREAVERAGED_MIXTURE_AND_EVALUATOR_KINETICS_THEORY_RAW(class_name)
120 
121 #endif // GRINS_REACTING_LOW_MACH_NAVIER_STOKES_MACRO_H
Antioch::KineticsTheoryViscosity< libMesh::Real, Antioch::GSLSpliner > KineticsViscosity
Antioch::KineticsTheoryThermalConductivity< Antioch::StatMechThermodynamics< libMesh::Real >, libMesh::Real > KineticsConductivityStatMech
Antioch::MolecularBinaryDiffusion< libMesh::Real, Antioch::GSLSpliner > BinaryDiffusion
Antioch::IdealGasMicroThermo< Antioch::NASAEvaluator< libMesh::Real, Antioch::CEACurveFit< libMesh::Real > >, libMesh::Real > CEAIdealGasThermo
Antioch::KineticsTheoryThermalConductivity< CEAIdealGasThermo, libMesh::Real > KineticsConductivityCEA

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