ASPECT
adiabatic.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) 2012-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_adiabatic_h
17 #define _aspect_initial_temperature_adiabatic_h
18 
21 #include <aspect/utilities.h>
22 
24 
25 namespace aspect
26 {
27  namespace InitialTemperature
28  {
37  namespace BoundaryLayerAgeModel
38  {
39  enum Kind
40  {
43  function
44  };
45 
52  parse (const std::string &parameter_name,
53  const ParameterHandler &prm);
54  }
55 
64  template <int dim>
65  class Adiabatic : public Interface<dim>, public Utilities::AsciiDataBoundary<dim>
66  {
67  public:
71  Adiabatic ();
72 
73  void initialize () override;
74 
75  // avoid -Woverloaded-virtual:
77 
81  double initial_temperature (const Point<dim> &position) const override;
82 
86  static
87  void
89 
93  void
94  parse_parameters (ParameterHandler &prm) override;
95 
96  private:
102 
112 
118 
125  double radius;
132  double amplitude;
140 
149 
154 
161  std::string cooling_model;
162 
169 
175  std::unique_ptr<Functions::ParsedFunction<1>> function;
176 
181 
189 
193  double top_boundary_layer_age(const Point<dim> &position) const;
194  };
195  }
196 }
197 
198 
199 #endif
BoundaryLayerAgeModel::Kind top_boundary_layer_age_model
Definition: adiabatic.h:153
void declare_parameters(ParameterHandler &prm)
Functions::ParsedFunction< dim > age_function
Definition: adiabatic.h:180
Utilities::Coordinates::CoordinateSystem coordinate_system
Definition: adiabatic.h:188
BoundaryLayerAgeModel::Kind parse(const std::string &parameter_name, const ParameterHandler &prm)
types::boundary_id surface_boundary_id
Definition: adiabatic.h:101