ASPECT
lithosphere_mask.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) 2019-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 #ifndef _aspect_initial_temperature_lithosphere_mask_h
17 #define _aspect_initial_temperature_lithosphere_mask_h
18 
21 #include <aspect/utilities.h>
22 
23 
24 namespace aspect
25 {
26  namespace InitialTemperature
27  {
28  namespace LABDepth
29  {
30  template <int dim>
31  class LABDepthLookup : public SimulatorAccess<dim>
32  {
33  public:
37  LABDepthLookup ();
38 
43  void
44  initialize ();
45 
52  double
53  get_lab_depth (const Point<dim> &position) const;
54 
58  static
59  void
61 
65  void
67 
68  private:
73 
79  std::string data_directory;
80 
85  std::string LAB_file_name;
86 
91  {
94  };
95 
100 
107  double max_depth;
108  };
109  }
110 
117  template <int dim>
118  class LithosphereMask : public Interface<dim>, public SimulatorAccess<dim>
119  {
120  public:
125  void
126  initialize () override;
127 
133  double
134  initial_temperature (const Point<dim> &position) const override;
135 
139  static
140  void
142 
146  void
147  parse_parameters (ParameterHandler &prm) override;
148 
149  private:
156 
161  };
162 
163  }
164 }
165 
166 #endif
LABDepth::LABDepthLookup< dim > lab_depth_lookup
Utilities::StructuredDataLookup< 2 > lab_depths
double get_lab_depth(const Point< dim > &position) const
static void declare_parameters(ParameterHandler &prm)