ASPECT
dynamic_topography.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 
16 #ifndef _aspect_postprocess_surface_topography_h
17 #define _aspect_postprocess_surface_topography_h
18 
21 
22 
23 namespace aspect
24 {
25  namespace Postprocess
26  {
27 
33  template <int dim>
34  class DynamicTopography : public Interface<dim>, public ::aspect::SimulatorAccess<dim>
35  {
36  public:
40  std::pair<std::string,std::string>
41  execute (TableHandler &statistics) override;
42 
51  topography_vector() const;
52 
57  double
58  get_density_above() const;
59 
64  double
65  get_density_below() const;
66 
73  const Vector<float> &
74  cellwise_topography() const;
75 
79  std::list<std::string>
80  required_other_postprocessors() const override;
81 
85  void
86  parse_parameters (ParameterHandler &prm) override;
87 
91  static
92  void
94 
95  private:
102  void output_to_file(const types::boundary_id boundary_id,
103  const std::vector<std::pair<Point<dim>, double>> &position_and_topography);
104 
110 
117 
125 
132 
138 
145  };
146  }
147 }
148 
149 
150 #endif
const Vector< float > & cellwise_topography() const
LinearAlgebra::BlockVector topo_vector
std::list< std::string > required_other_postprocessors() const override
void parse_parameters(ParameterHandler &prm) override
const LinearAlgebra::BlockVector & topography_vector() const
std::pair< std::string, std::string > execute(TableHandler &statistics) override
static void declare_parameters(ParameterHandler &prm)
void output_to_file(const types::boundary_id boundary_id, const std::vector< std::pair< Point< dim >, double >> &position_and_topography)