ASPECT
prm_polygon.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) 2016-2025 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_geometry_model_initial_topography_prm_polygon_h
17 #define _aspect_geometry_model_initial_topography_prm_polygon_h
18 
20 
21 
22 namespace aspect
23 {
24  namespace InitialTopographyModel
25  {
31  template <int dim>
32  class PrmPolygon : public Interface<dim>
33  {
34  public:
38  double value (const Point<dim-1> &p) const override;
39 
43  double max_topography () const override;
44 
48  static
49  void
51 
55  void
56  parse_parameters (ParameterHandler &prm) override;
57 
58  private:
62  std::vector<double> topography_values;
63 
68 
72  std::vector<std::vector<Point<2>>> point_lists;
73 
74  };
75  }
76 }
77 
78 
79 #endif
std::vector< std::vector< Point< 2 > > > point_lists
Definition: prm_polygon.h:72
void parse_parameters(ParameterHandler &prm) override
static void declare_parameters(ParameterHandler &prm)
double value(const Point< dim-1 > &p) const override