ls1-MarDyn
ls1-MarDyn molecular dynamics code
ParticlePairsHandler.h
1
2#ifndef PARTICLEPAIRSHANDLER_H_
3#define PARTICLEPAIRSHANDLER_H_
4
5typedef enum {
6 MOLECULE_MOLECULE = 0,
7 MOLECULE_HALOMOLECULE = 1,
8 MOLECULE_MOLECULE_FLUID = 2
9} PairType;
10
11
39public:
42
45 }
46
48 virtual void init() = 0;
49
51 virtual void finish() = 0;
52
60 virtual double processPair(Molecule& particle1, Molecule& particle2, double distanceVector[3], PairType pairType, double dd, bool calculateLJ) = 0;
61
62protected:
63 // RDF* _rdf; calculation moved to RDFCellProcessor! Legacy implementation will be slower, but we want to always use the vectorized one, which is now faster.
64};
65
66#endif /*PARTICLEPAIRSHANDLER_H_*/
67
FullMolecule modeled as LJ sphere with point polarities.
Definition: FullMolecule.h:18
interface for defining the action performed when processing a pair
Definition: ParticlePairsHandler.h:38
ParticlePairsHandler()
Constructor.
Definition: ParticlePairsHandler.h:41
virtual void finish()=0
things to be done after particle pairs are processed
virtual ~ParticlePairsHandler()
Destructor.
Definition: ParticlePairsHandler.h:44
virtual void init()=0
things to be done before particle pairs are processed
virtual double processPair(Molecule &particle1, Molecule &particle2, double distanceVector[3], PairType pairType, double dd, bool calculateLJ)=0
things to be done for each particle pair