Loading...
Searching...
No Matches
GhostPotential.h
Go to the documentation of this file.
1// Emacs: This is -*- C++ -*-
2
3#ifndef GHOSTPOTENTIAL_H
4#define GHOSTPOTENTIAL_H
5
6#include "Potential.h"
7
9
22
24public:
27
29
34 virtual bool CheckAndUpdateAtoms(bool update) = 0;
35
37
45 virtual void CommunicateData(double data[]) = 0;
47
51 virtual void CommunicateData(double data[], int n) = 0;
52
54 virtual void UpdateGhostPositions() = 0;
55
57 double GetCutoffRadius() const { return potential->GetCutoffRadius(); }
58
60 double GetLatticeConstant() const { return potential->GetLatticeConstant(); }
61
62protected:
64};
65
66#endif // GHOSTPOTENTIAL_H
Abstract base class of all potentials.
Definition Potential.h:29
AsapPotential * potential
Pointer to the wrapped potential.
double GetLatticeConstant() const
Get the lattice constant of the wrapped potential.
virtual bool CheckAndUpdateAtoms(bool update)=0
Check if the ghost atoms want the neighbor list updated.
double GetCutoffRadius() const
Get the cutoff of the wrapped potential.
GhostPotential(AsapPotential *p)
virtual void UpdateGhostPositions()=0
Update the position of ghost atoms.
virtual void CommunicateData(double data[])=0
Place data on virtual atoms.
virtual void CommunicateData(double data[], int n)=0
Place data on virtual atoms.