File AtomPairOverlap.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine
namespace Sparrow
namespace nddo
template<Utils::derivOrder O>
class AtomPairOverlap
#include <AtomPairOverlap.h>

This class computes a block of the overlap matrix for two atoms.

The actual calculation is done by the GTOOverlapMatrixBlock class, here the blocks that need calculation are identified and scheduled for calculation.

Public Types

template<>
using Value3D = Utils::AutomaticDifferentiation::Value3DType<O>

Public Functions

Eigen::Matrix<Value3D, Eigen::Dynamic, Eigen::Dynamic> getMatrixBlock(const Utils::AtomicGTOs &pA, const Utils::AtomicGTOs &pB, Eigen::Vector3d Rab) const

Private Functions

Eigen::Matrix<Value3D, Eigen::Dynamic, Eigen::Dynamic> getInitialBlock(const Utils::AtomicGTOs &pA, const Utils::AtomicGTOs &pB) const