MullerBrown

List of Methods

class taps.models.mullerbrown.MullerBrown(results=None, label=None, prj=None, _cache=None, unit='eV')

Muller Brown Potential

\[\begin{equation} V\left(x,y\right) = \sum_{\mu=1}^{4}{A_\mu e^{a_\mu \left(x-x_\mu^0\right)^2 + b_\mu \left(x-x_\mu^0\right) \left(y-y_\mu^0\right) + c_\mu\left(y-y_\mu^0\right)^2}} \end{equation}\]
  • Initial position = (-0.55822365, 1.44172582)

  • Final position = (0.6234994, 0.02803776)

Parameters:
  • np.array([-200 (A =) –

  • -100

  • -170

  • 15])

  • np.array([-1 (a =) –

  • -1

  • -6.5

  • 0.7])

  • np.array([0 (y0 =) –

  • 0

  • 11

  • 0.6])

  • np.array([-10 (c =) –

  • -10

  • -6.5

  • 0.7])

  • np.array([1 (x0 =) –

  • 0

  • -0.5

  • -1])

  • np.array([0

  • 0.5

  • 1.5

  • 1])

  • 'unitless' (potential_unit =) –

Example

>>> import numpy as np
>>> N = 300
>>> x = np.linspace(-0.55822365, 0.6234994, N)
>>> y = np.linspace(1.44172582, 0.02803776, N)
>>> paths.coords = np.array([x, y])

Methods

__call__(coords)

Call self as a function.

calculate(coords[, properties])

x : N shape array y : N shape array return D x N

generate_unique_hash(positions)

return string that explains current calculation

get_properties([paths, properties, index, ...])

pre-calculation rutine.

get_covariance

get_directory

get_finite_gradients

get_finite_hessian

get_forces

get_gradient

get_gradients

get_hessian

get_label

get_potential

get_potential_energies

get_potential_energy

get_potentials

get_state_info

save

calculate(coords, properties=['potential'], **kwargs)

x : N shape array y : N shape array return D x N