Psi4
Public Member Functions | Protected Attributes | List of all members
psi::ExternalPotential Class Reference

#include <extern.h>

Public Member Functions

 ExternalPotential ()
 Constructur, does nothing. More...
 
 ~ExternalPotential ()
 Destructor, does nothing. More...
 
void setName (const std::string &name)
 Set name. More...
 
void addCharge (double Z, double x, double y, double z)
 Add a charge Z at (x,y,z) More...
 
void addBasis (std::shared_ptr< BasisSet > basis, SharedVector coefs)
 Add a basis of S auxiliary functions with DF coefficients. More...
 
void clear ()
 Reset the field to zero (eliminates all entries) More...
 
SharedMatrix computePotentialMatrix (std::shared_ptr< BasisSet > basis)
 Compute the external potential matrix in the given basis set. More...
 
SharedMatrix computePotentialGradients (std::shared_ptr< BasisSet > basis, std::shared_ptr< Matrix > Dt)
 Compute the gradients due to the external potential. More...
 
double computeNuclearEnergy (std::shared_ptr< Molecule > mol)
 Compute the contribution to the nuclear repulsion energy for the given molecule. More...
 
void print (std::string OutFileRMR="outfile") const
 Print a trace of the external potential. More...
 
void py_print () const
 Python print helper. More...
 
void set_print (int print)
 Print flag. More...
 
void set_debug (int debug)
 Debug flag. More...
 

Protected Attributes

int debug_
 Debug flag. More...
 
int print_
 Print flag. More...
 
std::string name_
 Name of potential. More...
 
std::vector< std::tuple
< double, double, double,
double > > 
charges_
 <Z,x,y,z> array of charges More...
 
std::vector< std::pair
< std::shared_ptr< BasisSet >
, SharedVector > > 
bases_
 Auxiliary basis sets (with accompanying molecules and coefs) of diffuse charges. More...
 

Detailed Description

Stores external potential field, computes external potential matrix Like standard potential integrals, this is negative definite (electrons are the test charge)

Constructor & Destructor Documentation

psi::ExternalPotential::ExternalPotential ( )

Constructur, does nothing.

psi::ExternalPotential::~ExternalPotential ( )

Destructor, does nothing.

Member Function Documentation

void psi::ExternalPotential::addBasis ( std::shared_ptr< BasisSet basis,
SharedVector  coefs 
)

Add a basis of S auxiliary functions with DF coefficients.

void psi::ExternalPotential::addCharge ( double  Z,
double  x,
double  y,
double  z 
)

Add a charge Z at (x,y,z)

void psi::ExternalPotential::clear ( )

Reset the field to zero (eliminates all entries)

double psi::ExternalPotential::computeNuclearEnergy ( std::shared_ptr< Molecule mol)

Compute the contribution to the nuclear repulsion energy for the given molecule.

SharedMatrix psi::ExternalPotential::computePotentialGradients ( std::shared_ptr< BasisSet basis,
std::shared_ptr< Matrix Dt 
)

Compute the gradients due to the external potential.

SharedMatrix psi::ExternalPotential::computePotentialMatrix ( std::shared_ptr< BasisSet basis)

Compute the external potential matrix in the given basis set.

void psi::ExternalPotential::print ( std::string  OutFileRMR = "outfile") const

Print a trace of the external potential.

void psi::ExternalPotential::py_print ( ) const
inline

Python print helper.

void psi::ExternalPotential::set_debug ( int  debug)
inline

Debug flag.

void psi::ExternalPotential::set_print ( int  print)
inline

Print flag.

void psi::ExternalPotential::setName ( const std::string &  name)
inline

Set name.

Member Data Documentation

std::vector<std::pair<std::shared_ptr<BasisSet>, SharedVector> > psi::ExternalPotential::bases_
protected

Auxiliary basis sets (with accompanying molecules and coefs) of diffuse charges.

std::vector<std::tuple<double,double,double,double> > psi::ExternalPotential::charges_
protected

<Z,x,y,z> array of charges

int psi::ExternalPotential::debug_
protected

Debug flag.

std::string psi::ExternalPotential::name_
protected

Name of potential.

int psi::ExternalPotential::print_
protected

Print flag.


The documentation for this class was generated from the following files: