Base class for Ewald k-space updates policies.
More...
#include <energy.h>
|
|
virtual void | updateBox (EwaldData &, const Point &) const =0 |
| | Prepare k-vectors according to given box vector.
|
| |
|
virtual void | updateComplex (EwaldData &d, const Space::GroupVector &groups) const =0 |
| | Update all k vectors.
|
| |
|
virtual void | updateComplex (EwaldData &d, const Change &change, const Space::GroupVector &groups, const Space::GroupVector &oldgroups) const =0 |
| | Update subset of k vectors. Require old pointer.
|
| |
|
virtual double | selfEnergy (const EwaldData &d, Change &change, Space::GroupVector &groups)=0 |
| | Self energy contribution due to a change.
|
| |
|
virtual double | surfaceEnergy (const EwaldData &d, const Change &change, const Space::GroupVector &groups)=0 |
| | Surface energy contribution due to a change.
|
| |
|
virtual double | reciprocalEnergy (const EwaldData &d)=0 |
| | Total reciprocal energy.
|
| |
|
| static auto | mapGroupsToEigen (Space::GroupVector &groups) |
| | Represent charges and positions using an Eigen facade (Map) More...
|
| |
|
static auto | mapGroupsToEigen (const Space::GroupVector &groups) |
| |
|
static std::unique_ptr< EwaldPolicyBase > | makePolicy (EwaldData::Policies) |
| | Policy factory.
|
| |
|
|
std::string | cite |
| | Optional reference, preferably DOI, to further information.
|
| |
Base class for Ewald k-space updates policies.
◆ mapGroupsToEigen()
| static auto Faunus::Energy::EwaldPolicyBase::mapGroupsToEigen |
( |
Space::GroupVector & |
groups | ) |
|
|
inlinestatic |
Represent charges and positions using an Eigen facade (Map)
Requires that all groups are fully active, i.e. does not work for GCMC.
- Parameters
-
| groups | Vector of groups to represent |
- Returns
- tuple with positions, charges
The documentation for this class was generated from the following files: