ASPECT
multicomponent_compressible.h
Go to the documentation of this file.
1 // ------------------------------------------------------
2 //
3 // SPDX-License-Identifier: GPL-2.0-or-later
4 //
5 // SPDX-FileCopyrightText: Copyright (C) 2011-2026 by the ASPECT authors.
6 //
7 // This file is part of ASPECT.
8 //
9 // Detailed license information governing the source code and
10 // contributions can be found in the folder LICENSES and in
11 // LICENSE and CONTRIBUTING.md at the top level directory.
12 //
13 // ------------------------------------------------------
14 
15 #ifndef _aspect_material_model_equation_of_state_multicomponent_compressible_h
16 #define _aspect_material_model_equation_of_state_multicomponent_compressible_h
17 
21 
22 
23 namespace aspect
24 {
25  namespace MaterialModel
26  {
27  namespace EquationOfState
28  {
62  template <int dim>
64  {
65  public:
72  const unsigned int q,
74 
84  bool is_compressible () const;
85 
93  static
94  void
96 
104  void
106  const std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition = nullptr);
107 
114  std::vector<double> reference_densities;
115 
116  private:
122  std::vector<double> reference_temperatures;
123 
130 
137 
143  std::vector<double> reference_thermal_expansivities;
144 
150  std::vector<double> isochoric_specific_heats;
151 
158  };
159  }
160  }
161 }
162 
163 #endif
void evaluate(const MaterialModel::MaterialModelInputs< dim > &in, const unsigned int q, MaterialModel::EquationOfStateOutputs< dim > &eos_outputs) const
void parse_parameters(ParameterHandler &prm, const std::unique_ptr< std::vector< unsigned int >> &expected_n_phases_per_composition=nullptr)