include/meltpooldg/compressible_flow/material_data.hpp Source File

Developer Documentation: include/meltpooldg/compressible_flow/material_data.hpp Source File
Developer Documentation
material_data.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <memory>
7
9{
16 template <int dim, typename number>
18 {
19 public:
22
24 std::shared_ptr<EOS::EquationOfStateUtils<dim, number>> eos_utils;
25
32 explicit Material(const MaterialPhaseData<number> &material_data_in)
33 : data(material_data_in)
34 {
36 }
37
38 private:
50 std::shared_ptr<EOS::EquationOfStateUtils<dim, number>>
52 {
53 switch (material_data.eos_type)
54 {
55 case EquationOfState::ideal_gas:
56 return std::make_shared<EOS::IdealGas<dim, number>>(material_data);
57 case EquationOfState::stiffened_gas:
58 return std::make_shared<EOS::StiffenedGas<dim, number>>(material_data);
59 case EquationOfState::noble_abel_stiffened_gas:
60 return std::make_shared<EOS::NobleAbelStiffenedGas<dim, number>>(material_data);
61 default:
62 DEAL_II_NOT_IMPLEMENTED();
63 }
64 }
65 };
66} // namespace MeltPoolDG::CompressibleFlow
A class which provides all relevant material properties for a specific phase.
Definition material_data.hpp:18
std::shared_ptr< EOS::EquationOfStateUtils< dim, number > > make_eos_utils(const MaterialPhaseData< number > &material_data)
Set up helper class for thermodynamic relations.
Definition material_data.hpp:51
Material(const MaterialPhaseData< number > &material_data_in)
Constructor.
Definition material_data.hpp:32
std::shared_ptr< EOS::EquationOfStateUtils< dim, number > > eos_utils
Class specific to an equation of state for thermodynamics-related computations.
Definition material_data.hpp:24
const MaterialPhaseData< number > & data
Material data object providing all relevant material parameters.
Definition material_data.hpp:21
This file contains various functions that can be used to set and evaluate boundary conditions for the...
Definition boundary_condition_functions.hpp:17
Collection of material parameters for a specific fluid phase.
Definition material.hpp:119
EquationOfState eos_type
Type of equation of state.
Definition material.hpp:132