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().eos_data.stiffening_pressure;
48 }
49
50 decltype(auto)
51 heat_bound() const
52 {
53 return this->material().eos_data.heat_bound;
54 }
55
56 decltype(auto)
57 covolume() const
58 {
59 return this->material().eos_data.covolume;
60 }
61
62 private:
63 decltype(auto)
64 material() const
65 {
66 return static_cast<const Derived &>(*this).material();
67 }
68 };
69
70 template <int n_species, typename number, typename ValueType, typename Derived>
72 : public SpeciesTransport::EffectiveMaterialMixin<n_species, number, ValueType, Derived>
73 {
74 ValueType
80
81 number
82 dynamic_viscosity(const unsigned species_component) const
83 {
84 return material().species_data[species_component].dynamic_viscosity;
85 }
86
87 ValueType
93
94 number
95 thermal_conductivity(const unsigned species_component) const
96 {
97 return material().species_data[species_component].thermal_conductivity;
98 }
99
100 ValueType
102 {
103 return this->effective_material_property(material().species_data,
105 }
106
107 number
108 heat_capacity_ratio(const unsigned species_component) const
109 {
110 return material().species_data[species_component].gamma;
111 }
112
113 ValueType
119
120 number
121 specific_gas_constant(const unsigned species_component) const
122 {
123 return material().species_data[species_component].specific_gas_constant;
124 }
125
126
127 ValueType
133
134 number
135 specific_isobaric_heat(const unsigned species_component) const
136 {
137 return material().species_data[species_component].specific_isobaric_heat;
138 }
139
140 number
141 binary_diffusion_coefficient(const unsigned component_i, const unsigned component_j) const
142 {
143 return material().get_diffusion_coefficient(component_i, component_j);
144 }
145
146 ValueType
148 {
149 return this->effective_material_property(material().species_data,
151 }
152
153 ValueType
154 molar_mass(const unsigned species_component) const
155 {
156 return ValueType(material().species_data[species_component].molar_mass);
157 }
158
159 private:
161 material() const
162 {
163 return static_cast<const Derived &>(*this).material();
164 }
165 };
166
167} // 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:64
decltype(auto) heat_capacity_ratio() const
Definition material_views_mixins.hpp:27
decltype(auto) dynamic_viscosity() const
Definition material_views_mixins.hpp:15
decltype(auto) covolume() const
Definition material_views_mixins.hpp:57
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:51
decltype(auto) thermal_conductivity() const
Definition material_views_mixins.hpp:21
decltype(auto) stiffening_pressure() const
Definition material_views_mixins.hpp:45
Collection of material parameters for a specific fluid phase.
Definition material.hpp:119
Collection of material parameters for a specific species.
Definition material.hpp:63
Definition material_views_mixins.hpp:73
number thermal_conductivity(const unsigned species_component) const
Definition material_views_mixins.hpp:95
ValueType specific_isobaric_heat() const
Definition material_views_mixins.hpp:128
number heat_capacity_ratio(const unsigned species_component) const
Definition material_views_mixins.hpp:108
ValueType thermal_conductivity() const
Definition material_views_mixins.hpp:88
number dynamic_viscosity(const unsigned species_component) const
Definition material_views_mixins.hpp:82
number specific_gas_constant(const unsigned species_component) const
Definition material_views_mixins.hpp:121
const MaterialPhaseData< number > & material() const
Definition material_views_mixins.hpp:161
number specific_isobaric_heat(const unsigned species_component) const
Definition material_views_mixins.hpp:135
ValueType heat_capacity_ratio() const
Definition material_views_mixins.hpp:101
ValueType specific_gas_constant() const
Definition material_views_mixins.hpp:114
ValueType dynamic_viscosity() const
Definition material_views_mixins.hpp:75
ValueType molar_mass(const unsigned species_component) const
Definition material_views_mixins.hpp:154
ValueType molar_mass() const
Definition material_views_mixins.hpp:147
number binary_diffusion_coefficient(const unsigned component_i, const unsigned component_j) const
Definition material_views_mixins.hpp:141
Definition effective_material_mixin.hpp:15
ValueType effective_material_property(const ContainerType &species_material, number SpeciesMaterial::*property) const
Definition effective_material_mixin.hpp:116