ASPECT
linear_least_squares.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) 2017-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 #ifndef _aspect_particle_interpolator_linear_least_squares_h
16 #define _aspect_particle_interpolator_linear_least_squares_h
17 
20 
22 
23 namespace aspect
24 {
25  namespace Particle
26  {
27  namespace Interpolator
28  {
36  template <int dim>
37  class LinearLeastSquares : public Interface<dim>, public aspect::SimulatorAccess<dim>
38  {
39  public:
43  std::vector<std::vector<double>>
44  properties_at_points(const ParticleHandler<dim> &particle_handler,
45  const std::vector<Point<dim>> &positions,
46  const ComponentMask &selected_properties,
47  const typename parallel::distributed::Triangulation<dim>::active_cell_iterator &cell) const override;
48 
49  // avoid -Woverloaded-virtual:
51 
55  static
56  void
58 
62  void
63  parse_parameters (ParameterHandler &prm) override;
64 
65  private:
75 
86 
92  };
93  }
94  }
95 }
96 
97 #endif
std::vector< std::vector< double > > properties_at_points(const ParticleHandler< dim > &particle_handler, const std::vector< Point< dim >> &positions, const ComponentMask &selected_properties, const typename parallel::distributed::Triangulation< dim >::active_cell_iterator &cell) const override
typename ::Triangulation< dim, spacedim >::active_cell_iterator active_cell_iterator
static void declare_parameters(ParameterHandler &prm)
Interpolator::CellAverage< dim > fallback_interpolator
void parse_parameters(ParameterHandler &prm) override