OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
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) |
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.
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, AmrPoissonSolver< AmrObject >, and AmrPoissonSolver< AmrBoxLib >.
Referenced by PartBunch::computeSelfFields(), and PartBunch::computeSelfFields_cycl().
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
Referenced by PartBunch::resizeMesh().
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
|
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 FMGPoissonSolver, MLPoissonSolver, and AmrMultiGrid.
Definition at line 39 of file PoissonSolver.h.
Referenced by AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::solvePoisson_m().
|
pure virtual |
Implemented in P3MPoissonSolver, MGPoissonSolver, FFTPoissonSolver, FFTBoxPoissonSolver, AmrPoissonSolver< AmrObject >, and AmrPoissonSolver< AmrBoxLib >.
Referenced by PartBunch::runTests().