27 #ifndef ANTIOCH_DIFFUSION_TRAITS_H
28 #define ANTIOCH_DIFFUSION_TRAITS_H
42 template<
typename DiffModel>
45 template<
typename CoeffType>
48 static bool const is_species_diffusion =
true;
49 static bool const is_binary_diffusion =
false;
52 #ifdef ANTIOCH_HAVE_GSL
53 template<
typename CoeffType,
typename Interpolator>
54 struct DiffusionTraits<MolecularBinaryDiffusion<CoeffType,Interpolator> >
56 static bool const is_species_diffusion =
false;
57 static bool const is_binary_diffusion =
true;
59 #endif // ANTIOCH_HAVE_GSL
63 namespace AntiochPrivate
66 template<
typename Diffusion>
76 template<
typename Diffusion,
typename CoeffType>
79 template<
typename CoeffType>
81 :
public diffusion_tag<SpeciesDiffusionBase<ConstantLewisDiffusivity<CoeffType>,CoeffType> >{};
91 template<
typename Diffusion,
typename CoeffType>
94 #ifdef ANTIOCH_HAVE_GSL
95 template<
typename CoeffType,
typename Interpolator>
96 struct diffusion_tag<MolecularBinaryDiffusion<CoeffType,Interpolator> >
97 :
public diffusion_tag<BinaryDiffusionBase<MolecularBinaryDiffusion<CoeffType,Interpolator>,CoeffType> >{};
98 #endif // ANTIOCH_HAVE_GSL
104 #endif // ANTIOCH_DIFFUSION_TRAITS_H
Base class for species diffusion models.
Compute species diffusivity based on constant Lewis number.
Base class for binary diffusion models.
Characteristics of various diffusion models.
The parameters are reduced parameters.
We use these tags to force operator overloading based on Diffusion type.