ls1-MarDyn
ls1-MarDyn molecular dynamics code
FixRegion.h
1/*
2 * FixRegion.h
3 *
4 * Created on: 9 July 2020
5 * Author: Marx
6 */
7
8#pragma once
9
10// class DropalignerTest;
11#include "Domain.h"
12#include "PluginBase.h"
13#include "parallel/DomainDecompBase.h"
14#include "particleContainer/ParticleContainer.h"
15
16//#include "parallel/DomainDecompBase.h"
17
35class FixRegion : public PluginBase {
36private:
37 double _xMin;
38 double _yMin;
39 double _zMin;
40 double _xMax;
41 double _yMax;
42 double _zMax;
43 double _boxLength[3];
44 unsigned long _molCount;
45
46public:
47 void init(ParticleContainer* particleContainer, DomainDecompBase* domainDecomp, Domain* domain) override;
48
49 void readXML(XMLfileUnits& xmlconfig) override;
50
51 void beforeForces(ParticleContainer* particleContainer, DomainDecompBase* domainDecomp,
52 unsigned long simstep) override;
53
54 void afterForces(ParticleContainer* particleContainer, DomainDecompBase* domainDecomp,
55 unsigned long simstep) override;
56
57 void endStep(ParticleContainer* particleContainer, DomainDecompBase* domainDecomp, Domain* domain,
58 unsigned long simstep) override;
59
60 void finish(ParticleContainer* particleContainer, DomainDecompBase* domainDecomp, Domain* domain) override{};
61
62 std::string getPluginName() override { return std::string("FixRegion"); }
63
64 static PluginBase* createInstance() { return new FixRegion(); }
65
66 void registerCallbacks(std::map<std::string, FunctionWrapper>& callbackMap) override {
67 callbackMap["FixRegion::getMoleculesInRegion"] = [this] { return _molCount; };
68 }
69};
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
Plugin: can be enabled via config.xml
Definition: FixRegion.h:35
void afterForces(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep) override
Method afterForces will be called after forcefields have been applied no sitewise Forces can be appli...
Definition: FixRegion.cpp:78
std::string getPluginName() override
return the name of the plugin
Definition: FixRegion.h:62
void readXML(XMLfileUnits &xmlconfig) override
will be called to read configuration
Definition: FixRegion.cpp:15
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: FixRegion.cpp:98
void init(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
Method init will be called at the begin of the simulation.
Definition: FixRegion.cpp:24
void registerCallbacks(std::map< std::string, FunctionWrapper > &callbackMap) override
Definition: FixRegion.h:66
void finish(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
Method finish will be called at the end of the simulation.
Definition: FixRegion.h:60
void beforeForces(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep) override
Method beforeForces will be called before forcefields have been applied no alterations w....
Definition: FixRegion.cpp:75
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
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