occ
Loading...
Searching...
No Matches
cosmo_kernel.h File Reference
#include <Eigen/LU>
#include <occ/core/linear_algebra.h>
Include dependency graph for cosmo_kernel.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  occ::scrf::detail::CosmoResponse
 Pre-solved CPCM/COSMO response operator on a cavity, driven by atom- centred point-charge sources. More...
 

Namespaces

namespace  occ
 
namespace  occ::scrf
 
namespace  occ::scrf::detail
 Self-consistent reaction-field (SCRF) primitives shared between the HF/DFT-side occ::solvent::COSMO driver and the xTB-side CPCM-X / SMD implicit-solvation models.
 

Functions

Mat occ::scrf::detail::build_cosmo_A (const Mat3N &cavity_points, const Vec &cavity_areas)
 Build the dense COSMO A matrix on a discretised cavity: A(i, j) = 1/|r_i − r_j|, off-diagonal A(i, i) = 1.07·√(4π/S_i) ≈ 3.793051240937804 / √S_i cavity_points is 3 × ncav (Bohr), cavity_areas is ncav (Bohr²).
 
Mat occ::scrf::detail::build_atom_cavity_coulomb (const Mat3N &cavity_points, const Mat3N &atom_positions)
 Build the atom↔cavity Coulomb operator B(i, a) = 1/|r_i − R_a|.
 
CosmoResponse occ::scrf::detail::build_cosmo_response (const Mat3N &atom_positions_bohr, const Mat3N &cavity_points, const Vec &cavity_areas, double epsilon, double x)
 Build the pre-solved response.
 
Mat3N occ::scrf::detail::cosmo_gradient_frozen (const Mat3N &atom_positions_bohr, const Mat3N &cavity_points, const Vec &cavity_areas, const IVec &cavity_atom_index, const Vec &atom_charges, const Vec &sigma, double f_epsilon, const Vec &atom_radii_bohr=Vec(), double smoothing_width_bohr=0.0)
 Frozen-cavity analytical gradient of the polarisation energy with respect to atomic positions: