include/meltpooldg/core/material_data.hpp Source File

Developer Documentation: include/meltpooldg/core/material_data.hpp Source File
Developer Documentation
material_data.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/parameter_handler.h>
4
7
8#include <string>
9
10namespace MeltPoolDG
11{
13 MaterialTemplate,
14 char,
15 none, // all material parameters must be specified
16 stainless_steel, // melt and solid material parameters will be set to stainless steel values
17 Ti64, // melt and solid material parameters will be set to Ti-6Al-4V values
18 Ti64Benchmark // melt and solid material parameters will be set to Ti-6Al-4V values for the
19 // benchmark paper together with PolyMTL.
20 )
21 BETTER_ENUM(SolidLiquidPropertiesTransitionType,
22 char,
23 mushy_zone, // solid and liquid properties are interpolated between the solidus and
24 // liquidus temperature
25 sharp // solid and liquid properties jump at the melting point, which is set via the
26 // solidus temperature
27 )
28 BETTER_ENUM(TwoPhaseFluidPropertiesTransitionType,
29 char,
30 sharp, // properties jump at heaviside = 0.5
31 smooth, // properties are smeared between the phases proportional to the heaviside
32 consistent_with_evaporation // same as "smooth", but the density is interpolated
33 // proportional by the harmonic mean.
34 // consistent with the evaporation formulation
35 )
36
37
43 BETTER_ENUM(ApparentCapacityType,
44 char,
45
51
56
61 qlq)
62
63 template <typename number>
65 {
68 number density = 0.0;
69 number dynamic_viscosity = 0.0;
70
71 void
72 add_parameters(dealii::ParameterHandler &prm, const std::string &phase_name);
73 };
74
82 template <typename number>
84 {
85 private:
86 MaterialTemplate material_template = MaterialTemplate::none;
87
88 public:
93
98
103
109 number molar_mass = 0.0;
110
112
113 ApparentCapacityType apparent_capacity_type = ApparentCapacityType::qlq;
114
115 SolidLiquidPropertiesTransitionType solid_liquid_properties_transition_type =
116 SolidLiquidPropertiesTransitionType::mushy_zone;
117 TwoPhaseFluidPropertiesTransitionType two_phase_fluid_properties_transition_type =
118 TwoPhaseFluidPropertiesTransitionType::smooth;
119
120 void
121 add_parameters(dealii::ParameterHandler &prm);
122
123 void
124 check_parameters_heat_transfer(const bool do_two_phase, const bool do_solidification) const;
125
150
175
182 };
183} // namespace MeltPoolDG
constexpr double invalid_double
Definition numbers.hpp:11
Interface for a general preconditioner.
Definition boundary_condition_functions.hpp:17
poly4_bell
Definition material_data.hpp:50
mushy_zone
Definition material_data.hpp:23
constant
Definition material_data.hpp:55
BETTER_ENUM(MaterialTemplate, char, none, stainless_steel, Ti64, Ti64Benchmark) BETTER_ENUM(SolidLiquidPropertiesTransitionType
Definition material_data.hpp:84
TwoPhaseFluidPropertiesTransitionType two_phase_fluid_properties_transition_type
Definition material_data.hpp:117
void add_parameters(dealii::ParameterHandler &prm)
Definition material_data.cpp:32
number liquidus_temperature
Definition material_data.hpp:105
void check_parameters_heat_transfer(const bool do_two_phase, const bool do_solidification) const
Definition material_data.cpp:117
MaterialPhaseData< number > gas
Definition material_data.hpp:92
number specific_enthalpy_reference_temperature
Definition material_data.hpp:111
static MaterialData< number > create_stainless_steel_material_data()
Definition material_data.cpp:145
number molar_mass
Definition material_data.hpp:109
static MaterialData< number > create_Ti64_benchmark_material_data()
Definition material_data.cpp:201
number latent_heat_of_fusion
Definition material_data.hpp:106
SolidLiquidPropertiesTransitionType solid_liquid_properties_transition_type
Definition material_data.hpp:115
ApparentCapacityType apparent_capacity_type
Definition material_data.hpp:113
number boiling_temperature
Definition material_data.hpp:107
MaterialPhaseData< number > solid
Definition material_data.hpp:102
number solidus_temperature
Definition material_data.hpp:104
MaterialPhaseData< number > liquid
Definition material_data.hpp:97
static MaterialData< number > create_Ti64_material_data()
Definition material_data.cpp:174
number latent_heat_of_evaporation
Definition material_data.hpp:108
MaterialTemplate material_template
Definition material_data.hpp:86
Definition material_data.hpp:65
number thermal_conductivity
Definition material_data.hpp:66
number density
Definition material_data.hpp:68
number dynamic_viscosity
Definition material_data.hpp:69
void add_parameters(dealii::ParameterHandler &prm, const std::string &phase_name)
Definition material_data.cpp:10
number specific_heat_capacity
Definition material_data.hpp:67