IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ChargedParticles.hpp File Reference
Include dependency graph for ChargedParticles.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ChargedParticles< PLayout, T, Dim >

Typedefs

template<unsigned Dim = 3>
using Mesh_t = ippl::UniformCartesian<double, Dim>
template<typename T, unsigned Dim = 3>
using PLayout_t = typename ippl::ParticleSpatialLayout<T, Dim, Mesh_t<Dim>>
template<unsigned Dim = 3>
using Centering_t = typename Mesh_t<Dim>::DefaultCentering
template<unsigned Dim = 3>
using FieldLayout_t = ippl::FieldLayout<Dim>
template<typename T, unsigned Dim = 3>
using Vector = ippl::Vector<T, Dim>
template<typename T, unsigned Dim = 3, class... ViewArgs>
using Field = ippl::Field<T, Dim, Mesh_t<Dim>, Centering_t<Dim>, ViewArgs...>
template<typename T = double, unsigned Dim = 3>
using ORB = ippl::OrthogonalRecursiveBisection<Field<double, Dim>, T>
template<typename T>
using ParticleAttrib = ippl::ParticleAttrib<T>
template<typename T, unsigned Dim = 3>
using Vector_t = ippl::Vector<T, Dim>
template<unsigned Dim = 3, class... ViewArgs>
using Field_t = Field<double, Dim, ViewArgs...>
template<typename T = double, unsigned Dim = 3, class... ViewArgs>
using VField_t = Field<Vector_t<T, Dim>, Dim, ViewArgs...>
template<typename T = double, unsigned Dim = 3>
using CGSolver_t = ippl::PoissonCG<Field<T, Dim>, Field_t<Dim>>
template<typename T = double, unsigned Dim = 3>
using FFTSolver_t
template<typename T = double, unsigned Dim = 3>
using FFTTruncatedGreenSolver_t = ConditionalType<Dim == 3, ippl::FFTTruncatedGreenPeriodicPoissonSolver<VField_t<T, Dim>, Field_t<Dim>>>
template<typename T = double, unsigned Dim = 3>
using OpenSolver_t
template<typename T = double, unsigned Dim = 3>
using Solver_t
template<bool B, typename T>
using ConditionalType
template<typename... Types>
using VariantFromConditionalTypes

Functions

void interruptHandler (int signal)
bool checkSignalHandler ()
void setSignalHandler ()
template<typename T>
void dumpVTK (VField_t< T, 3 > &E, int nx, int ny, int nz, int iteration, double dx, double dy, double dz)
void dumpVTK (Field_t< 3 > &rho, int nx, int ny, int nz, int iteration, double dx, double dy, double dz)

Variables

unsigned LoggingPeriod = 1
const double pi = Kokkos::numbers::pi_v<double>
const char * TestName
int interruptSignalReceived = 0

Typedef Documentation

◆ Centering_t

template<unsigned Dim = 3>
using Centering_t = typename Mesh_t<Dim>::DefaultCentering

Definition at line 27 of file ChargedParticles.hpp.

◆ CGSolver_t

template<typename T = double, unsigned Dim = 3>
using CGSolver_t = ippl::PoissonCG<Field<T, Dim>, Field_t<Dim>>

Definition at line 57 of file ChargedParticles.hpp.

◆ ConditionalType

template<bool B, typename T>
using ippl::detail::ConditionalType

Convenience alias for types that should or should not be included in variants constructed with ConstructVariant (defined below) based on some compile-time constant

Template Parameters
Bwhether the type should be enabled
Tthe type

Definition at line 56 of file TypeUtils.h.

◆ FFTSolver_t

template<typename T = double, unsigned Dim = 3>
using FFTSolver_t
Initial value:
ConditionalType<Dim == 2 || Dim == 3,
constexpr unsigned Dim
Field< double, Dim, ViewArgs... > Field_t
Definition datatypes.h:41
std::conditional_t< B, T, void > ConditionalType
Definition TypeUtils.h:56

Definition at line 62 of file ChargedParticles.hpp.

◆ FFTTruncatedGreenSolver_t

template<typename T = double, unsigned Dim = 3>
using FFTTruncatedGreenSolver_t = ConditionalType<Dim == 3, ippl::FFTTruncatedGreenPeriodicPoissonSolver<VField_t<T, Dim>, Field_t<Dim>>>

Definition at line 66 of file ChargedParticles.hpp.

◆ Field

template<typename T, unsigned Dim = 3, class... ViewArgs>
using Field = ippl::Field<T, Dim, Mesh_t<Dim>, Centering_t<Dim>, ViewArgs...>

Definition at line 38 of file ChargedParticles.hpp.

◆ Field_t

template<unsigned Dim = 3, class... ViewArgs>
using Field_t = Field<double, Dim, ViewArgs...>

Definition at line 50 of file ChargedParticles.hpp.

◆ FieldLayout_t

template<unsigned Dim = 3>
using FieldLayout_t = ippl::FieldLayout<Dim>

Definition at line 30 of file ChargedParticles.hpp.

