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) 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 #ifndef _aspect_initial_composition_world_builder_h
16 #define _aspect_initial_composition_world_builder_h
17 
18 #include <aspect/global.h>
19 
22 
23 namespace WorldBuilder
24 {
25  class World;
26 }
27 
28 
29 namespace aspect
30 {
31 
32 #ifdef ASPECT_WITH_WORLD_BUILDER
33 
34  namespace InitialComposition
35  {
43  template <int dim>
44  class WorldBuilder : public Interface<dim>,
45  public SimulatorAccess<dim>
46  {
47  public:
53  void
54  initialize () override;
55 
60  double initial_composition (const Point<dim> &position, const unsigned int n_comp) const override;
61 
65  static
66  void
68 
72  void
73  parse_parameters (ParameterHandler &prm) override;
74 
75  private:
80  std::vector<bool> relevant_compositions;
81 
86  std::shared_ptr<const ::WorldBuilder::World> world_builder;
87  };
88  }
89 #endif
90 
91 }
92 
93 #endif
void declare_parameters(ParameterHandler &prm)
Manager< dim > World
Definition: world.h:33