ASPECT
world_builder.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) 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 #ifndef _aspect_geometry_model_initial_topography_model_world_builder_h
16 #define _aspect_geometry_model_initial_topography_model_world_builder_h
17 
18 #include <aspect/global.h>
21 
22 #ifdef ASPECT_WITH_WORLD_BUILDER
23 # include <world_builder/config.h>
24 #endif
25 
26 namespace WorldBuilder
27 {
28  class World;
29 }
30 
31 
32 namespace aspect
33 {
34 #ifdef ASPECT_WITH_WORLD_BUILDER
35 # if WORLD_BUILDER_VERSION_GTE(1,1,1)
36  namespace InitialTopographyModel
37  {
45  template <int dim>
46  class WorldBuilder : public Interface<dim>, public SimulatorAccess<dim>
47  {
48  public:
52  void
53  initialize () override;
54 
58  double
59  value (const Point<dim-1> &surface_point) const override;
60 
64  double
65  max_topography () const override;
66 
67  private:
68  std::shared_ptr<const ::WorldBuilder::World> world_builder;
69  double maximum_topography;
70  };
71  }
72 # endif
73 #endif
74 }
75 
76 #endif
Manager< dim > World
Definition: world.h:33