pyscf.solvent.hessian package#

Submodules#

pyscf.solvent.hessian.pcm module#

Gradient of PCM family solvent model, copied from GPU4PyCF with modifications

class pyscf.solvent.hessian.pcm.WithSolventHess(hess_method)[source]#

Bases: object

kernel(*args, dm=None, atmlst=None, **kwargs)[source]#
make_h1(mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)[source]#
to_gpu()[source]#
undo_solvent()[source]#
pyscf.solvent.hessian.pcm.analytical_grad_vmat(pcmobj, dm, atmlst=None, verbose=None)[source]#

dv_solv / da

pyscf.solvent.hessian.pcm.analytical_hess_nuc(pcmobj, dm, verbose=None)[source]#
pyscf.solvent.hessian.pcm.analytical_hess_qv(pcmobj, dm, verbose=None)[source]#
pyscf.solvent.hessian.pcm.analytical_hess_solver(pcmobj, dm, verbose=None)[source]#
pyscf.solvent.hessian.pcm.einsum_Adi_ij_Adj_inverseK(Adi_term, K)[source]#
pyscf.solvent.hessian.pcm.einsum_ij_Adj_Adi_inverseK(K, Adj_term)[source]#
pyscf.solvent.hessian.pcm.get_d2D_d2S(surface, with_S=True, with_D=False, stream=None)[source]#

Second derivatives of D matrix and S matrix (offdiagonals only)

pyscf.solvent.hessian.pcm.get_d2F_d2A(surface)[source]#

Notations adopted from J. Chem. Phys. 133, 244111 (2010), Appendix C

pyscf.solvent.hessian.pcm.get_d2Sii(surface, dF, d2F, stream=None)[source]#

Second derivative of S matrix (diagonal only)

pyscf.solvent.hessian.pcm.get_dA_dot_q(dA, q, atmlst)[source]#
pyscf.solvent.hessian.pcm.get_dDT_dot_q(dD, q, atmlst, gridslice, ngrids)[source]#
pyscf.solvent.hessian.pcm.get_dD_dot_q(dD, q, atmlst, gridslice, ngrids)[source]#
pyscf.solvent.hessian.pcm.get_dST_dot_q(dS, dSii, q, atmlst, gridslice)[source]#
pyscf.solvent.hessian.pcm.get_dS_dot_q(dS, dSii, q, atmlst, gridslice)[source]#
pyscf.solvent.hessian.pcm.get_dqsym_dx(pcmobj, dm, atmlst)[source]#
pyscf.solvent.hessian.pcm.get_dqsym_dx_fix_K_R(pcmobj, dm, atmlst)[source]#
pyscf.solvent.hessian.pcm.get_dqsym_dx_fix_vgrids(pcmobj, atmlst)[source]#
pyscf.solvent.hessian.pcm.get_dvgrids(pcmobj, dm, atmlst)[source]#
pyscf.solvent.hessian.pcm.get_v_dot_d2A_dot_q(d2A, v_left, q_right)[source]#
pyscf.solvent.hessian.pcm.get_v_dot_d2DT_dot_q(d2D, v_left, q_right, natom, gridslice)[source]#
pyscf.solvent.hessian.pcm.get_v_dot_d2D_dot_q(d2D, v_left, q_right, natom, gridslice)[source]#
pyscf.solvent.hessian.pcm.get_v_dot_d2ST_dot_q(d2S, d2Sii, v_left, q_right, natom, gridslice)[source]#
pyscf.solvent.hessian.pcm.get_v_dot_d2S_dot_q(d2S, d2Sii, v_left, q_right, natom, gridslice)[source]#
pyscf.solvent.hessian.pcm.gradgrad_switch_h(x)[source]#

2nd derivative of h(x)

pyscf.solvent.hessian.pcm.make_hess_object(hess_method)[source]#

pyscf.solvent.hessian.smd module#

Hessian of SMD solvent model, copied from GPU4PySCF with modification for CPU

class pyscf.solvent.hessian.smd.WithSolventHess(hess_method)[source]#

Bases: object

kernel(*args, dm=None, atmlst=None, **kwargs)[source]#
make_h1(mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)[source]#
to_gpu()[source]#
undo_solvent()[source]#
pyscf.solvent.hessian.smd.get_cds(smdobj)[source]#
pyscf.solvent.hessian.smd.make_hess_object(hess_method)[source]#

For hess_method in vacuum, add nuclear Hessian of solvent smdobj

pyscf.solvent.hessian.smd_experiment module#

Hessian of SMD solvent model (for experiment and education) copied from GPU4PySCF with modification for CPU

pyscf.solvent.hessian.smd_experiment.atomic_surface_tension(symbols, coords, n, alpha, beta, water=True)[source]#

TODO: debug later - list of atomic symbols - atomic coordinates in Anstrong - solvent descriptors: n, alpha, beta

pyscf.solvent.hessian.smd_experiment.hess_swtich_function(R, r, dr)[source]#

Module contents#