ASPECT
include
aspect
particle
generator
uniform_radial.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2015 - 2022 by the authors of the ASPECT code.
3
4
This file is part of ASPECT.
5
6
ASPECT is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
11
ASPECT is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with ASPECT; see the file LICENSE. If not see
18
<http://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef _aspect_particle_generator_uniform_radial_h
22
#define _aspect_particle_generator_uniform_radial_h
23
24
#include <
aspect/particle/generator/interface.h
>
25
26
#include <array>
27
28
namespace
aspect
29
{
30
namespace
Particle
31
{
32
namespace
Generator
33
{
34
using namespace
dealii
;
35
50
template
<
int
dim>
51
class
UniformRadial
:
public
Interface
<dim>
52
{
53
public
:
61
void
62
generate_particles(Particles::ParticleHandler<dim> &particle_handler)
override
;
63
64
// avoid -Woverloaded-virtual
65
// TODO: remove this using directive once the following deprecated
66
// function in the interface class has been removed:
67
// generate_particles(std::multimap<Particles::internal::LevelInd, Particle<dim>> &particles)
68
using
Generator::Interface<dim>::generate_particles
;
69
73
static
74
void
75
declare_parameters
(ParameterHandler &prm);
76
80
void
81
parse_parameters (ParameterHandler &prm)
override
;
82
83
private
:
84
90
std::array<double,dim>
P_min
;
91
97
std::array<double,dim>
P_max
;
98
102
Point<dim>
P_center
;
103
109
unsigned
int
radial_layers
;
110
117
types::particle_index
n_particles
;
118
};
119
120
}
121
}
122
}
123
124
#endif
aspect::Particle::Generator::UniformRadial::P_center
Point< dim > P_center
Definition:
uniform_radial.h:102
aspect::Particle::Generator::UniformRadial::P_max
std::array< double, dim > P_max
Definition:
uniform_radial.h:97
aspect::Particle::Generator::UniformRadial
Definition:
uniform_radial.h:51
interface.h
aspect::Particle::Generator::UniformRadial::radial_layers
unsigned int radial_layers
Definition:
uniform_radial.h:109
aspect::Particle::Generator::UniformRadial::n_particles
types::particle_index n_particles
Definition:
uniform_radial.h:117
aspect::Particle::Generator::declare_parameters
void declare_parameters(ParameterHandler &prm)
aspect
Definition:
compat.h:59
aspect::Particle::Generator::Interface
Definition:
world.h:60
aspect::Particle::Generator::UniformRadial::P_min
std::array< double, dim > P_min
Definition:
uniform_radial.h:90
dealii
Definition:
compat.h:42