5#ifndef _MOLECULARDYNAMICS_COUPLING_CELLMAPPINGS_DELETEPARTICLEMAPPING_H_
6#define _MOLECULARDYNAMICS_COUPLING_CELLMAPPINGS_DELETEPARTICLEMAPPING_H_
8#include "coupling/datastructures/Molecule.h"
9#include "coupling/interface/MDSolverInterface.h"
10#include "coupling/interface/Molecule.h"
14namespace cellmappings {
32 : _mdSolverInterface(mdSolverInterface), _particle(particle), _particleCounter(0),
33 _deletedMoleculeCopy(
tarch::la::Vector<dim, double>(0.0),
tarch::la::Vector<dim, double>(0.0),
tarch::la::Vector<dim, double>(0.0), 0.0) {}
53 if (_particleCounter > _particle) {
62 if (_particleCounter == _particle) {
73 _mdSolverInterface->deleteMoleculeFromMDSimulation(myMolecule, cell);
91 const unsigned int _particle;
92 unsigned int _particleCounter;
This class deletes a certain particle from a coupling cell.
Definition DeleteParticleMapping.h:25
coupling::datastructures::Molecule< dim > getDeletedMolecule() const
Definition DeleteParticleMapping.h:87
void handleCell(LinkedCell &cell)
Definition DeleteParticleMapping.h:51
void beginCellIteration()
Definition DeleteParticleMapping.h:40
void endCellIteration()
Definition DeleteParticleMapping.h:44
DeleteParticleMapping(const unsigned int &particle, coupling::interface::MDSolverInterface< LinkedCell, dim > *const mdSolverInterface)
Definition DeleteParticleMapping.h:31
~DeleteParticleMapping()
Definition DeleteParticleMapping.h:36
molecule representation for coupling component. Dericed from the class coupling::interface::Molecule
Definition Molecule.h:24
interface to the MD simulation
Definition MDSolverInterface.h:25
some iterator scheme for traversing the molecules within a linked cell.
Definition MoleculeIterator.h:24
virtual bool continueIteration() const =0
virtual const coupling::interface::Molecule< dim > & getConst()=0
interface to access a single molecule in the MD simulation.
Definition Molecule.h:23
virtual double getPotentialEnergy() const =0
virtual tarch::la::Vector< dim, double > getVelocity() const =0
virtual tarch::la::Vector< dim, double > getForce() const =0
virtual tarch::la::Vector< dim, double > getPosition() const =0
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15
Definition Configuration.h:11