ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | Static Public Member Functions | List of all members
COMaligner Class Reference

Plugin: can be enabled via config.xml
More...

#include <COMaligner.h>

Inheritance diagram for COMaligner:
PluginBase

Public Member Functions

void init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
 Method init will be called at the begin of the simulation. More...
 
void readXML (XMLfileUnits &xmlconfig) override
 will be called to read configuration More...
 
void beforeForces (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep) override
 called before Forces are applied calculates realignment motion that is applied after the forces have been applied
only calculates motion on specified dimensions More...
 
void endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep) override
 called after Forces are applied applies the motion calculated earlier More...
 
void finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
 Method finish will be called at the end of the simulation. More...
 
std::string getPluginName () override
 return the name of the plugin More...
 
- Public Member Functions inherited from PluginBase
 PluginBase ()
 Subclasses should use their constructur to pass parameters (e.g. filenames)
 
virtual void beforeEventNewTimestep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep)
 Method will be called first thing in a new timestep. More...
 
virtual void siteWiseForces (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep)
 Method siteWiseForces will be called before forcefields have been applied alterations to sitewise forces and fullMolecule forces can be made here. More...
 
virtual void afterForces (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep)
 Method afterForces will be called after forcefields have been applied no sitewise Forces can be applied here. More...
 
virtual void registerCallbacks (std::map< std::string, FunctionWrapper > &callbackMap)
 
virtual void accessAllCallbacks (const std::map< std::string, FunctionWrapper > &callbackMap)
 

Static Public Member Functions

static PluginBasecreateInstance ()
 

Detailed Description

Plugin: can be enabled via config.xml

Calculates Center of mass and moves all particles to align with center of box
Individual dimensions X,Y,Z can be toogled on/off for the alignment
Alignment happens once every interval-simsteps
The correction factor can be set from 0-1
1 being full alignment -> 0 no alignment at all
HALO must not be present for the alignment. Halo would lead to incorrect alignment.
This is guarenteed by calling the alignment in the beforeForces step of the simulation

<plugin name="COMaligner">
<x>1</x>
<y>0</y>
<z>1</z>
<interval>1</interval>
<correctionFactor>.5</correctionFactor>
</plugin>

Member Function Documentation

◆ beforeForces()

void COMaligner::beforeForces ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
unsigned long  simstep 
)
overridevirtual

called before Forces are applied calculates realignment motion that is applied after the forces have been applied
only calculates motion on specified dimensions

Parameters
particleContainer
domainDecomp
simstep

Reimplemented from PluginBase.

◆ endStep()

void COMaligner::endStep ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
Domain domain,
unsigned long  simstep 
)
overridevirtual

called after Forces are applied applies the motion calculated earlier

Parameters
particleContainer
domainDecomp
domain
simstep
lmu
mcav

Implements PluginBase.

◆ finish()

void COMaligner::finish ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
Domain domain 
)
inlineoverridevirtual

Method finish will be called at the end of the simulation.

This method will be called once at the end of the simulation. It can be used e.g. to closing output files or writing final statistics.

Parameters
particleContainerparticle container storing the (local) molecules
domainDecompdomain decomposition in use
domain

Implements PluginBase.

◆ getPluginName()

std::string COMaligner::getPluginName ( )
inlineoverridevirtual

return the name of the plugin

Implements PluginBase.

◆ init()

void COMaligner::init ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
Domain domain 
)
inlineoverridevirtual

Method init will be called at the begin of the simulation.

This method will be called once at the begin of the simulation just right before the main time step loop. It can be used e.g. to open output files or initialize statistics.

Parameters
particleContainerparticle container storing the (local) molecules
domainDecompdomain decomposition in use
domain

Implements PluginBase.

◆ readXML()

void COMaligner::readXML ( XMLfileUnits xmlconfig)
overridevirtual

will be called to read configuration

All values have defaults and are not mandatory to be supplied

Defaults are:
bool X, Y, Z: all true (alignment on all Axis)
int interval: 25 (alignment every 25th simstep)
float correctionFactor: 1 (full alignment)

Parameters
xmlconfigread from config.xml

Implements PluginBase.


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