EffectiveMaterialMixin< n_species, number, ValueType, Derived > Struct Template Reference

Developer Documentation: MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived > Struct Template Reference
Developer Documentation
MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived > Struct Template Reference

#include <effective_material_mixin.hpp>

Inheritance diagram for MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived >:
[legend]

Public Member Functions

ValueType mole_fraction (const unsigned species_component) const
 
ValueType mixture_averaged_diffusion_coefficient (const unsigned int species_component) const
 
template<typename ContainerType , typename SpeciesMaterial >
requires requires(int i) { { std::declval<const Derived>().mass_fraction(i) } -> std::convertible_to<ValueType>; }
ValueType effective_material_property (const ContainerType &species_material, number SpeciesMaterial::*property) const
 

Private Member Functions

decltype(auto) derived () const
 

Member Function Documentation

◆ derived()

template<int n_species, typename number , typename ValueType , typename Derived >
decltype(auto) MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived >::derived ( ) const
inlineprivate

◆ effective_material_property()

template<int n_species, typename number , typename ValueType , typename Derived >
template<typename ContainerType , typename SpeciesMaterial >
requires requires(int i) { { std::declval<const Derived>().mass_fraction(i) } -> std::convertible_to<ValueType>; }
ValueType MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived >::effective_material_property ( const ContainerType &  species_material,
number SpeciesMaterial::*  property 
) const
inline

Compute the effective material property for a mixture of species.

Parameters
species_materialA container of species materials holding objects if type SpeciesMaterial.
propertyA pointer to the material property to be computed.
Returns
The effective material property for the mixture.

◆ mixture_averaged_diffusion_coefficient()

template<int n_species, typename number , typename ValueType , typename Derived >
ValueType MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived >::mixture_averaged_diffusion_coefficient ( const unsigned int  species_component) const
inline

Return the mixture-averaged diffusion coefficient for a species component. The mixture-averaged diffusion coefficient is computed from the binary diffusion coefficients of the species pairs and the mass as well as mole fractions of all species according to

\[ D_i = \frac{1 - Y_i}{\sum_{j \neq i} \frac{X_j}{D_{ij}}}] \]

with the species mass fraction \(Y_i\), mole fraction \(X_j\), and binary diffusion coefficient \(D_{ij}\).

Parameters
species_componentThe index of the species component of interest.

◆ mole_fraction()

template<int n_species, typename number , typename ValueType , typename Derived >
ValueType MeltPoolDG::SpeciesTransport::EffectiveMaterialMixin< n_species, number, ValueType, Derived >::mole_fraction ( const unsigned  species_component) const
inline

Return the mole fraction of a species component computed from the mass fractions and molar masses of all species.

Parameters
species_componentThe index of the species component of interest.

The documentation for this struct was generated from the following file: