OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
FieldSolver Class Reference

The FieldSolver definition. More...

#include <FieldSolver.h>

Inheritance diagram for FieldSolver:
Inheritance graph
[legend]
Collaboration diagram for FieldSolver:
Collaboration graph
[legend]

Public Member Functions

 FieldSolver ()
 Exemplar constructor. More...
 
virtual ~FieldSolver ()
 
virtual FieldSolverclone (const std::string &name)
 Make clone. More...
 
std::string getType ()
 
double getMX () const
 Return meshsize. More...
 
double getMY () const
 Return meshsize. More...
 
double getMT () const
 Return meshsize. More...
 
void setMX (double)
 Store emittance for mode 1. More...
 
void setMY (double)
 Store emittance for mode 2. More...
 
void setMT (double)
 Store emittance for mode 3. More...
 
virtual void update ()
 Update the field solver data. More...
 
virtual void execute ()
 Execute (init) the field solver data. More...
 
void initCartesianFields ()
 
void initSolver (PartBunchBase< double, 3 > *b)
 
bool hasValidSolver ()
 
std::string getFieldSolverType ()
 
Layout_tgetParticleLayout ()
 
FieldLayout_tgetFieldLayout ()
 
InformprintInfo (Inform &os) const
 
unsigned int getInteractionRadius ()
 
bool hasPeriodicZ ()
 
bool isAmrSolverType () const
 
AmrObjectgetAmrObject ()
 
const AmrObjectgetAmrObject () const
 
- Public Member Functions inherited from Definition
virtual ~Definition ()
 
virtual const std::string getCategory () const
 Return the object category as a string. More...
 
virtual bool shouldTrace () const
 Trace flag. More...
 
virtual bool shouldUpdate () const
 Update flag. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed. More...
 
void copyAttributes (const Object &)
 Copy attributes from another object. More...
 
virtual AttributefindAttribute (const std::string &name)
 Find an attribute by name. More...
 
virtual const AttributefindAttribute (const std::string &name) const
 Find an attribute by name. More...
 
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function. More...
 
virtual ObjectmakeInstance (const std::string &name, Statement &, const Parser *)
 Macro handler function. More...
 
virtual void parse (Statement &)
 Parse the object. More...
 
virtual void parseShortcut (Statement &)
 Parser for single-attribute commands. More...
 
virtual void print (std::ostream &) const
 Print the object. More...
 
virtual void printValue (std::ostream &) const
 
virtual void printHelp (std::ostream &) const
 Print help. More...
 
virtual void replace (Object *oldObject, Object *newObject)
 Replace references. More...
 
bool isBuiltin () const
 True, if [b]this[/b] is a built-in object. More...
 
virtual bool isShared () const
 Shared flag. More...
 
virtual void setShared (bool)
 Set/reset shared flag. More...
 
void setDirty (bool)
 Set/reset the [b]modified[/b] flag. More...
 
bool isDirty () const
 True, if the [b]modified[/b] flag is set. More...
 
void setFlag (bool)
 Flag/unflag this object, e. g. to control output of objects for. More...
 
bool isFlagged () const
 True, if [b]this[/b] is flagged by setFlag(true). More...
 
const ObjectgetBaseObject () const
 Return the object's base type object. More...
 
const std::string & getOpalName () const
 Return object name. More...
 
ObjectgetParent () const
 Return parent pointer. More...
 
bool isTreeMember (const Object *subTree) const
 Test for tree membership. More...
 
void setOpalName (const std::string &name)
 Set object name. More...
 
void setParent (Object *)
 Set parent object. More...
 
void clear ()
 Clear the occurrence counter. More...
 
int increment ()
 Increment and return the occurrence counter. More...
 
int occurrenceCount ()
 Return the occurrence counter. More...
 
void registerReference (Invalidator *a)
 Register a reference to this object. More...
 
void unregisterReference (Invalidator *a)
 Unegister a reference to this object. More...
 
void registerOwnership (const AttributeHandler::OwnerType &itsClass) const
 
- Public Member Functions inherited from RCObject
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 

Static Public Member Functions

static FieldSolverfind (const std::string &name)
 Find named FieldSolver. More...
 

Public Attributes

PoissonSolversolver_m
 the actual solver, should be a base object More...
 
- Public Attributes inherited from Object
std::vector< AttributeitsAttr
 The object attributes (see Attribute.hh). More...
 

Private Member Functions

std::string getTagging_m () const
 
void initAmrObject_m ()
 
