14 #ifndef __ESInterface_ESInterface_h__
15 #define __ESInterface_ESInterface_h__
34 using Atoms = std::vector<Atom>;
70 std::reference_wrapper<std::ostream>
err;
Tensor< T > reshape(int ndimnew, const long *d)
Returns new view/tensor reshaping size/number of dimensions to conforming tensor.
Definition: tensor.h:1384
Abstract base class for interfacing with electronic structure codes.
Definition: ESInterface.h:56
madness::Tensor< double > my_beta_MOs
Beta molecular orbital expansions coefficients. Column is the MO, row is the basis function.
Definition: ESInterface.h:66
ES_Interface(ES_Interface &&es)
Move constructor.
Definition: ESInterface.h:91
madness::Tensor< double > my_occupancies
Alpha molecular orbital occupancies.
Definition: ESInterface.h:64
ES_Interface(std::ostream &err_)
Constructor that sets the error/warning stream and the references.
Definition: ESInterface.h:119
Properties::Properties my_properties
The properties that have been read.
Definition: ESInterface.h:58
const madness::Tensor< double > & MOs
Publically accessible alpha MO expansions coefficients. Column is the MO, row is the basis function.
Definition: ESInterface.h:76
madness::Tensor< double > my_beta_energies
Beta molecular orbital energies.
Definition: ESInterface.h:65
const madness::Tensor< double > & beta_occupancies
Publically accessible list of beta MO occupancies (in eV).
Definition: ESInterface.h:80
const madness::Tensor< double > & beta_energies
Publically accessible list of beta MO energies (in eV).
Definition: ESInterface.h:78
const madness::Tensor< double > & energies
Publically accessible list of alpha MO energies.
Definition: ESInterface.h:75
const Properties::Properties & properties
Publically accessible list of read properties.
Definition: ESInterface.h:71
const Atoms & atoms
Publically accessible list of atoms.
Definition: ESInterface.h:73
const unsigned int & lineardeps
Publically accessible number of linear dependencies.
Definition: ESInterface.h:74
virtual void read(Properties::Properties props)=0
Read the specified properties and store them in the member variables.
madness::Tensor< double > my_energies
Alpha molecular orbital energies.
Definition: ESInterface.h:62
ES_Interface()=delete
No default constructor.
void reset()
Reset the interface.
Definition: ESInterface.h:131
const madness::Tensor< double > & beta_MOs
Publically accessible beta MO expansions coefficients. Column is the MO, row is the basis function.
Definition: ESInterface.h:79
Atoms my_atoms
The atoms (symbols and positions, in angstroms).
Definition: ESInterface.h:60
unsigned int my_lineardeps
Number of linear dependencies in the basis.
Definition: ESInterface.h:61
const BasisSet & basis_set
Publicly accessible basis set.
Definition: ESInterface.h:72
std::reference_wrapper< std::ostream > err
Output stream for messages.
Definition: ESInterface.h:70
madness::Tensor< double > my_beta_occupancies
Beta molecular orbital occupancies.
Definition: ESInterface.h:67
const madness::Tensor< double > & occupancies
Publically accessible list of alpha MO occupancies (in eV).
Definition: ESInterface.h:77
ES_Interface(const ES_Interface &es)
Copy constructor.
Definition: ESInterface.h:105
BasisSet my_basis_set
The basis set.
Definition: ESInterface.h:59
virtual ~ES_Interface()=default
madness::Tensor< double > my_MOs
Alpha molecular orbital expansions coefficients. Column is the MO, row is the basis function.
Definition: ESInterface.h:63
Main include file for MADNESS and defines Function interface.
constexpr Properties Occupancies
MO occupancies.
Definition: ESInterface.h:52
constexpr Properties MOs
The MO vector coefficients.
Definition: ESInterface.h:51
constexpr Properties None
No properties.
Definition: ESInterface.h:47
std::bitset< 5 > Properties
Different properties that can be read from electronic structure codes.
Definition: ESInterface.h:45
constexpr Properties Energies
The MO energies.
Definition: ESInterface.h:50
constexpr Properties Basis
The basis set.
Definition: ESInterface.h:48
std::vector< std::reference_wrapper< BasisFunction > > BasisSet
Type for a basis set (collection of basis functions).
Definition: basis.h:40
std::vector< Atom > Atoms
A set of atoms.
Definition: ESInterface.h:34
An atom (symbol and position).
Definition: ESInterface.h:28
std::string symbol
The atom's symbol.
Definition: ESInterface.h:29
std::array< double, 3 > position
The atom's location, in angstroms.
Definition: ESInterface.h:30