ASPECT
multicomponent_incompressible.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_incompressible_h
16 #define _aspect_material_model_equation_of_state_multicomponent_incompressible_h
17 
21 
22 
23 namespace aspect
24 {
25  namespace MaterialModel
26  {
27  namespace EquationOfState
28  {
45  template <int dim>
47  {
48  public:
55  const unsigned int input_index,
57 
66  bool is_compressible () const;
67 
74  static
75  void
77  const double default_thermal_expansion = 3.5e-5);
78 
86  void
88  const std::unique_ptr<std::vector<unsigned int>> &expected_n_phases_per_composition = nullptr);
89 
90  private:
97  std::vector<double> densities;
98 
104  double reference_T;
105 
111  std::vector<double> thermal_expansivities;
112 
119  std::vector<double> specific_heats;
120  };
121  }
122  }
123 }
124 
125 #endif
void evaluate(const MaterialModel::MaterialModelInputs< dim > &in, const unsigned int input_index, 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)
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
static void declare_parameters(ParameterHandler &prm, const double default_thermal_expansion=3.5e-5)