Evaporation Namespace Reference

Developer Documentation: MeltPoolDG::Evaporation Namespace Reference
Developer Documentation
MeltPoolDG::Evaporation Namespace Reference

Classes

class  EvaporationMassFluxOperatorBase
 
class  EvaporationMassFluxOperatorContinuous
 
class  EvaporationMassFluxOperatorThicknessIntegration
 
class  EvaporationModelBase
 
class  EvaporationModelConstant
 
class  EvaporationModelHardtWondra
 
class  EvaporationModelKnight
 This class implements the evaporative mass flux and temperature jump for rapid evaporation according to Knight's theory. More...
 
class  EvaporationModelPressureAware
 This class implements the evaporative mass flux computed with pressure-aware boundary conditions, as presented in Refined Formulations of Resolved Vapor Flow and Unresolved Recoil Pressure Models for Rapid Evaporation in Metal Additive Manufacturing under Elevated Pressure. More...
 
class  EvaporationModelRecoilPressure
 
class  EvaporationModelSaturatedVaporPressure
 
class  EvaporationSourceTermsBase
 
class  EvaporationSourceTermsContinuous
 
class  EvaporationSourceTermsSharp
 
struct  EvaporationThicknessIntegrationData
 
class  EvaporativeCooling
 
class  IncompressibleNewtonianFluidEvaporationMaterial
 
struct  RecoilPressureData
 
class  RecoilPressureHybridModel
 
class  RecoilPressureModelBase
 
class  RecoilPressureModelPressureAware
 This class implements the recoil pressure model computed with pressure-aware boundary conditions, as presented according to. More...
 
class  RecoilPressureOperation
 
class  RecoilPressurePhenomenologicalModel
 

