예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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()
예제 #4
0
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()