tersoff MAYBE fixed now!
[physik/posic.git] / potentials / lennard_jones.c
index 7d45a17..1277c46 100644 (file)
@@ -16,8 +16,8 @@
 #include <math.h>
 
 #include "../moldyn.h"
-#inlcude "../math/math.h"
-//#include "lennard_jones.h"
+#include "../math/math.h"
+#include "lennard_jones.h"
 
 int lennard_jones(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc) {
 
@@ -26,7 +26,7 @@ int lennard_jones(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc) {
        double d,h1,h2;
        double eps,sig6,sig12;
 
-       params=moldyn->pot2b_params;
+       params=moldyn->pot_params;
        eps=params->epsilon4;
        sig6=params->sigma6;
        sig12=params->sigma12;
@@ -35,10 +35,11 @@ int lennard_jones(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc) {
 
        v3_sub(&distance,&(aj->r),&(ai->r));
        if(bc) check_per_bound(moldyn,&distance);
-       d=v3_absolute_square(&distance);        /* 1/r^2 */
+       d=v3_absolute_square(&distance);        /* r^2 */
        if(d<=moldyn->cutoff_square) {
                d=1.0/d;                        /* 1/r^2 */
                h2=d*d;                         /* 1/r^4 */
+               h2*=d;                          /* 1/r^6 */
                h1=h2*h2;                       /* 1/r^12 */
                moldyn->energy+=(eps*(sig12*h1-sig6*h2)-params->uc);
                h2*=d;                          /* 1/r^8 */