ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | Static Public Member Functions | List of all members
VISWriter Class Reference
Inheritance diagram for VISWriter:
PluginBase

Public Member Functions

 VISWriter (unsigned long writeFrequency, std::string outputPrefix)
 Writes out a file (using *.vis-format) containing coordinates + orientation (using quaternions) of each molecule for several timesteps. More...
 
void readXML (XMLfileUnits &xmlconfig)
 Method readXML will be called once for each plugin section in the input file. More...
 
void init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
 Method init will be called at the begin of the simulation. More...
 
void endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
 Method endStep will be called at the end of each time step. More...
 
void finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
 Method finish will be called at the end of the simulation. More...
 
std::string getPluginName ()
 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 beforeForces (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep)
 Method beforeForces will be called before forcefields have been applied no alterations w.r.t. Forces shall be made here. 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 ()
 

Constructor & Destructor Documentation

◆ VISWriter()

VISWriter::VISWriter ( unsigned long  writeFrequency,
std::string  outputPrefix 
)

Writes out a file (using *.vis-format) containing coordinates + orientation (using quaternions) of each molecule for several timesteps.

Depending on write frequency (for example: every timestep, or every 10th, 100th, 1000th ...) number of frames can be controlled. The *.vis-file can be visualized by visualization software like:

Parameters
filenameName of the *.vis-file (including path)
particleContainerThe molecules that have to be written to the file are stored here
domainDecompIn the parallel version, the file has to be written by more than one process. Methods to achieve this are available in domainDecomp
writeFrequencyControls the frequency of writing out the data (every timestep, every 10th, 100th, ... timestep)

Member Function Documentation

◆ endStep()

void VISWriter::endStep ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
Domain domain,
unsigned long  simstep 
)
virtual

Method endStep will be called at the end of each time step.

This method will be called every time step passing the simstep as an additional parameter. It can be used e.g. to write per time step data to a file or perform additional computations.

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

Implements PluginBase.

◆ finish()

void VISWriter::finish ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
Domain domain 
)
virtual

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 VISWriter::getPluginName ( )
inlinevirtual

return the name of the plugin

Implements PluginBase.

◆ init()

void VISWriter::init ( ParticleContainer particleContainer,
DomainDecompBase domainDecomp,
Domain domain 
)
virtual

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 VISWriter::readXML ( XMLfileUnits xmlconfig)
virtual

Method readXML will be called once for each plugin section in the input file.

This method can be used to read in parameters from the corresponding plugin section in the xml config file. The method will be called once after an instance of the plugin is created.

Note
The same plugins may be specified multiple times in the xml config file. It is the responsibility of the plugin to handle this case in a propper way.

The following xml object structure will be provided to the plugin:

<plugin name="plugin name">
<!-- options for the specific plugin -->
</plugin>
Parameters
xmlconfigsection of the xml file

Implements PluginBase.


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