ASPECT
reference_cell.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) 2016-2024 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_generator_reference_cell_h
16 #define _aspect_particle_generator_reference_cell_h
17 
19 
20 namespace aspect
21 {
22  namespace Particle
23  {
24  namespace Generator
25  {
34  template <int dim>
35  class ReferenceCell : public Interface<dim>
36  {
37  public:
47  void
48  generate_particles(Particles::ParticleHandler<dim> &particle_handler) override;
49 
53  static
54  void
56 
60  void
61  parse_parameters (ParameterHandler &prm) override;
62 
63  private:
69  std::vector<Point<dim>> generate_particle_positions_in_unit_cell();
70 
75  std::vector<unsigned int> number_of_particles;
76  };
77 
78  }
79  }
80 }
81 
82 #endif
static void declare_parameters(ParameterHandler &prm)
std::vector< Point< dim > > generate_particle_positions_in_unit_cell()
void parse_parameters(ParameterHandler &prm) override
std::vector< unsigned int > number_of_particles
void generate_particles(Particles::ParticleHandler< dim > &particle_handler) override