ASPECT
spherical_shell.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_spherical_shell_h
17 #define _aspect_initial_temperature_spherical_shell_h
18 
21 
22 
23 namespace aspect
24 {
25  namespace InitialTemperature
26  {
33  template <int dim>
34  class SphericalHexagonalPerturbation : public Interface<dim>, public SimulatorAccess<dim>
35  {
36  public:
40  double initial_temperature (const Point<dim> &position) const override;
41 
45  static
46  void
48 
52  void
53  parse_parameters (ParameterHandler &prm) override;
54 
55  private:
64  unsigned int angular_mode;
65 
75 
79  double R1;
80 
81  };
82 
83 
90  template <int dim>
91  class SphericalGaussianPerturbation : public Interface<dim>, public SimulatorAccess<dim>
92  {
93  public:
94 
99 
103  double initial_temperature (const Point<dim> &position) const override;
104 
108  static
109  void
111 
115  void
116  parse_parameters (ParameterHandler &prm) override;
117 
118  private:
122  double angle;
126  double depth;
130  double amplitude;
134  double sigma;
138  double sign;
139  unsigned int npoint;
140 
141  std::vector<double> radial_position;
142  std::vector<double> geotherm;
143 
147  double R0;
148 
152  double R1;
153  };
154  }
155 }
156 
157 #endif
void parse_parameters(ParameterHandler &prm) override
double initial_temperature(const Point< dim > &position) const override
static void declare_parameters(ParameterHandler &prm)