ASPECT
SAVANI_perturbation.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 
16 #ifndef _aspect_initial_temperature_SAVANI_perturbation_h
17 #define _aspect_initial_temperature_SAVANI_perturbation_h
18 
20 #include <aspect/utilities.h>
21 
22 namespace aspect
23 {
24  namespace InitialTemperature
25  {
26  namespace internal
27  {
28  namespace SAVANI
29  {
30  class SphericalHarmonicsLookup;
31  class SplineDepthsLookup;
32  }
33  }
34 
44  template <int dim>
45  class SAVANIPerturbation : public Interface<dim>, public ::aspect::SimulatorAccess<dim>
46  {
47  public:
52 
53 
58  void
59  initialize () override;
60 
64  //TODO
65  virtual
66  double get_Vs (const Point<dim> &position) const;
67 
71  double initial_temperature (const Point<dim> &position) const override;
72 
76  static
77  void
79 
83  void
84  parse_parameters (ParameterHandler &prm) override;
85 
86 
87  private:
88 
93  {
95  constant
96  };
97 
102 
107  std::string data_directory;
112 
120 
142 
150 
157 
163  unsigned int specified_max_degree;
164 
172 
177  std::unique_ptr<internal::SAVANI::SphericalHarmonicsLookup> spherical_harmonics_lookup;
178 
183  std::unique_ptr<internal::SAVANI::SplineDepthsLookup> spline_depths_lookup;
184 
189 
193  unsigned int vs_to_density_index;
194 
201 
202  };
203 
204  }
205 }
206 
207 #endif
aspect::Utilities::AsciiDataProfile< dim > profile
std::unique_ptr< internal::SAVANI::SphericalHarmonicsLookup > spherical_harmonics_lookup
void declare_parameters(ParameterHandler &prm)
std::unique_ptr< internal::SAVANI::SplineDepthsLookup > spline_depths_lookup