include/meltpooldg/heat/apparent_capacity.hpp Source File

Developer Documentation: include/meltpooldg/heat/apparent_capacity.hpp Source File
Developer Documentation
apparent_capacity.hpp
Go to the documentation of this file.
1
2#pragma once
3
4#include <deal.II/base/vectorization.h>
5
7
9{
10 template <typename number>
12 {
14 : dT(material.liquidus_temperature - material.solidus_temperature)
15 , T_peak(0.5 * (material.solidus_temperature + material.liquidus_temperature))
16 , C_peak(2.0 * material.latent_heat_of_fusion / dT)
17 , delta(dT / 6.0)
18 {}
23 const number dT;
24
29 const number T_peak;
30
35 const number C_peak;
36
41 const number delta;
42 };
43
58 template <typename number>
60 {
61 public:
70 ApparentCapacity(const MaterialData<number> &material_data_in);
71
78 dealii::VectorizedArray<number>
79 evaluate(const dealii::VectorizedArray<number> &solid_fraction) const;
80
87 number
88 evaluate(const number &solid_fraction) const;
89
96 dealii::VectorizedArray<number>
97 compute_temperature_derivative(const dealii::VectorizedArray<number> &solid_fraction) const;
98
105 number
106 compute_temperature_derivative(const number &solid_fraction) const;
107
108 private:
111
114
116 const number peak;
117
119 const ApparentCapacityType apparent_capacity_type;
120
123
131 number
132 compute_temperature_derivative_qlq_from_solid_fraction(const number &solid_fraction) const;
133
140 number
141 evaluate_qlq_from_solid_fraction(const number &solid_fraction) const;
142 };
143
144} // namespace MeltPoolDG::Heat
Apparent capacity model for latent heat release/absorption during phase change.
Definition apparent_capacity.hpp:60
dealii::VectorizedArray< number > evaluate(const dealii::VectorizedArray< number > &solid_fraction) const
Evaluate the apparent capacity.
const number peak
Peak value of the apparent-capacity distribution.
Definition apparent_capacity.hpp:116
number compute_temperature_derivative_qlq_from_solid_fraction(const number &solid_fraction) const
Compute the temperature derivative of the QLQ apparent-capacity profile.
Definition apparent_capacity.cpp:193
const number inv_mushy_zone_radius
Inverse radius of the mushy zone in temperature space.
Definition apparent_capacity.hpp:113
const ApparentCapacityType apparent_capacity_type
Selected apparent-capacity profile.
Definition apparent_capacity.hpp:119
dealii::VectorizedArray< number > compute_temperature_derivative(const dealii::VectorizedArray< number > &solid_fraction) const
Compute the temperature derivative of the apparent capacity.
const MaterialData< number > & material
Material data used by the apparent capacity model.
Definition apparent_capacity.hpp:110
const QLQParameters< number > qlq
Parameters used by the QLQ apparent capacity model.
Definition apparent_capacity.hpp:122
number evaluate_qlq_from_solid_fraction(const number &solid_fraction) const
Evaluate the QLQ apparent-capacity profile.
Definition apparent_capacity.cpp:173
Definition apparent_capacity.hpp:9
Definition apparent_capacity.hpp:12
const number delta
Definition apparent_capacity.hpp:41
const number T_peak
Definition apparent_capacity.hpp:29
const number C_peak
Definition apparent_capacity.hpp:35
const number dT
Definition apparent_capacity.hpp:23
QLQParameters(const MaterialData< number > &material)
Definition apparent_capacity.hpp:13
Definition material_data.hpp:84