ASPECT
latent_heat.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) 2013-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_latent_heat_h
16 #define _aspect_material_model_latent_heat_h
17 
20 
21 namespace aspect
22 {
23  namespace MaterialModel
24  {
39  template <int dim>
41  {
42  public:
43 
47  void evaluate(const MaterialModelInputs<dim> &in,
48  MaterialModelOutputs<dim> &out) const override;
49 
63  bool is_compressible () const override;
75  static
76  void
78 
82  void
83  parse_parameters (ParameterHandler &prm) override;
88  private:
92  double reference_rho;
96  double reference_T;
100  double eta;
129 
135  double k_value;
136 
141 
142  // list of depth (or pressure), width and Clapeyron slopes
143  // for the different phase transitions
147  std::vector<double> density_jumps;
151  std::vector<int> transition_phases;
152  std::vector<double> phase_prefactors;
153 
155  };
156 
157  }
158 }
159 
160 #endif
void evaluate(const MaterialModelInputs< dim > &in, MaterialModelOutputs< dim > &out) const override
std::vector< int > transition_phases
Definition: latent_heat.h:151
std::vector< double > density_jumps
Definition: latent_heat.h:147
MaterialUtilities::PhaseFunction< dim > phase_function
Definition: latent_heat.h:154
bool is_compressible() const override
void parse_parameters(ParameterHandler &prm) override
static void declare_parameters(ParameterHandler &prm)
std::vector< double > phase_prefactors
Definition: latent_heat.h:152