pyscf.hessian package#

Submodules#

pyscf.hessian.dispersion module#

Hessian of dispersion correction for HF and DFT

pyscf.hessian.dispersion.get_dispersion(hessobj, disp=None, with_3body=None)[source]#

pyscf.hessian.rhf module#

Non-relativistic RHF analytical Hessian

class pyscf.hessian.rhf.Hessian(scf_method)[source]#

Bases: HessianBase

hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, mo1=None, mo_e1=None, h1ao=None, atmlst=None, max_memory=4000, verbose=None)#
make_h1(mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)#
partial_hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)#

Partial derivative

class pyscf.hessian.rhf.HessianBase(scf_method)[source]#

Bases: StreamObject

Non-relativistic restricted Hartree-Fock hessian

gen_hop(mo_energy=None, mo_coeff=None, mo_occ=None, verbose=None)#
get_dispersion(disp=None, with_3body=None)#
get_hcore(mol=None)[source]#
hcore_generator(mol=None)[source]#
hess(mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None)#

Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).

hess_elec(*args, **kwargs)[source]#
hess_nuc(mol=None, atmlst=None)[source]#
kernel(mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None)[source]#

Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).

level_shift = 0#
make_h1(*args, **kwargs)[source]#
max_cycle = 50#
solve_mo1(mo_energy, mo_coeff, mo_occ, h1ao_or_chkfile, fx=None, atmlst=None, max_memory=4000, verbose=None)[source]#
to_gpu()[source]#
pyscf.hessian.rhf.gen_hop(hobj, mo_energy=None, mo_coeff=None, mo_occ=None, verbose=None)[source]#
pyscf.hessian.rhf.gen_vind(mf, mo_coeff, mo_occ)[source]#
pyscf.hessian.rhf.get_hcore(mol)[source]#

Part of the second derivatives of core Hamiltonian

pyscf.hessian.rhf.get_ovlp(mol)[source]#
pyscf.hessian.rhf.hess_elec(hessobj, mo_energy=None, mo_coeff=None, mo_occ=None, mo1=None, mo_e1=None, h1ao=None, atmlst=None, max_memory=4000, verbose=None)[source]#
pyscf.hessian.rhf.hess_nuc(mol, atmlst=None)[source]#
pyscf.hessian.rhf.make_h1(hessobj, mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)[source]#
pyscf.hessian.rhf.partial_hess_elec(hessobj, mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)[source]#

Partial derivative

pyscf.hessian.rhf.solve_mo1(mf, mo_energy, mo_coeff, mo_occ, h1ao_or_chkfile, fx=None, atmlst=None, max_memory=4000, verbose=None, max_cycle=50, level_shift=0)[source]#

Solve the first order equation

Kwargs:
fxfunction(dm_mo) => v1_mo

A function to generate the induced potential. See also the function gen_vind.

pyscf.hessian.rks module#

Non-relativistic RKS analytical Hessian

class pyscf.hessian.rks.Hessian(mf)[source]#

Bases: HessianBase

Non-relativistic RKS hessian

hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, mo1=None, mo_e1=None, h1ao=None, atmlst=None, max_memory=4000, verbose=None)#
make_h1(mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)#
partial_hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)#
pyscf.hessian.rks.make_h1(hessobj, mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)[source]#
pyscf.hessian.rks.partial_hess_elec(hessobj, mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)[source]#

pyscf.hessian.thermo module#

Thermochemistry analysis.

Ref:

psi4/psi4/driver/qcdb/vib.py http://gaussian.com/vib/

pyscf.hessian.thermo.dump_normal_mode(mol, results)[source]#
pyscf.hessian.thermo.dump_thermo(mol, results)[source]#
pyscf.hessian.thermo.harmonic_analysis(mol, hess, exclude_trans=True, exclude_rot=True, imaginary_freq=True, mass=None)[source]#

Each column is one mode

imaginary_freq (boolean): save imaginary_freq as complex number (if True) or negative real number (if False)

pyscf.hessian.thermo.rotation_const(mass, atom_coords, unit='GHz')[source]#

Rotational constants to characterize rotational spectra

Kwargs:

unit (string) : One of GHz, wavenumber

pyscf.hessian.thermo.rotational_symmetry_number(mol)[source]#

Number of unique orientations of the rigid molecule that only interchange identical atoms.

Source http://cccbdb.nist.gov/thermo.asp (search “symmetry number”)

pyscf.hessian.thermo.thermo(model, freq, temperature=298.15, pressure=101325)[source]#

pyscf.hessian.uhf module#

Non-relativistic UHF analytical Hessian

class pyscf.hessian.uhf.Hessian(scf_method)[source]#

Bases: HessianBase

Non-relativistic UHF hessian

gen_hop(mo_energy=None, mo_coeff=None, mo_occ=None, verbose=None)#
hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, mo1=None, mo_e1=None, h1ao=None, atmlst=None, max_memory=4000, verbose=None)#
make_h1(mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)#
partial_hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)#
solve_mo1(mo_energy, mo_coeff, mo_occ, h1ao_or_chkfile, fx=None, atmlst=None, max_memory=4000, verbose=None)[source]#
pyscf.hessian.uhf.gen_hop(hobj, mo_energy=None, mo_coeff=None, mo_occ=None, verbose=None)[source]#
pyscf.hessian.uhf.gen_vind(mf, mo_coeff, mo_occ)[source]#
pyscf.hessian.uhf.hess_elec(hessobj, mo_energy=None, mo_coeff=None, mo_occ=None, mo1=None, mo_e1=None, h1ao=None, atmlst=None, max_memory=4000, verbose=None)[source]#
pyscf.hessian.uhf.make_h1(hessobj, mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)[source]#
pyscf.hessian.uhf.partial_hess_elec(hessobj, mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)[source]#
pyscf.hessian.uhf.solve_mo1(mf, mo_energy, mo_coeff, mo_occ, h1ao_or_chkfile, fx=None, atmlst=None, max_memory=4000, verbose=None, max_cycle=50, level_shift=0)[source]#

pyscf.hessian.uks module#

Non-relativistic UKS analytical Hessian

class pyscf.hessian.uks.Hessian(mf)[source]#

Bases: HessianBase

Non-relativistic UKS hessian

gen_hop(mo_energy=None, mo_coeff=None, mo_occ=None, verbose=None)#
hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, mo1=None, mo_e1=None, h1ao=None, atmlst=None, max_memory=4000, verbose=None)#
make_h1(mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)#
partial_hess_elec(mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)#
solve_mo1(mo_energy, mo_coeff, mo_occ, h1ao_or_chkfile, fx=None, atmlst=None, max_memory=4000, verbose=None)[source]#
pyscf.hessian.uks.make_h1(hessobj, mo_coeff, mo_occ, chkfile=None, atmlst=None, verbose=None)[source]#
pyscf.hessian.uks.partial_hess_elec(hessobj, mo_energy=None, mo_coeff=None, mo_occ=None, atmlst=None, max_memory=4000, verbose=None)[source]#

Module contents#