5#ifndef _MOLECULARDYNAMICS_COUPLING_CONFIGURATIONS_PARTICLEINSERTIONCONFIGURATION_H_
6#define _MOLECULARDYNAMICS_COUPLING_CONFIGURATIONS_PARTICLEINSERTIONCONFIGURATION_H_
8#include "coupling/NoParticleInsertion.h"
9#include "coupling/UsherParticleInsertion.h"
10#include "coupling/interface/MDSolverInterface.h"
11#include "tarch/configuration/Configuration.h"
12#include "tarch/configuration/ParseConfiguration.h"
13#include "tarch/la/Vector.h"
17namespace configurations {
64 template <
class LinkedCell,
unsigned int dim>
93 ParticleInsertionConfiguration(
unsigned int insertDeleteMassEveryTimestep,
double rSigmaCoeff,
double meanPotentialEnergyFactor,
double uOverlapCoeff,
94 double stepRefCoeff,
unsigned int iterMax,
unsigned int restartMax,
double tolerance,
double offsetFromOuterBoundary,
101 static const std::string INSERT_DELETE_MASS_EVERY_TIMESTEP;
102 static const std::string RSIGMA_COEFF;
103 static const std::string MEAN_POTENTIAL_ENERGY_FACTOR;
104 static const std::string UOVERLAP_COEFF;
105 static const std::string STEPREF_COEFF;
106 static const std::string ITER_MAX;
107 static const std::string RESTART_MAX;
108 static const std::string TOLERANCE;
109 static const std::string OFFSET_FROM_OUTER_BOUNDARY;
125 double _meanPotentialEnergyFactor;
empty implementation of particle insertion (no particle insertion/removal).
Definition NoParticleInsertion.h:22
interface for particle insertion/removal on coupling cell basis.
Definition ParticleInsertion.h:23
handles particle insertion (via Usher algorithm) and random particle deletion.
Definition UsherParticleInsertion.h:36
configuration for particle insertion algorithm (e.g.: USHER).
Definition ParticleInsertionConfiguration.h:28
unsigned int _restartMax
Definition ParticleInsertionConfiguration.h:146
double _tolerance
Definition ParticleInsertionConfiguration.h:151
double _uOverlapCoeff
Definition ParticleInsertionConfiguration.h:131
ParticleInsertionConfiguration()
Definition ParticleInsertionConfiguration.h:31
unsigned int _insertDeleteMassEveryTimestep
Definition ParticleInsertionConfiguration.h:115
virtual ~ParticleInsertionConfiguration()
Definition ParticleInsertionConfiguration.h:36
double _offsetFromOuterBoundary
Definition ParticleInsertionConfiguration.h:159
unsigned int _iterMax
Definition ParticleInsertionConfiguration.h:143
ParticleInsertionType _particleInsertionType
Definition ParticleInsertionConfiguration.h:162
void parseSubtag(tinyxml2::XMLElement *node)
ParticleInsertionType getParticleInsertionType() const
Definition ParticleInsertionConfiguration.h:90
coupling::ParticleInsertion< LinkedCell, dim > * interpreteConfiguration(coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface) const
Definition ParticleInsertionConfiguration.h:66
ParticleInsertionType
Definition ParticleInsertionConfiguration.h:82
@ NO_INSERTION
Definition ParticleInsertionConfiguration.h:84
@ USHER
Definition ParticleInsertionConfiguration.h:83
double _stepRefCoeff
Definition ParticleInsertionConfiguration.h:140
std::string getTag() const
double _rSigmaCoeff
Definition ParticleInsertionConfiguration.h:124
interface to the MD simulation
Definition MDSolverInterface.h:25
Definition Configuration.h:22
Definition tinyxml2.h:1268
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15