Source code for gamdpy.interactions.potential_functions.cos_angle_function

import numpy as np 
import numba 
import math 
from numba import cuda

   


[docs] def cos_angle_function(angle, params): r"""Cosine angle potential, .. math:: u(\theta) = \frac{k}{2} (\cos(\theta) - \cos(\theta_0))^2 Parameters ---------- theta : float Angle (radians). params : array-like [theta_0, k] Angle of minimum energy (zero force)) and spring constant. See Also -------- gamdpy.harmonic_angle_function """ angle0, kspring = params[0], params[1] cos_angle_0 = math.cos(angle0) cos_angle = math.cos(angle) dcos_angle = cos_angle - cos_angle_0 f = -kspring*dcos_angle u = numba.float32(0.5)*kspring*dcos_angle**2 return u, f