Class GB1DMGridFn

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class GB1DMGridFn : public GB1GridFn

Base class for GB1 grid calculators that use the first-order density matrix coefficients.

Subclassed by GB1DMGridDensityFn, GB1DMGridGradientFn, GB1DMGridHessianFn, GB1DMGridKineticFn, GB1DMGridMGGAFn

Public Functions

GB1DMGridFn(long max_shell_type, long dim_work, long dim_output)
virtual void compute_point_from_dm(double *work_basis, double *dm, long nbasis, double *output, double epsilon, double *dmmaxrow) = 0

Compute the final result on one grid point.

Parameters
  • work_basis: Properties of basis functions computed for the current grid point. (Work done by add method.) (size=nbasis*dim_work)
  • dm: The coefficients of the first-order density matrix. (size=nbasis*nbasis)
  • nbasis: The number of basis functions.
  • output: The output array for the current grid point. (size=dim_output)
  • epsilon: A cutoff value used to discard small contributions.
  • dmmaxrow: The maximum value of the density matrix on each row. (size=nbasis)

virtual void compute_fock_from_pot(double *pot, double *work_basis, long nbasis, double *fock) = 0

Add contribution to Fock matrix from one grid point.

The chain rule is used to transform grid potential data (in one point, see reset method) into a Fock matrix contribution.

Parameters
  • pot: The value of the potential at the grid point. This may be multiple values, e.g in case of GGA, this contains four elements: the functional derivative of the energy w.r.t. the density and the components of the gradient. (size=dim_output)
  • work_basis: Properties of the orbital basis in the current grid point, typically the value of the basis function and optionally first or second derivatives toward x, y and z, all evaluated in point (see reset method). (size=nbasis*dim_work)
  • nbasis: The number of basis functions.
  • fock: The Fock matrix to which the result will be added. (size=nbasis*nbasis)