ASPECT
initial_composition.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) 2013-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_boundary_composition_initial_composition_h
17 #define _aspect_boundary_composition_initial_composition_h
18 
22 
23 
24 namespace aspect
25 {
26  namespace BoundaryComposition
27  {
36  template <int dim>
37  class InitialComposition : public Interface<dim>, public SimulatorAccess<dim>
38  {
39  public:
48  void
49  initialize () override;
50 
57  double boundary_composition (const types::boundary_id boundary_indicator,
58  const Point<dim> &position,
59  const unsigned int compositional_field) const override;
60 
65  virtual
66  double minimal_composition (const std::set<types::boundary_id> &fixed_boundary_ids) const;
67 
72  virtual
73  double maximal_composition (const std::set<types::boundary_id> &fixed_boundary_ids) const;
74 
79  static
80  void
82 
86  void
87  parse_parameters (ParameterHandler &prm) override;
88 
89  private:
96 
103 
110  std::shared_ptr<const aspect::InitialComposition::Manager<dim>> initial_composition;
111  };
112  }
113 }
114 
115 
116 #endif
std::shared_ptr< const aspect::InitialComposition::Manager< dim > > initial_composition
void parse_parameters(ParameterHandler &prm) override
virtual double maximal_composition(const std::set< types::boundary_id > &fixed_boundary_ids) const
static void declare_parameters(ParameterHandler &prm)
double boundary_composition(const types::boundary_id boundary_indicator, const Point< dim > &position, const unsigned int compositional_field) const override
virtual double minimal_composition(const std::set< types::boundary_id > &fixed_boundary_ids) const