include/meltpooldg/heat/heat_data.hpp Source File

Developer Documentation: include/meltpooldg/heat/heat_data.hpp Source File
Developer Documentation
heat_data.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <deal.II/base/parameter_handler.h>
4
11
12namespace MeltPoolDG::Heat
13{
14 BETTER_ENUM(TwoPhaseOperatorType, char, diffuse, cut)
15
16 template <typename number = double>
17 struct HeatData
18 {
19 HeatData();
20
21 TwoPhaseOperatorType operator_type = TwoPhaseOperatorType::diffuse;
22
27
28 struct Cut
29 {
30 bool two_phase = true;
31
32 // factor theta for time integration with one-step-theta method
33 // TODO move to a time integrator scheme section
34 number theta = 0.5;
35
37
38 // cut-related stabilization parameters
40 } cut;
41
42 // boundary conditions
43
45
47 {
48 number emissivity = 0.0;
51
57
58 // numerics
59
61 LinearSolverData<number> linear_solver;
62 PredictorData predictor;
63
65
67
68 void
69 add_parameters(dealii::ParameterHandler &prm);
70
71 void
72 post(const FiniteElementData &base_fe_data, const unsigned int base_verbosity_level);
73
74 void
75 check_input_parameters(const FiniteElementData &base_fe_data) const;
76 };
77} // namespace MeltPoolDG::Heat
Definition apparent_capacity.hpp:9
BETTER_ENUM(LaserModelType, char, not_initialized, analytical_temperature, volumetric, interface_projection_regularized, interface_projection_sharp, interface_projection_sharp_conforming, RTE) BETTER_ENUM(LaserIntensityProfileType
Collection of parameters for the stabilization of cutFEM and cutDG applications.
Definition cut_data.hpp:48
Definition finite_element_data.hpp:12
Definition heat_data.hpp:53
number convection_coefficient
Definition heat_data.hpp:54
number temperature_infinity
Definition heat_data.hpp:55
Definition heat_data.hpp:29
CutStabilizationData< number > stabilization
Definition heat_data.hpp:39
bool two_phase
Definition heat_data.hpp:30
number theta
Definition heat_data.hpp:34
bool do_explicit_symmetry_term
Definition heat_data.hpp:36
Definition heat_data.hpp:24
bool use_volume_specific_thermal_capacity_for_phase_interpolation
Definition heat_data.hpp:25
Definition heat_data.hpp:47
number temperature_infinity
Definition heat_data.hpp:49
number emissivity
Definition heat_data.hpp:48
Definition heat_data.hpp:18
int verbosity_level
Definition heat_data.hpp:66
TwoPhaseOperatorType operator_type
Definition heat_data.hpp:21
HeatData()
Definition heat_data.cpp:9
NonlinearSolverData< number > nlsolve
Definition heat_data.hpp:60
void post(const FiniteElementData &base_fe_data, const unsigned int base_verbosity_level)
Definition heat_data.cpp:89
struct MeltPoolDG::Heat::HeatData::Cut cut
struct MeltPoolDG::Heat::HeatData::Diffuse diffuse
bool enable_time_dependent_bc
Definition heat_data.hpp:44
FiniteElementData fe
Definition heat_data.hpp:64
void add_parameters(dealii::ParameterHandler &prm)
Definition heat_data.cpp:18
struct MeltPoolDG::Heat::HeatData::ConvectionBC convection
void check_input_parameters(const FiniteElementData &base_fe_data) const
Definition heat_data.cpp:113
PredictorData predictor
Definition heat_data.hpp:62
LinearSolverData< number > linear_solver
Definition heat_data.hpp:61
struct MeltPoolDG::Heat::HeatData::RadiationBC radiation
Definition nonlinear_solver_data.hpp:12