include/meltpooldg/phase_change/recoil_pressure_data.hpp Source File

Developer Documentation: include/meltpooldg/phase_change/recoil_pressure_data.hpp Source File
Developer Documentation
recoil_pressure_data.hpp
Go to the documentation of this file.
1#pragma once
6
8{
9
10 BETTER_ENUM(RegularizedRecoilPressureTemperatureEvaluationType,
11 char,
12 // The flux distributed in the interfacial zone is computed based on local values
13 // evaluated at the quadrature points.
15 // The flux distributed in the interfacial zone is computed based on values evaluated
16 // at the projected quadrature points to the level set = 0 isosurface.
17 interface_value)
18
19 BETTER_ENUM(RecoilPressureModelType,
20 char,
21 // default: compute phenomenological recoil pressure
22 // p_v(T) = p_recoil_phenomenological(T)
24 // hybrid recoil pressure model, considering the evaporation-induced velocity jump;
25 // The pressure jump is computed from
26 //
27 // p_v(T) = p_recoil_phenomenological(T) - mDot^2*(1/rho_g-1/rho_l).
28 //
29 // This ensures that the evaporation-induced pressure jump is the same as
30 // in the phenomenological recoil pressure model.
32 // recoil pressure model computed with pressure-aware boundary conditions
33 pressure_aware)
34
35 template <typename number>
37 {
38 // Enable or disable recoil-pressure related effects.
39 bool enable = false;
40
41 // Enable or disable a linear activation ramp for recoil pressure between
42 // the activation temperature and the boiling temperature.
44
45 // Subtract the ambient pressure from the recoil pressure. This can be used
46 // to ensure that the recoil pressure is zero at the boiling temperature.
48
49 // ambient gas pressure
50 // default value for air in Pa
51 number ambient_gas_pressure = 1.013e5;
52
53 // recoil pressure constant
54 // recommended as c_p = 0.55
55 number pressure_coefficient = 0.55;
56
57 // temperature constant
58 // Only used if it is set >=0. In the default case it is computed from
59 // c_T = h_v/R with the molar latent heat of evaporation h_v
60 // and the universal gas constant R.
62
63 // sticking constant
64 number sticking_constant = 1.0;
65
66 // activation temperature of the recoil pressure; must be smaller than or equal to the boiling
67 // temperature; this parameter enables a smooth activation of the recoil pressure
69
70 // Choose how the recoil pressure flux across the interface should be computed:
71 // * local_value: use the local temperature value
72 // * interface_value: use the value at the interface (level set=0)
73 RegularizedRecoilPressureTemperatureEvaluationType interface_distributed_flux_type =
74 RegularizedRecoilPressureTemperatureEvaluationType::local_value;
75
76 // Choose the delta-function for computing the continuum interface force.
78
79 // Choose the model type to compute the recoil pressure:
80 // * phenomenological (default)
81 // * hybrid
82 RecoilPressureModelType type = RecoilPressureModelType::phenomenological;
83
89 {
91 std::vector<number> Kp;
92
96
105 void
106 add_parameters(dealii::ParameterHandler &prm);
107
115 void
116 post(const MaterialData<number> &material);
117 };
118} // namespace MeltPoolDG::Evaporation
Definition evaporation_data.hpp:15
rhs local_value
Definition evaporation_data.hpp:59
BETTER_ENUM(EvaporationModelType, char, analytical, recoil_pressure, saturated_vapor_pressure, hardt_wondra, pressure_aware) BETTER_ENUM(EvaporationLevelSetSourceTermType
hybrid
Definition recoil_pressure_data.hpp:31
phenomenological
Definition recoil_pressure_data.hpp:23
constexpr double invalid_double
Definition numbers.hpp:11
Data structure holding fitting parameters (Kp) and ambient gas pressure for the pressure-aware recoil...
Definition recoil_pressure_data.hpp:89
std::vector< number > Kp
Fitting parameters for empirical correlations in the free-surface model.
Definition recoil_pressure_data.hpp:91
number ambient_gas_pressure
Ambient gas pressure (build chamber pressure)
Definition recoil_pressure_data.hpp:94
Definition recoil_pressure_data.hpp:37
number activation_temperature
Definition recoil_pressure_data.hpp:68
LevelSet::DeltaApproximationPhaseWeightedData< number > delta_approximation_phase_weighted
Definition recoil_pressure_data.hpp:77
bool subtract_ambient_pressure
Definition recoil_pressure_data.hpp:47
number pressure_coefficient
Definition recoil_pressure_data.hpp:55
number ambient_gas_pressure
Definition recoil_pressure_data.hpp:51
number sticking_constant
Definition recoil_pressure_data.hpp:64
void add_parameters(dealii::ParameterHandler &prm)
Definition recoil_pressure_data.cpp:10
RegularizedRecoilPressureTemperatureEvaluationType interface_distributed_flux_type
Definition recoil_pressure_data.hpp:73
void post(const MaterialData< number > &material)
Definition recoil_pressure_data.cpp:84
bool enable_linear_activation_ramp
Definition recoil_pressure_data.hpp:43
bool enable
Definition recoil_pressure_data.hpp:39
RecoilPressureModelType type
Definition recoil_pressure_data.hpp:82
number temperature_constant
Definition recoil_pressure_data.hpp:61
struct MeltPoolDG::Evaporation::RecoilPressureData::PressureAwareData pressure_aware
Definition delta_approximation_phase_weighted_data.hpp:31
Definition material_data.hpp:84