Functions

 BETTER_ENUM (EvaporationModelType, char, analytical, recoil_pressure, saturated_vapor_pressure, hardt_wondra, pressure_aware) BETTER_ENUM(EvaporationLevelSetSourceTermType
 
rhs BETTER_ENUM (InterfaceFluxType, char, regularized, sharp) BETTER_ENUM(EvaporativeMassFluxTemperatureEvaluationType
 
rhs interface_value BETTER_ENUM (EvaporCoolingInterfaceFluxType, char, none, regularized, sharp, sharp_conforming) template< typename number > struct EvaporationData
 
template<typename number >
std::unique_ptr< EvaporationModelBase< number > > get_evaporation_model (const EvaporationData< number > &evapor_data, const MaterialData< number > &material_data)
 
template<typename number , typename number_2 >
number_2 compute_saturated_gas_pressure (const number_2 &T_sat, const number boiling_temperature, const number ambient_gas_pressure, const number temperature_constant)
 Calculate the saturated vapor pressure at a certain vapor temperature according to the Clausius-Clapeyron equation.
 
template<typename number >
dealii::VectorizedArray< number > compute_linear_scaling_coeff (const dealii::VectorizedArray< number > &T, const number T_ac, const number T_v)
 
template<typename number >
number compute_linear_scaling_coeff (const number T, const number T_ac, const number T_v)
 
 BETTER_ENUM (RegularizedRecoilPressureTemperatureEvaluationType, char, local_value, interface_value) BETTER_ENUM(RecoilPressureModelType
 
template std::unique_ptr< EvaporationModelBase< double > > get_evaporation_model (const EvaporationData< double > &, const MaterialData< double > &)
 

Variables

 char
 
 interface_velocity_sharp
 
 interface_velocity_sharp_heavy
 
 interface_velocity_local
 
rhs local_value
 
struct MeltPoolDG::Evaporation::EvaporationThicknessIntegrationData thickness_integral
 
 phenomenological
 
 hybrid
 
static int count = 0
 

Function Documentation

◆ BETTER_ENUM() [1/4]

MeltPoolDG::Evaporation::BETTER_ENUM ( EvaporationModelType  ,
char  ,
analytical  ,
recoil_pressure  ,
saturated_vapor_pressure  ,
hardt_wondra  ,
pressure_aware   
)

◆ BETTER_ENUM() [2/4]

rhs interface_value MeltPoolDG::Evaporation::BETTER_ENUM ( EvaporCoolingInterfaceFluxType  ,
char  ,
none  ,
regularized  ,
sharp  ,
sharp_conforming   
)

Add parameters to the ParameterHandler

Attach the parsing recipe for evaporation related data to the ParameterHandler.

Parameters
[in,out]prmParameterHandler.

Post operation

Set default values of parameters, after parameters have been parsed.

Parameters
[in]materialMaterial data.
[in]use_volume_specific_thermal_capacity_for_phase_interpolationSet to true if the volume-specific heat capacity is interpolated as a single quantity across the interfaces.

◆ BETTER_ENUM() [3/4]

rhs MeltPoolDG::Evaporation::BETTER_ENUM ( InterfaceFluxType  ,
char  ,
regularized  ,
sharp   
)

◆ BETTER_ENUM() [4/4]

MeltPoolDG::Evaporation::BETTER_ENUM ( RegularizedRecoilPressureTemperatureEvaluationType  ,
char  ,
local_value  ,
interface_value   
)

◆ compute_linear_scaling_coeff() [1/2]

template<typename number >
dealii::VectorizedArray< number > MeltPoolDG::Evaporation::compute_linear_scaling_coeff ( const dealii::VectorizedArray< number > &  T,
const number  T_ac,
const number  T_v 
)
inline

Compute a linear activation scaling coefficient.

The scaling coefficient is used to smoothly activate a quantity (e.g., recoil pressure or evaporative cooling) between an activation temperature and a boiling temperature. The coefficient is defined as

\[ s(T) = \begin{cases} 0, & T \le T_{\mathrm{ac}}, \\ \dfrac{T - T_{\mathrm{ac}}}{T_{\mathrm{v}} - T_{\mathrm{ac}}}, & T_{\mathrm{ac}} < T < T_{\mathrm{v}}, \\ 1, & T \ge T_{\mathrm{v}}. \end{cases} \]

where \(T_{\mathrm{ac}}\) is the activation temperature and \(T_{\mathrm{v}}\) is the boiling temperature.

Parameters
TTemperature at which the scaling coefficient is evaluated.
T_acActivation temperature.
T_vBoiling temperature.
Returns
The scaling coefficient in the range \([0,1]\).

◆ compute_linear_scaling_coeff() [2/2]

template<typename number >
number MeltPoolDG::Evaporation::compute_linear_scaling_coeff ( const number  T,
const number  T_ac,
const number  T_v 
)
inline

Same as above, just for the vectorized case.

◆ compute_saturated_gas_pressure()

template<typename number , typename number_2 >
number_2 MeltPoolDG::Evaporation::compute_saturated_gas_pressure ( const number_2 &  T_sat,
const number  boiling_temperature,
const number  ambient_gas_pressure,
const number  temperature_constant 
)
inline

Calculate the saturated vapor pressure at a certain vapor temperature according to the Clausius-Clapeyron equation.

Parameters
T_satSaturated vapor temperature.
boiling_temperatureBoiling temperature at atmospheric pressure conditions.
ambient_gas_pressureAmbient gas pressure.
temperature_constantTemperature constant; It should be computed from latent_heat_of_evaporation * molar_mass / universal_gas_constant.
Returns
Saturated vapor pressure at the provided saturated vapor temperature T_sat.
Note
The template parameter
Template Parameters
number_2allows a vectorized computation.

◆ get_evaporation_model() [1/2]

template std::unique_ptr< EvaporationModelBase< double > > MeltPoolDG::Evaporation::get_evaporation_model ( const EvaporationData< double > &  ,
const MaterialData< double > &   
)

◆ get_evaporation_model() [2/2]

template<typename number >
std::unique_ptr< EvaporationModelBase< number > > MeltPoolDG::Evaporation::get_evaporation_model ( const EvaporationData< number > &  evapor_data,
const MaterialData< number > &  material_data 
)

Variable Documentation

◆ char

rhs MeltPoolDG::Evaporation::char

◆ count

int MeltPoolDG::Evaporation::count = 0
static

◆ hybrid

MeltPoolDG::Evaporation::hybrid

◆ interface_velocity_local

MeltPoolDG::Evaporation::interface_velocity_local

◆ interface_velocity_sharp

MeltPoolDG::Evaporation::interface_velocity_sharp

◆ interface_velocity_sharp_heavy

MeltPoolDG::Evaporation::interface_velocity_sharp_heavy

◆ local_value

rhs MeltPoolDG::Evaporation::local_value

◆ phenomenological

MeltPoolDG::Evaporation::phenomenological

◆ thickness_integral

struct MeltPoolDG::Evaporation::EvaporationThicknessIntegrationData MeltPoolDG::Evaporation::thickness_integral