MaterialPhaseData< number > Struct Template Reference

Developer Documentation: MeltPoolDG::CompressibleFlow::MaterialPhaseData< number > Struct Template Reference
Developer Documentation
MeltPoolDG::CompressibleFlow::MaterialPhaseData< number > Struct Template Reference

Collection of material parameters for a specific fluid phase. More...

#include <material.hpp>

Classes

struct  SpeciesInteraction
 

Public Member Functions

number get_diffusion_coefficient (const unsigned int i, const unsigned int j) const
 Get the diffusion coefficient for the interaction between species i and j.
 
void add_parameters (dealii::ParameterHandler &prm, const bool is_gas_phase)
 Add material parameters in the parameter handler.
 
void post (const bool is_gas)
 Post-process material data parameters.
 

Public Attributes

EquationOfState eos_type = EquationOfState::ideal_gas
 Type of equation of state.
 
unsigned int number_of_species = 1
 Number of different species in the fluid phase. For single-component simulations, set to 1.
 
std::array< MaterialSpeciesData< number >, n_max_speciesspecies_data
 
number reference_density = 1.0
 Reference density for interior penalty (SI: kg/m3)
 
number reference_dynamic_viscosity = 1. / 1600.
 Reference dynamic viscosity for interior penalty (SI: kg/(m s))
 
number specific_isobaric_heat
 
number dynamic_viscosity
 
number gamma
 
number specific_gas_constant
 
number thermal_conductivity
 
EOSData< number > eos_data
 

Static Public Attributes

static constexpr std::size_t n_max_species = 2
 
static constexpr std::size_t n_max_diffusion_coefficients
 

Private Member Functions

std::size_t get_species_interaction_index (const unsigned int i, const unsigned int j) const
 Get the index of the diffusion coefficient for the interaction between species i and j.
 

Private Attributes

std::array< SpeciesInteraction, n_max_diffusion_coefficientsspecies_interactions_input {}
 
std::array< number, n_max_diffusion_coefficientsspecies_interactions {}
 

Detailed Description

template<typename number>
struct MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >

Collection of material parameters for a specific fluid phase.

Member Function Documentation

◆ add_parameters()

template<typename number >
void MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::add_parameters ( dealii::ParameterHandler &  prm,
const bool  is_gas_phase 
)

Add material parameters in the parameter handler.

Parameters
prmThe parameter handler to which the parameters are added.
is_gas_phaseBoolean indicator specifying whether the gas or liquid phase is considered.

◆ get_diffusion_coefficient()

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::get_diffusion_coefficient ( const unsigned int  i,
const unsigned int  j 
) const

Get the diffusion coefficient for the interaction between species i and j.

Parameters
iThe number of the first species in the interaction pair.
jThe number of the second species in the interaction pair.
Returns
The diffusion coefficient for the interaction between species i and j.

◆ get_species_interaction_index()

template<typename number >
std::size_t MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::get_species_interaction_index ( const unsigned int  i,
const unsigned int  j 
) const
private

Get the index of the diffusion coefficient for the interaction between species i and j.

Parameters
iThe number of the first species in the interaction pair.
jThe number of the second species in the interaction pair.
Returns
The index of the diffusion coefficient for the interaction between species i and j.

◆ post()

template<typename number >
void MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::post ( const bool  is_gas)

Post-process material data parameters.

Parameters
is_gasBoolean indicator specifying whether a gas or liquid phase is considered.

Set the diffusion coefficients for the interaction between different species based on the user-defined input for the diffusion coefficients for the interaction between different species. In addition we check here if all required diffusion coefficients for the specified number of species are provided by the user.

Member Data Documentation

◆ dynamic_viscosity

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::dynamic_viscosity

◆ eos_data

template<typename number >
EOSData<number> MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::eos_data

◆ eos_type

template<typename number >
EquationOfState MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::eos_type = EquationOfState::ideal_gas

Type of equation of state.

◆ gamma

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::gamma

◆ n_max_diffusion_coefficients

template<typename number >
constexpr std::size_t MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::n_max_diffusion_coefficients
staticconstexpr
Initial value:
=
static constexpr std::size_t n_max_species
Definition material.hpp:123

Maximum number of species interactions, i.e., diffusion coefficients, currently supported by the data structure. This is given by n_max_species * (n_max_species - 1) / 2, i.e., the number of unique pairs of species.

◆ n_max_species

template<typename number >
constexpr std::size_t MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::n_max_species = 2
staticconstexpr

Maximum number of species currently supported by the data structure. We do not use a template parameter here as this would require to template at least the cut dg implementation for compressible flows on n_species although this is not supported by the implementation.

◆ number_of_species

template<typename number >
unsigned int MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::number_of_species = 1

Number of different species in the fluid phase. For single-component simulations, set to 1.

◆ reference_density

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::reference_density = 1.0

Reference density for interior penalty (SI: kg/m3)

◆ reference_dynamic_viscosity

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::reference_dynamic_viscosity = 1. / 1600.

Reference dynamic viscosity for interior penalty (SI: kg/(m s))

◆ species_data

template<typename number >
std::array<MaterialSpeciesData<number>, n_max_species> MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::species_data

Data for the fluid species. For single-component simulations, only the first entry of the vector is relevant.

◆ species_interactions

template<typename number >
std::array<number, n_max_diffusion_coefficients> MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::species_interactions {}
private

Diffusion coefficients for the interaction between different species. For single-component simulations, these are not relevant. For multi-component simulations, the diffusion coefficient for the interaction between species i and j is given by the entry with index get_species_interaction_index(i, j) in the array. This variable is private because the diffusion coefficients should only be accessed through the get_diffusion_coefficient function, which computes the correct index based on the species numbers.

◆ species_interactions_input

template<typename number >
std::array<SpeciesInteraction, n_max_diffusion_coefficients> MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::species_interactions_input {}
private

Input data for the diffusion coefficients for the interaction between different species. This is stored separately from the actual diffusion coefficients to allow for a more convenient input in the parameter handler.

◆ specific_gas_constant

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::specific_gas_constant

◆ specific_isobaric_heat

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::specific_isobaric_heat

The parameters below are defined for convenience and backward compatibility. For single-component materials they are set based on the first entry of the species data. For multi-component materials, they are set to invalid numbers. This is done by the post function.

◆ thermal_conductivity

template<typename number >
number MeltPoolDG::CompressibleFlow::MaterialPhaseData< number >::thermal_conductivity

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