File VuvB.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
namespace multipole
class VuvB
#include <VuvB.h>

This class returns the \(V_{\mu\nu,B}\) terms needed in semi-empirical methods.

Public Types

using orb_index_t = Global2c2eMatrix::orb_index_t
using orbPair_index_t = Global2c2eMatrix::orbPair_index_t

Public Functions

VuvB(int l1)
template<Utils::derivOrder O>
void calculate(const Eigen::Vector3d &Rab, const ChargeSeparationParameter &D1, const KlopmanParameter &rho1, double pcore, double ZB)
double get(orb_index_t o1, orb_index_t o2) const
double get(orbPair_index_t op1) const
template<Utils::derivativeType O>
Utils::AutomaticDifferentiation::DerivativeType<O> getDerivative(orb_index_t o1, orb_index_t o2) const