OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <PoissonSolver.h>
Public Member Functions | |
virtual void | computePotential (Field_t &rho, Vector_t hr)=0 |
virtual void | solve (AmrScalarFieldContainer_t &, AmrScalarFieldContainer_t &, AmrVectorFieldContainer_t &, unsigned short, unsigned short, bool=true) |
virtual void | hasToRegrid () |
virtual void | computePotential (Field_t &rho, Vector_t hr, double zshift)=0 |
virtual double | getXRangeMin (unsigned short level=0)=0 |
virtual double | getXRangeMax (unsigned short level=0)=0 |
virtual double | getYRangeMin (unsigned short level=0)=0 |
virtual double | getYRangeMax (unsigned short level=0)=0 |
virtual double | getZRangeMin (unsigned short level=0)=0 |
virtual double | getZRangeMax (unsigned short level=0)=0 |
virtual void | test (PartBunchBase< double, 3 > *bunch)=0 |
virtual | ~PoissonSolver () |
virtual void | resizeMesh (Vector_t &, Vector_t &, const Vector_t &, const Vector_t &, double) |
virtual double | getinteractionRadius () const |
virtual void | calculatePairForces (PartBunchBase< double, 3 > *, double) |
Protected Types | |
typedef Field< int, 3, Mesh_t, Center_t > | IField_t |
typedef Field< std::complex< double >, 3, Mesh_t, Center_t > | CxField_t |
Definition at line 16 of file PoissonSolver.h.
|
protected |
Definition at line 20 of file PoissonSolver.h.
|
protected |
Definition at line 19 of file PoissonSolver.h.
|
inlinevirtual |
Definition at line 66 of file PoissonSolver.h.
|
inlinevirtual |
Reimplemented in P3MPoissonSolver.
Definition at line 74 of file PoissonSolver.h.
Referenced by PartBunch::computeSelfFields().
Implemented in AmrPoissonSolver< AmrObject >, AmrPoissonSolver< AmrBoxLib >, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
Referenced by PartBunch::computeSelfFields(), and PartBunch::computeSelfFields_cycl().
|
inlinevirtual |
Reimplemented in P3MPoissonSolver.
Definition at line 72 of file PoissonSolver.h.
|
pure virtual |
Implemented in AmrMultiGrid, MLPoissonSolver, FMGPoissonSolver, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in AmrMultiGrid, MLPoissonSolver, FMGPoissonSolver, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in AmrMultiGrid, MLPoissonSolver, FMGPoissonSolver, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in AmrMultiGrid, MLPoissonSolver, FMGPoissonSolver, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in AmrMultiGrid, MLPoissonSolver, FMGPoissonSolver, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
|
pure virtual |
Implemented in AmrMultiGrid, MLPoissonSolver, FMGPoissonSolver, FFTBoxPoissonSolver, FFTPoissonSolver, MGPoissonSolver, and P3MPoissonSolver.
|
inlinevirtual |
Tell solver to regrid
Reimplemented in AmrPoissonSolver< AmrObject >, and AmrPoissonSolver< AmrBoxLib >.
Definition at line 52 of file PoissonSolver.h.
Referenced by AmrBoxLib::postRegrid_m().
|
inlinevirtual |
Reimplemented in MGPoissonSolver.
Definition at line 68 of file PoissonSolver.h.
Referenced by PartBunch::resizeMesh().
|
inlinevirtual |
AMR solver calls
rho | right-hand side charge density on grid [C / m] |
phi | electrostatic potential (unknown) [V] |
efield | electric field [V / m] |
baseLevel | for solve |
finestLevel | for solve |
prevAsGuess | use of previous solution as initial guess |
Reimplemented in AmrMultiGrid, MLPoissonSolver, and FMGPoissonSolver.
Definition at line 39 of file PoissonSolver.h.
Referenced by AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::solvePoisson_m().
|
pure virtual |