density fitting forces
commitf97e5a8cb51ed53d61a0c6ea94d30faaa17c06d1
authorChristian Blau <cblau@gwdg.de>
Tue, 16 Apr 2019 12:04:13 +0000 (16 14:04 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 25 Apr 2019 13:11:54 +0000 (25 15:11 +0200)
tree1b11fc25636f8bac2c1388e6a45f8e56433400de
parent05029e237367bf91187986a431dc9cc76a19de5e
density fitting forces

Evaluate forces on atoms that increase a measure of the goodness of fit to a reference density.

The density fitting forces are evaluated as the gradient of the goodness of fit of a comparison density is generated from atoms by spreading on a grid via a Gaussian kernel to the reference density.

Applying the chain rule for this gradient yields the density fitting force as the inner product of the derivative of the comparison density to reference density goodness-of-fit function at all density values and the gradient of the spreading kernel used to simulate the density.

This patch assumes that the comparison density to reference density goodness of fit derivative density is given, methods that aid the evaluation of this derivative density are part of a child patch.

refs #2282

Change-Id: I4d93fffbdb41753f9a0a4af921011aca02ade69c
src/gromacs/math/densityfittingforce.cpp [new file with mode: 0644]
src/gromacs/math/densityfittingforce.h [new file with mode: 0644]
src/gromacs/math/gausstransform.cpp
src/gromacs/math/gausstransform.h
src/gromacs/math/tests/CMakeLists.txt
src/gromacs/math/tests/densityfittingforce.cpp [new file with mode: 0644]
src/gromacs/math/tests/gausstransform.cpp