ASPECT
random_gaussian_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_random_gaussian_perturbation_h
17 #define _aspect_initial_temperature_random_gaussian_perturbation_h
18 
20 
21 
22 namespace aspect
23 {
24  namespace InitialTemperature
25  {
33  template <int dim>
35  {
36  public:
42  void
43  initialize () override;
44 
48  double initial_temperature (const Point<dim> &position) const override;
49 
53  static
54  void
56 
60  void
61  parse_parameters (ParameterHandler &prm) override;
62 
63 
64  private:
65 
71  unsigned int n_perturbations;
72 
77  double max_magnitude;
78 
84  double width;
85 
90  std::vector<Point<dim>> perturbation_centers;
91  std::vector<double> perturbation_magnitudes;
92  };
93  }
94 }
95 
96 #endif
void parse_parameters(ParameterHandler &prm) override
double initial_temperature(const Point< dim > &position) const override
static void declare_parameters(ParameterHandler &prm)