QM_Wrapper Submodule¶
janus.qm_wrapper.QMWrapper(class_type) |
|
janus.qm_wrapper.Psi4Wrapper([method, …]) |
A wrapper class that calls Psi4 to obtain quantum mechanical information. |
QMWrapper¶
-
class
janus.qm_wrapper.QMWrapper(class_type)¶ Bases:
abc.ABCbuild_qm_param()Function implemented in individual child classes compute_info()Function implemented in individual child classes convert_input()Function not implemented for QM wrappers convert_trajectory()Function not implemented for QM wrappers get_energy_and_gradient([traj, geometry, …])Gets the energy and gradient from a QM computation of the primary subsystem get_geom_from_trajectory([qm_traj])Obtains geometry information from an MDtrah trajectory object. get_main_charges()Function not implemented for QM wrappers get_main_info()Function not implemented for QM wrappers initialize()Function not implemented for QM wrappers optimize_geometry()Function implemented in individual child classes set_external_charges()Function not implemented for QM wrappers set_qm_geometry(geom)Sets self.qm_geometry as geom set_up_reporters()Function not implemented for QM wrappers take_step(force)Function not implemented for QM wrappers Attributes
-
build_qm_param()¶ Function implemented in individual child classes
-
compute_info()¶ Function implemented in individual child classes
-
convert_input()¶ Function not implemented for QM wrappers
-
convert_trajectory()¶ Function not implemented for QM wrappers
-
get_energy_and_gradient(traj=None, geometry=None, include_coulomb='all', link_atoms=None, minimize=False, charges=None)¶ Gets the energy and gradient from a QM computation of the primary subsystem
Parameters: - traj (MDtraj trajectory object) – A trajectory object from which to extract geometry information if geometry is None
- geometry (str) – A string containing geometry information as XYZ coordinates. Default is None.
- include_coulomb (str) – whether to include coulombic interactions. Not applicable for QM programs
- link_atoms (list) – indices of link_atoms
- minimize (bool) – whether to return the geometry optimized energy
- charges (list) – charges and corresponding positions in angstroms as xyz coordinates
Returns: A dictionary with energy(‘energy’) and gradient(‘gradients’) information
Return type: dict
Examples
>>> get_energy_and_gradient(traj=mdtraj, geometry=None)
-
get_geom_from_trajectory(qm_traj=None)¶ Obtains geometry information from an MDtrah trajectory object.
Parameters: qm_traj (MDtraj object) – describes just the primary subsystem, default is None
-
get_main_charges()¶ Function not implemented for QM wrappers
-
get_main_info()¶ Function not implemented for QM wrappers
-
initialize()¶ Function not implemented for QM wrappers
-
optimize_geometry()¶ Function implemented in individual child classes
-
set_external_charges()¶ Function not implemented for QM wrappers
-
set_qm_geometry(geom)¶ Sets self.qm_geometry as geom
Parameters: geom (str) – A str containing an XYZ coordinate
-
set_up_reporters()¶ Function not implemented for QM wrappers
-
take_step(force)¶ Function not implemented for QM wrappers
-
Psi4Wrapper¶
-
class
janus.qm_wrapper.Psi4Wrapper(method='scf', charge=0, multiplicity=1, reference='rhf', basis='STO-3G', e_convergence=1e-08, d_convergence=1e-08, sys_info=None, sys_info_format=None, **kwargs)¶ Bases:
janus.qm_wrapper.qm_wrapper.QMWrapperA wrapper class that calls Psi4 to obtain quantum mechanical information. Class inherits from QMWrapper.
build_qm_param()Builds a dictionary of QM parameters from input options and saves as self.param compute_energy()Calls Psi4 to obtain the energy and Psi4 wavefunction object of the QM region and saves as self.energy and self.wavefunction compute_energy_and_charges([charge_method])Calls Psi4 to obtain the self.energy, self.wavefunction, and self.charges on each atom. compute_gradient()Calls Psi4 to obtain the gradient of the QM region and saves it as a numpy array self.gradient compute_info()Calls Psi4 to obtain the energy, Psi4 wavefunction object, and gradient of the QM region and saves as self.energy, self.wavefuction, and self.gradient compute_scf_charges([charge_method])Calls Psi4 to obtain the self.charges on each atom given and saves it as a numpy array. convert_input()Function not implemented for QM wrappers convert_trajectory()Function not implemented for QM wrappers get_energy_and_gradient([traj, geometry, …])Gets the energy and gradient from a QM computation of the primary subsystem get_geom_from_trajectory([qm_traj])Obtains geometry information from an MDtrah trajectory object. get_main_charges()Function not implemented for QM wrappers get_main_info()Function not implemented for QM wrappers initialize()Function not implemented for QM wrappers optimize_geometry()Calls Psi4 to obtain a geometry optimized geometry set_external_charges()Function not implemented for QM wrappers set_qm_geometry(geom)Sets self.qm_geometry as geom set_up_psi4()Sets up a psi4 computation set_up_reporters()Function not implemented for QM wrappers take_step(force)Function not implemented for QM wrappers Attributes
-
build_qm_param()¶ Builds a dictionary of QM parameters from input options and saves as self.param
-
compute_energy()¶ Calls Psi4 to obtain the energy and Psi4 wavefunction object of the QM region and saves as self.energy and self.wavefunction
-
compute_energy_and_charges(charge_method='MULLIKEN_CHARGES')¶ Calls Psi4 to obtain the self.energy, self.wavefunction, and self.charges on each atom. This method for correlated methods.
Note
Think about passing in wavefunction instead of calling for energy and wavefunction
-
compute_gradient()¶ Calls Psi4 to obtain the gradient of the QM region and saves it as a numpy array self.gradient
-
compute_info()¶ Calls Psi4 to obtain the energy, Psi4 wavefunction object, and gradient of the QM region and saves as self.energy, self.wavefuction, and self.gradient
-
compute_scf_charges(charge_method='MULLIKEN_CHARGES')¶ Calls Psi4 to obtain the self.charges on each atom given and saves it as a numpy array. This method works well for SCF wavefunctions. For correlated levels of theory (e.g., MP2), it is advised that compute_energy_and_charges() be used instead.
-
optimize_geometry()¶ Calls Psi4 to obtain a geometry optimized geometry
Returns: XYZ coordinates of the optimized geometry Return type: numpy array
-
set_up_psi4()¶ Sets up a psi4 computation
-