1#ifndef IPPL_DATATYPES_H
2#define IPPL_DATATYPES_H
4#include "PoissonSolvers/FFTOpenPoissonSolver.h"
5#include "PoissonSolvers/FFTPeriodicPoissonSolver.h"
6#include "PoissonSolvers/FFTTruncatedGreenPeriodicPoissonSolver.h"
7#include "PoissonSolvers/NullSolver.h"
8#include "PoissonSolvers/PoissonCG.h"
9#include "PoissonSolvers/FEMPoissonSolver.h"
10#include "PoissonSolvers/PreconditionedFEMPoissonSolver.h"
13template <
unsigned Dim>
16template <
typename T,
unsigned Dim>
19template <
unsigned Dim>
22template <
unsigned Dim>
25using size_type = ippl::detail::size_type;
27template <
typename T,
unsigned Dim>
30template <
typename T,
unsigned Dim = 3,
class... ViewArgs>
33template <
typename T =
double,
unsigned Dim = 3>
39template <
typename T,
unsigned Dim>
42template <
unsigned Dim,
class... ViewArgs>
45template <
typename T = double,
unsigned Dim = 3,
class... ViewArgs>
48template <
typename T =
double,
unsigned Dim = 3>
51template <
typename T =
double,
unsigned Dim = 3>
54using ippl::detail::ConditionalType, ippl::detail::VariantFromConditionalTypes;
56template <
typename T =
double,
unsigned Dim = 3>
57using FFTSolver_t = ConditionalType<Dim == 2 || Dim == 3,
60template <
typename T =
double,
unsigned Dim = 3>
61using FFTTruncatedGreenSolver_t =
62 ConditionalType<Dim == 3,
65template <
typename T =
double,
unsigned Dim = 3>
67 ConditionalType<Dim == 3, ippl::FFTOpenPoissonSolver<VField_t<T, Dim>,
Field_t<Dim>>>;
69template <
typename T =
double,
unsigned Dim = 3>
72template <
typename T =
double,
unsigned Dim = 3>
75template <
typename T =
double,
unsigned Dim = 3>
76using Solver_t = VariantFromConditionalTypes<CGSolver_t<T, Dim>, FFTSolver_t<T, Dim>,
77 FFTTruncatedGreenSolver_t<T, Dim>,
81extern const char* TestName;
Definition Centering.h:30
A solver for the poisson equation using finite element methods and Conjugate Gradient (CG)
Definition FEMPoissonSolver.h:23
Definition FFTPeriodicPoissonSolver.h:23
Definition FFTTruncatedGreenPeriodicPoissonSolver.h:26
Definition FieldLayout.h:166
Definition NullSolver.h:16
Definition OrthogonalRecursiveBisection.h:28
Definition ParticleAttrib.h:33
Definition ParticleSpatialLayout.h:46
Definition PoissonCG.h:23
A solver for the poisson equation using finite element methods and Conjugate Gradient (CG)
Definition PreconditionedFEMPoissonSolver.h:24