OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | List of all members
PoissonSolver Class Referenceabstract

#include <PoissonSolver.h>

Inheritance diagram for PoissonSolver:
Inheritance graph
[legend]

Public Member Functions

virtual void computePotential (Field_t &rho, Vector_t hr)=0
 
virtual void solve (AmrScalarFieldContainer_t &rho, AmrScalarFieldContainer_t &phi, AmrVectorFieldContainer_t &efield, unsigned short baseLevel, unsigned short finestLevel, bool prevAsGuess=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 ()
 

Detailed Description

Definition at line 14 of file PoissonSolver.h.

Constructor & Destructor Documentation

virtual PoissonSolver::~PoissonSolver ( )
inlinevirtual

Definition at line 59 of file PoissonSolver.h.

Member Function Documentation

virtual void PoissonSolver::computePotential ( Field_t rho,
Vector_t  hr 
)
pure virtual
virtual void PoissonSolver::computePotential ( Field_t rho,
Vector_t  hr,
double  zshift 
)
pure virtual
virtual double PoissonSolver::getXRangeMax ( unsigned short  level = 0)
pure virtual
virtual double PoissonSolver::getXRangeMin ( unsigned short  level = 0)
pure virtual
virtual double PoissonSolver::getYRangeMax ( unsigned short  level = 0)
pure virtual
virtual double PoissonSolver::getYRangeMin ( unsigned short  level = 0)
pure virtual
virtual double PoissonSolver::getZRangeMax ( unsigned short  level = 0)
pure virtual
virtual double PoissonSolver::getZRangeMin ( unsigned short  level = 0)
pure virtual
virtual void PoissonSolver::hasToRegrid ( )
inlinevirtual

Tell solver to regrid

Reimplemented in AmrPoissonSolver< AmrObject >, and AmrPoissonSolver< AmrBoxLib >.

Definition at line 45 of file PoissonSolver.h.

Referenced by AmrBoxLib::postRegrid_m().

virtual void PoissonSolver::solve ( AmrScalarFieldContainer_t rho,
AmrScalarFieldContainer_t phi,
AmrVectorFieldContainer_t efield,
unsigned short  baseLevel,
unsigned short  finestLevel,
bool  prevAsGuess = true 
)
inlinevirtual

AMR solver calls

Parameters
rhoright-hand side charge density on grid [C / m]
phielectrostatic potential (unknown) [V]
efieldelectric field [V / m]
baseLevelfor solve
finestLevelfor solve
prevAsGuessuse of previous solution as initial guess

Reimplemented in AmrMultiGrid, FMGPoissonSolver, and MLPoissonSolver.

Definition at line 32 of file PoissonSolver.h.

Referenced by AmrBoxLib::computeSelfFields_cycl().

virtual void PoissonSolver::test ( PartBunchBase< double, 3 > *  bunch)
pure virtual

The documentation for this class was generated from the following file: