29 const dealii::VectorizedArray<number> &T,
30 const dealii::VectorizedArray<number> &m_dot,
31 const dealii::VectorizedArray<number> &delta_coefficient)
const
33 return recoil_phenomenological.compute_recoil_pressure_coefficient(T) -
34 dealii::Utilities::fixed_power<2>(m_dot) * density_coeff * delta_coefficient;
40 const dealii::VectorizedArray<number> &T)
const
42 const number T_ac = recoil_data.activation_temperature;
43 const number T_v = boiling_temperature;
45 dealii::VectorizedArray<number> full_recoil_pressure =
46 recoil_data.pressure_coefficient *
49 recoil_data.ambient_gas_pressure,
50 recoil_data.temperature_constant);
52 if (recoil_data.subtract_ambient_pressure)
53 full_recoil_pressure -= recoil_data.ambient_gas_pressure;
55 dealii::VectorizedArray<number> ramped_recoil_pressure =
56 activation_ramp_derivative * (T - T_ac);
58 dealii::VectorizedArray<number> recoil_pressure =
59 compare_and_apply_mask<dealii::SIMDComparison::greater_than_or_equal>(
61 recoil_data.enable_linear_activation_ramp ? T_v : T_ac,
63 recoil_data.enable_linear_activation_ramp ? ramped_recoil_pressure : 0.0);
66 return compare_and_apply_mask<dealii::SIMDComparison::greater_than_or_equal>(recoil_pressure,
77 const number T_ac = recoil_data.activation_temperature;
78 const number T_v = boiling_temperature;
84 number recoil_pressure = 0;
86 if (T >= T_v or not recoil_data.enable_linear_activation_ramp)
90 recoil_pressure = recoil_data.pressure_coefficient *
93 recoil_data.ambient_gas_pressure,
94 recoil_data.temperature_constant);
97 if (recoil_data.subtract_ambient_pressure)
98 recoil_pressure -= recoil_data.ambient_gas_pressure;
104 recoil_pressure = activation_ramp_derivative * (T - T_ac);
107 return std::max(recoil_pressure, 0.0);
136 const dealii::VectorizedArray<number> &T)
const
138 const dealii::VectorizedArray<number> T_diff =
139 T - dealii::make_vectorized_array<number>(boiling_temperature);
140 dealii::VectorizedArray<number> recoil_pressure =
141 dealii::make_vectorized_array<number>(ambient_gas_pressure);
143 for (number i = 0; i < Kp.size(); ++i)
145 recoil_pressure += dealii::make_vectorized_array<number>(Kp[i]) * std::pow(T_diff, i + 2);
147 return dealii::compare_and_apply_mask<dealii::SIMDComparison::less_than>(T,
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