qiskit.chemistry.algorithms.pes_samplers.MorsePotential
class MorsePotential(molecule)
Implements a 1D Morse potential.
Input units are Angstroms (distance between the two atoms), and output units are Hartrees (molecular energy).
Initializes the potential to the zero-function. fit()
should be used afterwards to fit the potential to computed molecular energies.
Parameters
molecule (Molecule
) – the underlying molecule.
Raises
ValueError – Only implemented for diatomic molecules
__init__
__init__(molecule)
Initializes the potential to the zero-function. fit()
should be used afterwards to fit the potential to computed molecular energies.
Parameters
molecule (Molecule
) – the underlying molecule.
Raises
ValueError – Only implemented for diatomic molecules
Methods
__init__ (molecule) | Initializes the potential to the zero-function. |
dissociation_energy ([scaling]) | Returns the calculated dissociation energy for the current fit. |
eval (x) | After fitting the data to the fit function, predict the energy at a point x. |
fit (xdata, ydata[, initial_vals, bounds_list]) | Fits a potential to computed molecular energies. |
fit_function (x, d_e, alpha, r_0, m_shift) | Functional form of the potential. |
fundamental_frequency () | Returns the fundamental frequency for the current fit (in s^-1). |
get_equilibrium_geometry ([scaling]) | Returns the interatomic distance corresponding to minimal energy. |
get_maximum_trusted_level ([n]) | Returns the maximum energy level for which the particular implementation still provides a good approximation of reality. |
get_minimal_energy ([scaling]) | Returns the smallest molecular energy for the current fit. |
get_num_modes () | This (1D) potential represents a single vibrational mode |
get_trust_region () | The potential will usually be well-defined (even if not useful) for arbitrary x so we return a fairly large interval here. |
update_molecule (molecule) | Updates the underlying molecule. |
vibrational_energy_level (n) | Returns the n-th vibrational energy level for the current fit (in Hartrees). |
wave_number () | Returns the wave number for the current fit (in cm^-1). |
dissociation_energy
dissociation_energy(scaling=1.0)
Returns the calculated dissociation energy for the current fit.
Parameters
scaling (float
) – Scaling to change units. (Default is 1.0 for Hartrees)
Return type
float
Returns
calculated dissociation energy for the current fit
eval
eval(x)
After fitting the data to the fit function, predict the energy at a point x.
Parameters
x (float
) – value to evaluate surface in
Return type
float
Returns
value of surface in point x
fit
fit(xdata, ydata, initial_vals=None, bounds_list=None)
Fits a potential to computed molecular energies.
Parameters
- xdata (
List
[float
]) – interatomic distance points (Angstroms) - ydata (
List
[float
]) – molecular energies (Hartrees) - initial_vals (
Optional
[List
[float
]]) – Initial values for fit parameters. None for default. Order of parameters is d_e, alpha, r_0 and m_shift (see fit_function implementation) - bounds_list (
Optional
[Tuple
[List
[float
],List
[float
]]]) – Bounds for the fit parameters. None for default. Order of parameters is d_e, alpha, r_0 and m_shift (see fit_function implementation)
Return type
None
fit_function
static fit_function(x, d_e, alpha, r_0, m_shift)
Functional form of the potential.
Parameters
- x (
float
) – x parameter of morse potential - d_e (
float
) – d_e parameter of morse potential - alpha (
float
) – alpha parameter of morse potential - r_0 (
float
) – r_0 parameter of morse potential - m_shift (
float
) – m_shift parameter of morse potential
Return type
float
Returns
potential functional form
fundamental_frequency
fundamental_frequency()
Returns the fundamental frequency for the current fit (in s^-1).
Return type
float
Returns
fundamental frequency for the current fit
get_equilibrium_geometry
get_equilibrium_geometry(scaling=1.0)
Returns the interatomic distance corresponding to minimal energy.
Parameters
scaling (float
) – Scaling to change units. (Default is 1.0 for Angstroms)
Return type
float
Returns
interatomic distance corresponding to minimal energy
get_maximum_trusted_level
get_maximum_trusted_level(n=0)
Returns the maximum energy level for which the particular implementation still provides a good approximation of reality.
Parameters
n (int
) – vibronic mode
Return type
float
Returns
maximum_trusted_level estimated
get_minimal_energy
get_minimal_energy(scaling=1.0)
Returns the smallest molecular energy for the current fit.
Parameters
scaling (float
) – Scaling to change units. (Default is 1.0 for Hartrees)
Return type
float
Returns
smallest molecular energy for the current fit
get_num_modes
get_num_modes()
This (1D) potential represents a single vibrational mode
Return type
int
get_trust_region
get_trust_region()
The potential will usually be well-defined (even if not useful) for arbitrary x so we return a fairly large interval here. Redefine in derived classes if needed.
Return type
Tuple
[float
, float
]
update_molecule
update_molecule(molecule)
Updates the underlying molecule.
Parameters
molecule (Molecule
) – chemistry molecule
Raises
ValueError – Only implemented for diatomic molecules
Return type
None
vibrational_energy_level
vibrational_energy_level(n)
Returns the n-th vibrational energy level for the current fit (in Hartrees).
Parameters
n (int
) – vibrational mode
Return type
float
Returns
vibrational energy level for the current fit
wave_number
wave_number()
Returns the wave number for the current fit (in cm^-1).
Return type
float
Returns
wave number for the current fit