32 #ifndef SRC_APPS_CHEM_PCM_H_
33 #define SRC_APPS_CHEM_PCM_H_
42 #ifdef MADNESS_HAS_PCM
43 #include <PCMSolver/pcmsolver.h>
74 const bool dynamic=
false)
const;
80 #ifdef MADNESS_HAS_PCM
82 std::shared_ptr<pcmsolver_context_t> pcm_context;
85 PCMInput pcmsolver_input()
const;
Definition: molecule.h:124
interface class to the PCMSolver library
Definition: pcm.h:52
std::string mep_lbl
file name for the total (nuclear + electronic) molecular electronic potential
Definition: pcm.h:103
Tensor< double > charges
nuclear charges of the molecule, needs to be memory controlled by the PCM class
Definition: pcm.h:100
std::string asc_lbl
file name for the total (nuclear + electronic) apparent surface charge
Definition: pcm.h:106
Tensor< int > symmetry_info
symmetry info for PCM, needs to be memory controlled by the PCM class
Definition: pcm.h:94
real_function_3d compute_pcm_potential(const real_function_3d &coulomb_potential, const bool dynamic=false) const
compute the potential induced by the surrounding solvent
Definition: pcm.cc:279
PCM()=default
default ctor
double compute_pcm_energy() const
compute the PCM energy based on the most recent call of compute_pcm_potential
Definition: pcm.cc:286
Tensor< double > coordinates
molecular coordinates, needs to be memory controlled by the PCM class
Definition: pcm.h:97
Tensor< double > nuclear_mep(int nr_nuclei, const Tensor< double > &charges, const Tensor< double > &coordinates, const int grid_size, const Tensor< double > &grid) const
compute the molecular electrostatic potential from the nuclei
Definition: pcm.cc:291
A parallel world class.
Definition: world.h:132
Provides typedefs to hide use of templates and to increase interoperability.
File holds all helper structures necessary for the CC_Operator and CC2 class.
Definition: DFParameters.h:10
Defines and implements most of Tensor.
Implement the madness:Vector class, an extension of std::array that supports some mathematical operat...