6#ifndef MARDYN_TRUNK_WALLPOTENTIAL_H
7#define MARDYN_TRUNK_WALLPOTENTIAL_H
10#include "particleContainer/ParticleContainer.h"
12#include "parallel/DomainDecompBase.h"
45 double _rhoW, _yc, _yOff, _delta;
52 double* _uShift_10_4_3;
57 std::vector<bool> _bConsiderComponent;
77 _uShift_10_4_3(
nullptr),
78 _uPot_10_4_3(
nullptr),
90 delete [] _uShift_9_3;
92 delete [] _uShift_10_4_3;
93 delete [] _uPot_10_4_3;
97 global_log -> debug() <<
"[WallPotential] Wall enabled" << std::endl;
105 Domain *domain,
unsigned long simstep)
override {};
114 void initializeLJ93(
const vector<Component> *components,
double in_rhoWall,
double in_sigWall,
double in_epsWall,
115 vector<double> in_xi, vector<double> in_eta,
double in_yOffWall,
double in_yWallCut);
117 void initializeLJ1043(
const vector<Component> *components,
double in_rhoWall,
double in_sigWall,
double in_epsWall,
118 vector<double> in_xi, vector<double> in_eta,
double in_yOffWall,
double in_yWallCut);
125 unsigned long simstep)
override;
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
WallPotential exerts the force of a Lennard-Jones potential on the Lennard-Jones centers of particles...
Definition: WallPotential.h:42
void initializeLJ93(const vector< Component > *components, double in_rhoWall, double in_sigWall, double in_epsWall, vector< double > in_xi, vector< double > in_eta, double in_yOffWall, double in_yWallCut)
initialize the LJ93 potential and calculate potential energy at cutoff
Definition: WallPotential.cpp:105
std::string getPluginName() override
return the name of the plugin
Definition: WallPotential.h:110
void finish(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
Method finish will be called at the end of the simulation.
Definition: WallPotential.h:107
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: WallPotential.h:103
void initializeLJ1043(const vector< Component > *components, double in_rhoWall, double in_sigWall, double in_epsWall, vector< double > in_xi, vector< double > in_eta, double in_yOffWall, double in_yWallCut)
initialize the LJ1043 potential and calculate potential energy at cutoff
Definition: WallPotential.cpp:147
void siteWiseForces(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, unsigned long simstep) override
gets called during the force update step. calls the appropriate calculation function.
Definition: WallPotential.cpp:351
void calcTSLJ_10_4(ParticleContainer *partContainer)
Calculate and add forces to lennard-jones-sites. Also calculate new potential energy addition.
Definition: WallPotential.cpp:264
void readXML(XMLfileUnits &xmlconfig) override
reads in configuration from config.xml. see class doc for example .xml
Definition: WallPotential.cpp:13
void calcTSLJ_9_3(ParticleContainer *partContainer)
Calculate and add forces to lennard-jones-sites. Also calculate new potential energy addition.
Definition: WallPotential.cpp:193
void init(ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain) override
Method init will be called at the begin of the simulation.
Definition: WallPotential.h:96
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