ASPECT
radioactive_decay.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) 2014-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 
16 
17 #ifndef _aspect_heating_model_radioactive_decay_h
18 #define _aspect_heating_model_radioactive_decay_h
19 
22 
24 
25 namespace aspect
26 {
27  namespace HeatingModel
28  {
34  template <int dim>
35  class RadioactiveDecay : public Interface<dim>, public SimulatorAccess<dim>
36  {
37  public:
42 
47  void
48  evaluate (const MaterialModel::MaterialModelInputs<dim> &material_model_inputs,
49  const MaterialModel::MaterialModelOutputs<dim> &material_model_outputs,
50  HeatingModel::HeatingModelOutputs &heating_model_outputs) const override;
51 
57  get_required_properties () const override;
58 
62  static
63  void
65 
69  void
70  parse_parameters (ParameterHandler &prm) override;
71 
72  private:
73 
79 
84  std::vector<double> half_decay_times;
85 
90  std::vector<double> radioactive_heating_rates;
91 
97 
103 
110 
115  double crust_depth;
116 
121  unsigned int crust_composition_num;
122  };
123  }
124 }
125 
126 
127 #endif
void parse_parameters(ParameterHandler &prm) override
static void declare_parameters(ParameterHandler &prm)
std::vector< double > radioactive_initial_concentrations_mantle
void evaluate(const MaterialModel::MaterialModelInputs< dim > &material_model_inputs, const MaterialModel::MaterialModelOutputs< dim > &material_model_outputs, HeatingModel::HeatingModelOutputs &heating_model_outputs) const override
std::vector< double > radioactive_initial_concentrations_crust
MaterialModel::MaterialProperties::Property get_required_properties() const override
std::vector< double > radioactive_heating_rates