Gromacs
2025-dev-20241003-bd59e46
|
Private implementation class for DensityFittingForce.
Public Member Functions | |
Impl (const GaussianSpreadKernelParameters::Shape &kernelShapeParameters) | |
Construct densityfitting force implementation from spread of function used to generate the density and spread range. More... | |
RVec | evaluateForce (const GaussianSpreadKernelParameters::PositionAndAmplitude &localParameters, basic_mdspan< const float, dynamicExtents3D > densityDerivative) |
Evaluate density-fitting force between a reference density and the density generated by a kernel. More... | |
Public Attributes | |
DVec | sigma_ |
The width of the Gaussian in lattice spacing units. | |
IVec | latticeSpreadRange_ |
The spread range in lattice points. | |
std::array < GaussianOn1DLattice, DIM > | gauss1d_ |
The three one-dimensional Gaussians that are used in the force calculation. | |
OuterProductEvaluator | outerProductZY_ |
The outer product of a Gaussian along the z and y dimension. | |
|
explicit |
Construct densityfitting force implementation from spread of function used to generate the density and spread range.
[in] | kernelShapeParameters | determine the shape of the spreading kernel |
RVec gmx::DensityFittingForce::Impl::evaluateForce | ( | const GaussianSpreadKernelParameters::PositionAndAmplitude & | localParameters, |
basic_mdspan< const float, dynamicExtents3D > | densityDerivative | ||
) |
Evaluate density-fitting force between a reference density and the density generated by a kernel.
Implements the equation in the class description.
[in] | localParameters | local parameters of the spreading kernel |
[in] | densityDerivative | the spatial derivative of the similarity measure between the reference density and a density that was generated using the spreading kernel |