ASPECT
slab_model.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) 2023-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_initial_composition_slab_model_h
17 #define _aspect_initial_composition_slab_model_h
18 
20 
22 #include <aspect/structured_data.h>
23 
24 
25 namespace aspect
26 {
27  namespace InitialComposition
28  {
41  template <int dim>
42  class SlabModel : public Interface<dim>, public aspect::SimulatorAccess<dim>
43  {
44  public:
49  void
50  initialize () override;
51 
56  double
57  initial_composition (const Point<dim> &position,
58  const unsigned int n_comp) const override;
59 
63  static
64  void
66 
70  void
71  parse_parameters (ParameterHandler &prm) override;
72 
78 
79  private:
85 
90 
95  unsigned int slab_index;
96  };
97  }
98 }
99 
100 
101 #endif
static void declare_parameters(ParameterHandler &prm)
const Utilities::AsciiDataBoundary< dim > & get_slab_boundary() const
double initial_composition(const Point< dim > &position, const unsigned int n_comp) const override
void parse_parameters(ParameterHandler &prm) override
Utilities::AsciiDataBoundary< dim > slab_boundary
Definition: slab_model.h:84
types::boundary_id surface_boundary_id
Definition: slab_model.h:89