def test_1(): a = Atom("Ne", [-1.0, 0.0, 0.0]) b = Atom("Ne", [1.0, 0.0, 0.0]) am = Molecule([a, b]) # Force vector exterted on the first atom TODO, for optimization # purposes, this function should not take atom objects but coords. f = lennard_jones(a, b)
def test_energy(): '''This is made as a test to verify is the potential produced is correct by using correct units and whatever. ''' arr = np.array([[0.0, 0.0, 0.0], [0.30e-9, 0.0, 0.0]]) rs = [] ens = [] myens = [] forces = [] myforces = [] eps, sigma = lj.typetolj['Ar'] for i in range(200): rs.append(arr[1,0]) ens.append(cenergy.lennard_jones(arr, 'Ar', periodic=False)) force = cforces.lennard_jones(arr, 'Ar', periodic=False)[0,0] forces.append(force*1e-32) sonr = sigma/arr[1,0] r = arr[1,0] #print sonr**12, sonr**6 myen = 4*eps*(sonr)**12 - 4*eps*(sonr)**6 myforce = -24*eps*( 2*(sigma**12/r**13) - (sigma**6/r**7) ) myforces.append(myforce*1e-32) myens.append(myen) arr[1,0] += 0.001e-9 print(force, myforce) import pylab as pl pl.plot(rs, ens) pl.plot(rs, myens) pl.plot(rs, myforces) #pl.plot(rs, forces) pl.show()
def test_energy(): '''This is made as a test to verify is the potential produced is correct by using correct units and whatever. ''' arr = np.array([[0.0, 0.0, 0.0], [0.30e-9, 0.0, 0.0]]) rs = [] ens = [] myens = [] forces = [] myforces = [] eps, sigma = lj.typetolj['Ar'] for i in range(200): rs.append(arr[1,0]) ens.append(cenergy.lennard_jones(arr, 'Ar', periodic=False)) force = cforces.lennard_jones(arr, 'Ar', periodic=False)[0,0] forces.append(force*1e-32) sonr = sigma/arr[1,0] r = arr[1,0] #print sonr**12, sonr**6 myen = 4*eps*(sonr)**12 - 4*eps*(sonr)**6 myforce = -24*eps*( 2*(sigma**12/r**13) - (sigma**6/r**7) ) myforces.append(myforce*1e-32) myens.append(myen) arr[1,0] += 0.001e-9 print force, myforce import pylab as pl pl.plot(rs, ens) pl.plot(rs, myens) pl.plot(rs, myforces) #pl.plot(rs, forces) pl.show()