ls1-MarDyn
ls1-MarDyn molecular dynamics code
VTKMoleculeWriter.h
1/*
2 * VTKMoleculeWriter.h
3 *
4 * @Date: 24.08.2010
5 * @Author: Wolfgang Eckhardt
6 */
7
8#ifndef VTKWRITER_H_
9#define VTKWRITER_H_
10
11#include <utility>
12
13#include "plugins/PluginBase.h"
14#include "io/vtk/VTKMoleculeWriterImplementation.h"
15
23
24private:
25
29 unsigned int _writeFrequency{50ul};
36 unsigned int _writeFrequencyOffset{0ul};
41 bool _writeInitialState{true};
42
43 std::string _fileName{};
44
45public:
46 VTKMoleculeWriter() = default;
47
48 VTKMoleculeWriter(unsigned int frequency, std::string name):
49 _writeFrequency(frequency), _fileName(std::move(name)) {}
50
51 virtual ~~VTKMoleculeWriter() {}
52
54 virtual void init(ParticleContainer *particleContainer,
55 DomainDecompBase *domainDecomp, Domain *domain);
56
58 virtual void endStep(
59 ParticleContainer *particleContainer, DomainDecompBase *domainDecomp,
60 Domain *domain, unsigned long simstep
61 );
62
64 virtual void finish(ParticleContainer *particleContainer,
65 DomainDecompBase *domainDecomp, Domain *domain);
66
68 return std::string("VTKMoleculeWriter");
69 }
70 static PluginBase* createInstance() { return new VTKMoleculeWriter(); }
71
72 void readXML(XMLfileUnits& xmlconfig);
73
74private:
75 void outputParallelVTKFile(unsigned int numProcs, unsigned long simstep,
77
78};
79
80#endif /* VTKWRITER_H_ */
handle boundary region and multiple processes
Definition: DomainDecompBase.h:51
This class is used to read in the phasespace and to handle macroscopic values.
Definition: Domain.h:47
This Interface is used to get access to particles and pairs of particles.
Definition: ParticleContainer.h:69
The PluginBase class provides the interface for any kind of output/plugin classes - called "(output) ...
Definition: PluginBase.h:47
Definition: VTKMoleculeWriterImplementation.h:26
Definition: VTKMoleculeWriter.h:22
std::string getPluginName()
return the name of the plugin
Definition: VTKMoleculeWriter.h:67
virtual void endStep(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
Definition: VTKMoleculeWriter.cpp:46
virtual void init(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
NOP.
Definition: VTKMoleculeWriter.cpp:108
void readXML(XMLfileUnits &xmlconfig)
Method readXML will be called once for each plugin section in the input file.
Definition: VTKMoleculeWriter.cpp:27
virtual void finish(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
NOP.
Definition: VTKMoleculeWriter.cpp:112
XML file with unit attributes abstraction.
Definition: xmlfileUnits.h:25
::xsd::cxx::tree::name< char, token > name
C++ type corresponding to the Name XML Schema built-in type.
Definition: vtk-punstructured.h:288
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Definition: vtk-punstructured.h:270