include/meltpooldg/compressible_flow/material_views_mixins.hpp Source File

Developer Documentation: include/meltpooldg/compressible_flow/material_views_mixins.hpp Source File
Developer Documentation
material_views_mixins.hpp
Go to the documentation of this file.
1#pragma once
2
5
7{
11 template <typename Derived>
13 {
14 decltype(auto)
16 {
17 return this->material().dynamic_viscosity;
18 }
19
20 decltype(auto)
22 {
23 return this->material().thermal_conductivity;
24 }
25
26 decltype(auto)
28 {
29 return this->material().gamma;
30 }
31
32 decltype(auto)
34 {
35 return this->material().specific_gas_constant;
36 }
37
38 decltype(auto)
40 {
41 return this->material().specific_isobaric_heat;
42 }
43
44 decltype(auto)
46 {
47 return this->material().specific_isochoric_heat;
48 }
49
50 decltype(auto)
52 {
53 return this->material().eos_data.stiffening_pressure;
54 }
55
56 decltype(auto)
57 heat_bound() const
58 {
59 return this->material().eos_data.heat_bound;
60 }
61
62 decltype(auto)
63 covolume() const
64 {
65 return this->material().eos_data.covolume;
66 }
67
68 decltype(auto)
70 {
71 return this->material().eos_data.weakly_compressible.reference_state_pressure;
72 }
73
74 decltype(auto)
76 {
77 return this->material().eos_data.weakly_compressible.reference_state_density;
78 }
79
80 decltype(auto)
82 {
83 return this->material().eos_data.weakly_compressible.reference_state_sound_speed;
84 }
85
86 private:
87 decltype(auto)
88 material() const
89 {
90 return static_cast<const Derived &>(*this).material();
91 }
92 };
93
94 template <int n_species, typename number, typename ValueType, typename Derived>
96 : public SpeciesTransport::EffectiveMaterialMixin<n_species, number, ValueType, Derived>
97 {
98 ValueType
104
105 number
106 dynamic_viscosity(const unsigned species_component) const
107 {
108 return material().species_data[species_component].dynamic_viscosity;
109 }
110
111 ValueType
117
118 number
119 thermal_conductivity(const unsigned species_component) const
120 {
121 return material().species_data[species_component].thermal_conductivity;
122 }
123
124 ValueType
126 {
127 return this->effective_material_property(material().species_data,
129 }
130
131 number
132 heat_capacity_ratio(const unsigned species_component) const
133 {
134 return material().species_data[species_component].gamma;
135 }
136
137 ValueType
143
144 number
145 specific_gas_constant(const unsigned species_component) const
146 {
147 return material().species_data[species_component].specific_gas_constant;
148 }
149
150 ValueType
156
157 number
158 specific_isobaric_heat(const unsigned species_component) const
159 {
160 return material().species_data[species_component].specific_isobaric_heat;
161 }
162
163 number
164 binary_diffusion_coefficient(const unsigned component_i, const unsigned component_j) const
165 {
166 return material().get_diffusion_coefficient(component_i, component_j);
167 }
168
169 ValueType
171 {
172 return this->effective_material_property(material().species_data,
174 }
175
176 ValueType
177 molar_mass(const unsigned species_component) const
178 {
179 return ValueType(material().species_data[species_component].molar_mass);
180 }
181
182 private:
184 material() const
185 {
186 return static_cast<const Derived &>(*this).material();
187 }
188 };
189
190} // namespace MeltPoolDG::CompressibleFlow
This file contains various functions that can be used to set and evaluate boundary conditions for the...
Definition boundary_condition_functions.hpp:17
Definition material_views_mixins.hpp:13
decltype(auto) material() const
Definition material_views_mixins.hpp:88
decltype(auto) heat_capacity_ratio() const
Definition material_views_mixins.hpp:27
decltype(auto) reference_state_pressure() const
Definition material_views_mixins.hpp:69
decltype(auto) dynamic_viscosity() const
Definition material_views_mixins.hpp:15
decltype(auto) reference_state_sound_speed() const
Definition material_views_mixins.hpp:81
decltype(auto) covolume() const
Definition material_views_mixins.hpp:63
decltype(auto) reference_state_density() const
Definition material_views_mixins.hpp:75
decltype(auto) specific_gas_constant() const
Definition material_views_mixins.hpp:33
decltype(auto) specific_isobaric_heat() const
Definition material_views_mixins.hpp:39
decltype(auto) heat_bound() const
Definition material_views_mixins.hpp:57
decltype(auto) specific_isochoric_heat() const
Definition material_views_mixins.hpp:45
decltype(auto) thermal_conductivity() const
Definition material_views_mixins.hpp:21
decltype(auto) stiffening_pressure() const
Definition material_views_mixins.hpp:51
Collection of material parameters for a specific fluid phase.
Definition material.hpp:140
Collection of material parameters for a specific species.
Definition material.hpp:81
Definition material_views_mixins.hpp:97
number thermal_conductivity(const unsigned species_component) const
Definition material_views_mixins.hpp:119
ValueType specific_isobaric_heat() const
Definition material_views_mixins.hpp:151
number heat_capacity_ratio(const unsigned species_component) const
Definition material_views_mixins.hpp:132
ValueType thermal_conductivity() const
Definition material_views_mixins.hpp:112
number dynamic_viscosity(const unsigned species_component) const
Definition material_views_mixins.hpp:106
number specific_gas_constant(const unsigned species_component) const
Definition material_views_mixins.hpp:145
const MaterialPhaseData< number > & material() const
Definition material_views_mixins.hpp:184
number specific_isobaric_heat(const unsigned species_component) const
Definition material_views_mixins.hpp:158
ValueType heat_capacity_ratio() const
Definition material_views_mixins.hpp:125
ValueType specific_gas_constant() const
Definition material_views_mixins.hpp:138
ValueType dynamic_viscosity() const
Definition material_views_mixins.hpp:99
ValueType molar_mass(const unsigned species_component) const
Definition material_views_mixins.hpp:177
ValueType molar_mass() const
Definition material_views_mixins.hpp:170
number binary_diffusion_coefficient(const unsigned component_i, const unsigned component_j) const
Definition material_views_mixins.hpp:164
Definition effective_material_mixin.hpp:15
ValueType effective_material_property(const ContainerType &species_material, number SpeciesMaterial::*property) const
Definition effective_material_mixin.hpp:116