include/meltpooldg/phase_change/evaporation_tools.hpp Source File

Developer Documentation: include/meltpooldg/phase_change/evaporation_tools.hpp Source File
Developer Documentation
evaporation_tools.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/vectorization.h>
4
5#include <cmath>
6
8{
23 template <typename number, typename number_2>
24 inline number_2
25 compute_saturated_gas_pressure(const number_2 &T_sat,
26 const number boiling_temperature,
27 const number ambient_gas_pressure,
28 const number temperature_constant)
29 {
30 const number T_v = boiling_temperature;
31 return ambient_gas_pressure * std::exp(-temperature_constant * (1. / T_sat - 1. / T_v));
32 }
33
60 template <typename number>
61 inline dealii::VectorizedArray<number>
62 compute_linear_scaling_coeff(const dealii::VectorizedArray<number> &T,
63 const number T_ac,
64 const number T_v)
65 {
66 return compare_and_apply_mask<dealii::SIMDComparison::less_than>(
67 T,
68 T_ac,
69 0.0,
70 compare_and_apply_mask<dealii::SIMDComparison::greater_than_or_equal>(
71 T, T_v, 1., (T - T_ac) / (T_v - T_ac)));
72 }
73
77 template <typename number>
78 inline number
79 compute_linear_scaling_coeff(const number T, const number T_ac, const number T_v)
80 {
81 return (T < T_ac) ? 0.0 : (T >= T_v) ? 1. : (T - T_ac) / (T_v - T_ac);
82 }
83} // namespace MeltPoolDG::Evaporation
Definition evaporation_data.hpp:15
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-Clape...
Definition evaporation_tools.hpp:25
dealii::VectorizedArray< number > compute_linear_scaling_coeff(const dealii::VectorizedArray< number > &T, const number T_ac, const number T_v)
Definition evaporation_tools.hpp:62