1 #ifndef OPAL_FieldSolver_HH
2 #define OPAL_FieldSolver_HH
32 template <
class T,
unsigned Dim>
142 std::unique_ptr<Layout_t>
PL_m;
157 #endif // OPAL_FieldSolver_HH
static FieldSolver * find(const std::string &name)
Find named FieldSolver.
std::ostream & operator<<(std::ostream &os, const Attribute &attr)
The base class for all OPAL definitions.
double getMT() const
Return meshsize.
The FieldSolver definition.
void operator=(const FieldSolver &)
virtual void execute()
Execute (init) the field solver data.
AmrObject * getAmrObject()
void initSolver(PartBunchBase< double, 3 > *b)
std::string getFieldSolverType()
double getMY() const
Return meshsize.
void setMX(double)
Store emittance for mode 1.
PoissonSolver * solver_m
the actual solver, should be a base object
std::unique_ptr< Layout_t > PL_m
The particle layout.
virtual void update()
Update the field solver data.
virtual FieldSolver * clone(const std::string &name)
Make clone.
void setMT(double)
Store emittance for mode 3.
FieldSolver()
Exemplar constructor.
const AmrObject * getAmrObject() const
Mesh_t * mesh_m
The cartesian mesh.
FieldLayout_t * getFieldLayout()
std::string getTagging_m() const
std::unique_ptr< AmrObject > itsAmrObject_mp
PartBunchBase< double, 3 > * itsBunch_m
all the particles are here ...
void initCartesianFields()
double getMX() const
Return meshsize.
unsigned int getInteractionRadius()
void setMY(double)
Store emittance for mode 2.
Inform & printInfo(Inform &os) const
bool isAmrSolverType() const
FieldLayout_t * FL_m
The field layout f.
Layout_t & getParticleLayout()