SpeciesTransport Namespace Reference

Developer Documentation: MeltPoolDG::SpeciesTransport Namespace Reference
Developer Documentation
MeltPoolDG::SpeciesTransport Namespace Reference

Classes

struct  DerivedPartialValueMixin
 
struct  DofValueMixin
 
struct  EffectiveMaterialMixin
 
struct  FluxMixin
 
struct  GradientValueMixin
 
class  MassFractionPostProcessor
 
class  PartialDensityPostProcessor
 

Enumerations

enum class  BoundaryConditionType { dirichlet , neumann }
 

Functions

template<std::size_t n_partial_densities, typename VectorizedArrayType , typename ReadOnlyDofView , typename WritableDofView >
void set_boundary_value_and_gradient (const WritableDofView &w_p, const ReadOnlyDofView &w_m, const BoundaryConditionType boundary_type, const std::array< VectorizedArrayType, n_partial_densities > &dirichlet_boundary_values={})
 
template<int n_species, typename ConservedVariablesView , typename WritableFluxView >
DEAL_II_ALWAYS_INLINE void compute_convective_flux (const ConservedVariablesView &conserved_variables, const WritableFluxView &flux)
 Computes the convective species transport flux for each species.
 
template<int n_species, typename ConservedVariablesView >
DEAL_II_ALWAYS_INLINE auto fickian_diffusion_approximation (const ConservedVariablesView &conserved_variables, const unsigned int species_idx)
 
template<int n_species, typename ConservedVariablesView , typename WritableFluxView >
DEAL_II_ALWAYS_INLINE void compute_diffusive_flux (const ConservedVariablesView &conserved_variables, const WritableFluxView &flux)
 
template<int n_species, typename VectorizedArrayType , typename ConservedVariablesView , typename WritableFluxView >
void interdiffusional_enthalpy_flux (const ConservedVariablesView &conserved_variables, const WritableFluxView &flux)
 

Enumeration Type Documentation

◆ BoundaryConditionType

Enum class for specifying the type of boundary condition for partial densities in species transport.

Enumerator
dirichlet 
neumann 

Function Documentation

◆ compute_convective_flux()

template<int n_species, typename ConservedVariablesView , typename WritableFluxView >
DEAL_II_ALWAYS_INLINE void MeltPoolDG::SpeciesTransport::compute_convective_flux ( const ConservedVariablesView &  conserved_variables,
const WritableFluxView &  flux 
)
inline

Computes the convective species transport flux for each species.

Updates the species partial density flux based on the conserved variables and their velocity. Only iterates over n_species-1 since the last species is assumed to be not present in the solution vector but computed from the mass fractions summing to one.

Parameters
conserved_variablesThe conserved variables of the system.
fluxThe flux object to be updated.

◆ compute_diffusive_flux()

template<int n_species, typename ConservedVariablesView , typename WritableFluxView >
DEAL_II_ALWAYS_INLINE void MeltPoolDG::SpeciesTransport::compute_diffusive_flux ( const ConservedVariablesView &  conserved_variables,
const WritableFluxView &  flux 
)
inline

Computes the diffusive species transport flux for each species based on the Fickian diffusion approximation. Only iterates over n_species-1 since the last species is assumed to be not present in the solution vector but computed from the mass fractions summing to one.

Parameters
conserved_variablesThe conserved variables of the system including their gradients.
fluxThe flux object to be updated.

◆ fickian_diffusion_approximation()

template<int n_species, typename ConservedVariablesView >
DEAL_II_ALWAYS_INLINE auto MeltPoolDG::SpeciesTransport::fickian_diffusion_approximation ( const ConservedVariablesView &  conserved_variables,
const unsigned int  species_idx 
)
inline

Computes an approximation of the Fickian diffusion flux for a single species as presented in

Cook et al., "Enthalpy diffusion in multicomponent flows", Physics of Fluids 21, 055109(2009)

Parameters
conserved_variablesThe conserved variables of the system including their gradients.
species_idxIndex of the species for which to compute the flux.
Returns
The approximate Fickian diffusion flux for the given species.

◆ interdiffusional_enthalpy_flux()

template<int n_species, typename VectorizedArrayType , typename ConservedVariablesView , typename WritableFluxView >
void MeltPoolDG::SpeciesTransport::interdiffusional_enthalpy_flux ( const ConservedVariablesView &  conserved_variables,
const WritableFluxView &  flux 
)

Computes the interdiffusional enthalpy flux based on the Fickian diffusion approximation for each species. The mathematical formulation of the interdiffusional enthalpy flux is given in

Cook et al., "Enthalpy diffusion in multicomponent flows", Physics of Fluids 21, 055109(2009)

Parameters
conserved_variablesThe conserved variables of the system including their gradients.
fluxThe flux object to be updated with the interdiffusional enthalpy flux contribution to the energy flux.

◆ set_boundary_value_and_gradient()

template<std::size_t n_partial_densities, typename VectorizedArrayType , typename ReadOnlyDofView , typename WritableDofView >
void MeltPoolDG::SpeciesTransport::set_boundary_value_and_gradient ( const WritableDofView &  w_p,
const ReadOnlyDofView &  w_m,
const BoundaryConditionType  boundary_type,
const std::array< VectorizedArrayType, n_partial_densities > &  dirichlet_boundary_values = {} 
)

Sets the boundary value and gradient for partial densities in species transport. The boundary condition is only applied to all partial densities and their gradients.

Parameters
w_pThe writable degree of freedom view for the values on the outer face.
w_mThe read-only degree of freedom view for the values on the inner face.
boundary_typeThe type of boundary condition to apply.
dirichlet_boundary_valuesThe prescribed partial densities for Dirichlet boundary conditions (optional, only used if boundary_type is dirichlet).