void initAmrSolver_m ()
 
 FieldSolver (const FieldSolver &)
 
void operator= (const FieldSolver &)
 
 FieldSolver (const std::string &name, FieldSolver *parent)
 

Private Attributes

std::unique_ptr< AmrObjectitsAmrObject_mp
 
Mesh_tmesh_m
 The cartesian mesh. More...
 
FieldLayout_tFL_m
 The field layout f. More...
 
std::unique_ptr< Layout_tPL_m
 The particle layout. More...
 
PartBunchBase< double, 3 > * itsBunch_m
 all the particles are here ... More...
 
std::string fsType_m
 
double rpp_m
 

Additional Inherited Members

- Protected Member Functions inherited from Definition
 Definition (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Definition (const std::string &name, Definition *parent)
 Constructor for clones. More...
 
- Protected Member Functions inherited from Object
 Object (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Object (const std::string &name, Object *parent)
 Constructor for clones. More...
 
- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor. More...
 
 RCObject (const RCObject &)
 Copy constructor. More...
 
virtual ~RCObject ()=0
 
RCObjectoperator= (const RCObject &right)
 
- Protected Attributes inherited from Object
bool builtin
 Built-in flag. More...
 
bool modified
 Dirty flag. More...
 
bool flagged
 Object flag. More...
 

Detailed Description

The FieldSolver definition.

Definition at line 43 of file FieldSolver.h.

Constructor & Destructor Documentation

FieldSolver::FieldSolver ( )
FieldSolver::~FieldSolver ( )
virtual

Definition at line 336 of file FieldSolver.cpp.

References FL_m, mesh_m, and solver_m.

FieldSolver::FieldSolver ( const FieldSolver )
private
FieldSolver::FieldSolver ( const std::string &  name,
FieldSolver parent 
)
private

Definition at line 326 of file FieldSolver.cpp.

References FL_m, mesh_m, PL_m, and solver_m.

Member Function Documentation

FieldSolver * FieldSolver::clone ( const std::string &  name)
virtual

Make clone.

Implements Object.

Definition at line 351 of file FieldSolver.cpp.

References FieldSolver().

Here is the call graph for this function:

void FieldSolver::execute ( )
virtual

Execute (init) the field solver data.

Reimplemented from Object.

Definition at line 355 of file FieldSolver.cpp.

References update().

Here is the call graph for this function:

FieldSolver * FieldSolver::find ( const std::string &  name)
static

Find named FieldSolver.

Definition at line 359 of file FieldSolver.cpp.

References OpalData::find(), Hypervolume::fs, and OpalData::getInstance().

Referenced by TrackRun::setupFieldsolver(), and TrackRun::setupSliceTracker().

Here is the call graph for this function:

AmrObject* FieldSolver::getAmrObject ( )
inline

Definition at line 104 of file FieldSolver.h.

References itsAmrObject_mp.

Referenced by AmrPartBunch::setSolver().

const AmrObject* FieldSolver::getAmrObject ( ) const
inline

Definition at line 108 of file FieldSolver.h.

References itsAmrObject_mp.

FieldLayout_t* FieldSolver::getFieldLayout ( )
inline

Definition at line 94 of file FieldSolver.h.

References FL_m.

std::string FieldSolver::getFieldSolverType ( )
inline

Definition at line 90 of file FieldSolver.h.

References fsType_m.

Referenced by PartBunch::computeSelfFields(), and PartBunch::computeSelfFields_cycl().

unsigned int FieldSolver::getInteractionRadius ( )
inline

Definition at line 97 of file FieldSolver.h.

References rpp_m.

double FieldSolver::getMT ( ) const

Return meshsize.

Definition at line 380 of file FieldSolver.cpp.

References Attributes::getReal(), Object::itsAttr, and Attrib::Distribution::MT.

Referenced by initAmrObject_m(), initCartesianFields(), and TrackRun::setupFieldsolver().

Here is the call graph for this function:

double FieldSolver::getMX ( ) const

Return meshsize.

Definition at line 372 of file FieldSolver.cpp.

References Attributes::getReal(), Object::itsAttr, and Attrib::Distribution::MX.

Referenced by initAmrObject_m(), initCartesianFields(), and TrackRun::setupFieldsolver().

Here is the call graph for this function:

double FieldSolver::getMY ( ) const

Return meshsize.

Definition at line 376 of file FieldSolver.cpp.

References Attributes::getReal(), Object::itsAttr, and Attrib::Distribution::MY.

Referenced by initAmrObject_m(), initCartesianFields(), and TrackRun::setupFieldsolver().

Here is the call graph for this function:

Layout_t& FieldSolver::getParticleLayout ( )
inline

Definition at line 92 of file FieldSolver.h.

References PL_m.

std::string FieldSolver::getTagging_m ( ) const
private

Definition at line 667 of file FieldSolver.cpp.

References Physics::c, AmrObject::enum2string(), Attributes::getString(), and Object::itsAttr.

Referenced by initAmrObject_m(), and printInfo().

Here is the call graph for this function:

std::string FieldSolver::getType ( )

Definition at line 368 of file FieldSolver.cpp.

References Attributes::getString(), Object::itsAttr, and Util::toUpper().

Referenced by TrackRun::setupFieldsolver().

Here is the call graph for this function:

bool FieldSolver::hasPeriodicZ ( )

Definition at line 436 of file FieldSolver.cpp.

References Attributes::getString(), Object::itsAttr, and Util::toUpper().

Referenced by TrackRun::setupFieldsolver().

Here is the call graph for this function:

bool FieldSolver::hasValidSolver ( )
void FieldSolver::initAmrObject_m ( )
private
void FieldSolver::initAmrSolver_m ( )
private

Definition at line 725 of file FieldSolver.cpp.

References Attributes::getBool(), Attributes::getReal(), Attributes::getString(), itsAmrObject_mp, Object::itsAttr, solver_m, and Util::toUpper().

Referenced by initSolver().

Here is the call graph for this function:

void FieldSolver::initCartesianFields ( )
void FieldSolver::initSolver ( PartBunchBase< double, 3 > *  b)
bool FieldSolver::isAmrSolverType ( ) const
inline

Definition at line 444 of file FieldSolver.cpp.

References Options::amr.

Referenced by initCartesianFields(), initSolver(), and printInfo().

void FieldSolver::operator= ( const FieldSolver )
private
Inform & FieldSolver::printInfo ( Inform os) const
void FieldSolver::setMT ( double  value)

Store emittance for mode 3.

Definition at line 392 of file FieldSolver.cpp.

References Object::itsAttr, Attrib::Distribution::MT, and Attributes::setReal().

Here is the call graph for this function:

void FieldSolver::setMX ( double  value)

Store emittance for mode 1.

Definition at line 384 of file FieldSolver.cpp.

References Object::itsAttr, Attrib::Distribution::MX, and Attributes::setReal().

Here is the call graph for this function:

void FieldSolver::setMY ( double  value)

Store emittance for mode 2.

Definition at line 388 of file FieldSolver.cpp.

References Object::itsAttr, Attrib::Distribution::MY, and Attributes::setReal().

Here is the call graph for this function:

void FieldSolver::update ( )
virtual

Update the field solver data.

Reimplemented from Object.

Definition at line 396 of file FieldSolver.cpp.

Referenced by execute().

Member Data Documentation

FieldLayout_t* FieldSolver::FL_m
private

The field layout f.

Definition at line 139 of file FieldSolver.h.

Referenced by FieldSolver(), getFieldLayout(), initCartesianFields(), initSolver(), and ~FieldSolver().

std::string FieldSolver::fsType_m
private

Definition at line 147 of file FieldSolver.h.

Referenced by getFieldSolverType(), and initSolver().

std::unique_ptr<AmrObject> FieldSolver::itsAmrObject_mp
private

Definition at line 125 of file FieldSolver.h.

Referenced by getAmrObject(), initAmrObject_m(), and initAmrSolver_m().

PartBunchBase<double, 3>* FieldSolver::itsBunch_m
private

all the particles are here ...

Definition at line 145 of file FieldSolver.h.

Referenced by initAmrObject_m(), and initSolver().

Mesh_t* FieldSolver::mesh_m
private

The cartesian mesh.

Definition at line 136 of file FieldSolver.h.

Referenced by FieldSolver(), initCartesianFields(), initSolver(), printInfo(), and ~FieldSolver().

std::unique_ptr<Layout_t> FieldSolver::PL_m
private

The particle layout.

Definition at line 142 of file FieldSolver.h.

Referenced by FieldSolver(), getParticleLayout(), initCartesianFields(), initSolver(), and printInfo().

double FieldSolver::rpp_m
private

Definition at line 149 of file FieldSolver.h.

Referenced by getInteractionRadius().

PoissonSolver* FieldSolver::solver_m

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