11#ifndef SRC_PLUGINS_PERMITTIVITY_H_
12#define SRC_PLUGINS_PERMITTIVITY_H_
15#include "parallel/DomainDecompBase.h"
16#include "particleContainer/ParticleContainer.h"
17#include "plugins/PluginBase.h"
26 unsigned long simstep)
override;
29 void writeRunningAverage(
unsigned long indexM,
double tempMX,
double tempMY,
double tempMZ,
double tempMSquared);
30 void output(
Domain* domain,
unsigned long timestep);
38 bool _readStartingStep;
39 unsigned long _writeFrequency;
40 unsigned long _initStatistics;
41 unsigned long _recordingTimesteps;
42 unsigned long _accumulatedSteps;
43 unsigned long _runningAverageSteps;
44 unsigned long _totalNumTimeSteps;
45 unsigned long _startingStep;
46 unsigned long _numParticlesLocal;
47 unsigned long _RAVCounter;
49 unsigned _numComponents;
50 unsigned _currentOutputNum;
51 std::map<unsigned,double> _myAbs;
52 std::map<unsigned,unsigned long> _numParticles;
53 std::map<unsigned,double> _outputSquaredM;
54 std::map<unsigned, std::map<unsigned, double>> _outputM;
55 std::map<unsigned long, std::map<unsigned long, double >> _localM;
56 std::map<unsigned long, std::map<unsigned long, double >> _globalM;
57 std::array<double, 3> simBoxSize;
58 double _totalAverageM[3];
59 double _totalAverageSquaredM;
65 std::ofstream _ravStream;
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
Definition: Permittivity.h:19
void finish(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
Method finish will be called at the end of the simulation.
Definition: Permittivity.h:31
void readXML(XMLfileUnits &xmlconfig) override
Method readXML will be called once for each plugin section in the input file.
Definition: Permittivity.cpp:12
std::string getPluginName() override
return the name of the plugin
Definition: Permittivity.h:32
void init(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
Method init will be called at the begin of the simulation.
Definition: Permittivity.cpp:21
void endStep(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep) override
Method endStep will be called at the end of each time step.
Definition: Permittivity.cpp:206
The PluginBase class provides the interface for any kind of output/plugin classes - called "(output) ...
Definition: PluginBase.h:47
XML file with unit attributes abstraction.
Definition: xmlfileUnits.h:25
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Definition: vtk-punstructured.h:270