◆ Mesh_t

template<unsigned Dim = 3>
using Mesh_t = ippl::UniformCartesian<double, Dim>

Definition at line 21 of file ChargedParticles.hpp.

◆ OpenSolver_t

template<typename T = double, unsigned Dim = 3>
using OpenSolver_t

◆ ORB

template<typename T = double, unsigned Dim = 3>
using ORB = ippl::OrthogonalRecursiveBisection<Field<double, Dim>, T>

Definition at line 41 of file ChargedParticles.hpp.

◆ ParticleAttrib

template<typename T>
using ParticleAttrib = ippl::ParticleAttrib<T>

Definition at line 44 of file ChargedParticles.hpp.

◆ PLayout_t

template<typename T, unsigned Dim = 3>
using PLayout_t = typename ippl::ParticleSpatialLayout<T, Dim, Mesh_t<Dim>>

Definition at line 24 of file ChargedParticles.hpp.

◆ Solver_t

template<typename T = double, unsigned Dim = 3>
using Solver_t
Initial value:
ConditionalType< Dim==3, ippl::FFTOpenPoissonSolver< VField_t< T, Dim >, Field_t< Dim > > > OpenSolver_t
Definition datatypes.h:64
ConditionalType< Dim==2||Dim==3, ippl::FFTPeriodicPoissonSolver< VField_t< T, Dim >, Field_t< Dim > > > FFTSolver_t
Definition datatypes.h:55
ConditionalType< Dim==3, ippl::FFTTruncatedGreenPeriodicPoissonSolver< VField_t< T, Dim >, Field_t< Dim > > > FFTTruncatedGreenSolver_t
Definition datatypes.h:59
typename ConstructVariant< std::variant< Types... >, std::variant<>, IsEnabled >::type VariantFromConditionalTypes
Definition TypeUtils.h:146

Definition at line 73 of file ChargedParticles.hpp.

◆ VariantFromConditionalTypes

template<typename... Types>
using ippl::detail::VariantFromConditionalTypes

A variant containing all the enabled types, where "enabled" types are assumed to be void when disabled (i.e. std::conditional_t<B, T, void>)

Definition at line 146 of file TypeUtils.h.

◆ Vector

template<typename T, unsigned Dim = 3>
using Vector = ippl::Vector<T, Dim>

Definition at line 35 of file ChargedParticles.hpp.

◆ Vector_t

template<typename T, unsigned Dim = 3>
using Vector_t = ippl::Vector<T, Dim>

Definition at line 47 of file ChargedParticles.hpp.

◆ VField_t

template<typename T = double, unsigned Dim = 3, class... ViewArgs>
using VField_t = Field<Vector_t<T, Dim>, Dim, ViewArgs...>

Definition at line 53 of file ChargedParticles.hpp.

Function Documentation

◆ checkSignalHandler()

bool checkSignalHandler ( )

Checks whether a signal was received

Returns
Signal handler was called

Definition at line 96 of file ChargedParticles.hpp.

References ippl::Comm, and interruptSignalReceived.

Referenced by main().

Here is the caller graph for this function:

◆ dumpVTK() [1/2]

void dumpVTK ( Field_t< 3 > & rho,
int nx,
int ny,
int nz,
int iteration,
double dx,
double dy,
double dz )

Definition at line 155 of file ChargedParticles.hpp.

References endl(), ippl::BareField< T, Dim, ViewArgs... >::getHostMirror(), ippl::BareField< T, Dim, ViewArgs... >::getView(), Inform::OVERWRITE, Inform::precision(), Inform::setf(), and TestName.

Here is the call graph for this function:

◆ dumpVTK() [2/2]

template<typename T>
void dumpVTK ( VField_t< T, 3 > & E,
int nx,
int ny,
int nz,
int iteration,
double dx,
double dy,
double dz )

Definition at line 119 of file ChargedParticles.hpp.

References endl(), ippl::BareField< T, Dim, ViewArgs... >::getHostMirror(), ippl::BareField< T, Dim, ViewArgs... >::getView(), Inform::OVERWRITE, Inform::precision(), Inform::setf(), and TestName.

Here is the call graph for this function:

◆ interruptHandler()

void interruptHandler ( int signal)

Signal handler records the received signal

Parameters
signalreceived signal

Definition at line 88 of file ChargedParticles.hpp.

References interruptSignalReceived.

Referenced by setSignalHandler().

Here is the caller graph for this function:

◆ setSignalHandler()

void setSignalHandler ( )

Sets up the signal handler

Definition at line 104 of file ChargedParticles.hpp.

References ippl::Comm, and interruptHandler().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ interruptSignalReceived

int interruptSignalReceived = 0

Definition at line 82 of file ChargedParticles.hpp.

Referenced by checkSignalHandler(), interruptHandler(), and main().

◆ LoggingPeriod

unsigned LoggingPeriod = 1

Definition at line 17 of file ChargedParticles.hpp.

Referenced by main().

◆ pi

◆ TestName

const char* TestName
extern