ASPECT
interface.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_interface_h
16 #define _aspect_material_model_equation_of_state_interface_h
17 
18 #include <aspect/global.h>
21 
22 
23 
24 namespace aspect
25 {
26  namespace MaterialModel
27  {
38  template <int dim>
39  struct EquationOfStateOutputs
40  {
54  EquationOfStateOutputs (const unsigned int n_individual_compositions_and_phases);
55 
59  std::vector<double> densities;
60 
65  std::vector<double> thermal_expansion_coefficients;
66 
70  std::vector<double> specific_heat_capacities;
71 
76  std::vector<double> compressibilities;
77 
83  std::vector<double> entropy_derivative_pressure;
84 
91  std::vector<double> entropy_derivative_temperature;
92  };
93 
94 
95 
116  template <int dim>
117  void
118  reaction_progress_modify_equation_of_state_outputs(const std::vector<double> &reaction_progress_values,
119  const std::vector<unsigned int> &reaction_progress_mapping,
120  const std::vector<unsigned int> &n_phase_transitions_per_composition,
121  EquationOfStateOutputs<dim> &eos_outputs_all_phases);
122 
123 
124 
137  template <int dim>
138  void
140  const std::vector<double> &phase_function_values,
141  const std::vector<unsigned int> &n_phase_transitions_per_composition,
142  EquationOfStateOutputs<dim> &eos_outputs);
143  }
144 }
145 
146 #endif
std::vector< double > thermal_expansion_coefficients
Definition: interface.h:65
EquationOfStateOutputs(const unsigned int n_individual_compositions_and_phases)
void reaction_progress_modify_equation_of_state_outputs(const std::vector< double > &reaction_progress_values, const std::vector< unsigned int > &reaction_progress_mapping, const std::vector< unsigned int > &n_phase_transitions_per_composition, EquationOfStateOutputs< dim > &eos_outputs_all_phases)
std::vector< double > specific_heat_capacities
Definition: interface.h:70
void phase_average_equation_of_state_outputs(const EquationOfStateOutputs< dim > &eos_outputs_all_phases, const std::vector< double > &phase_function_values, const std::vector< unsigned int > &n_phase_transitions_per_composition, EquationOfStateOutputs< dim > &eos_outputs)
std::vector< double > entropy_derivative_temperature
Definition: interface.h:91
std::vector< double > entropy_derivative_pressure
Definition: interface.h:83