improved log/report subsystem, playing around w/ pressure, sic hook
[physik/posic.git] / potentials / tersoff.c
index 01364ea..16f771c 100644 (file)
@@ -211,12 +211,13 @@ int tersoff_mult_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc) {
        v3_add(&(ai->f),&(ai->f),&force);
 
        /* virial */
-       ai->virial.xx-=force.x*dist_ij.x;
-       ai->virial.yy-=force.y*dist_ij.y;
-       ai->virial.zz-=force.z*dist_ij.z;
-       ai->virial.xy-=force.x*dist_ij.y;
-       ai->virial.xz-=force.x*dist_ij.z;
-       ai->virial.yz-=force.y*dist_ij.z;
+       virial_calc(ai,&force,&dist_ij);
+       //ai->virial.xx-=force.x*dist_ij.x;
+       //ai->virial.yy-=force.y*dist_ij.y;
+       //ai->virial.zz-=force.z*dist_ij.z;
+       //ai->virial.xy-=force.x*dist_ij.y;
+       //ai->virial.xz-=force.x*dist_ij.z;
+       //ai->virial.yz-=force.y*dist_ij.z;
 
 #ifdef DEBUG
 if(ai==&(moldyn->atom[0])) {
@@ -326,12 +327,13 @@ int tersoff_mult_post_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc) {
        v3_add(&(ai->f),&(ai->f),&force);
 
        /* virial */
-       ai->virial.xx-=force.x*dist_ij->x;
-       ai->virial.yy-=force.y*dist_ij->y;
-       ai->virial.zz-=force.z*dist_ij->z;
-       ai->virial.xy-=force.x*dist_ij->y;
-       ai->virial.xz-=force.x*dist_ij->z;
-       ai->virial.yz-=force.y*dist_ij->z;
+       virial_calc(ai,&force,dist_ij);
+       //ai->virial.xx-=force.x*dist_ij->x;
+       //ai->virial.yy-=force.y*dist_ij->y;
+       //ai->virial.zz-=force.z*dist_ij->z;
+       //ai->virial.xy-=force.x*dist_ij->y;
+       //ai->virial.xz-=force.x*dist_ij->z;
+       //ai->virial.yz-=force.y*dist_ij->z;
 
 #ifdef DEBUG
 if(ai==&(moldyn->atom[0])) {
@@ -380,12 +382,13 @@ if(ai==&(moldyn->atom[0])) {
 
        /* virial - plus sign, as dist_ij = - dist_ji - (really??) */
 // TEST ... with a minus instead
-       ai->virial.xx-=force.x*dist_ij->x;
-       ai->virial.yy-=force.y*dist_ij->y;
-       ai->virial.zz-=force.z*dist_ij->z;
-       ai->virial.xy-=force.x*dist_ij->y;
-       ai->virial.xz-=force.x*dist_ij->z;
-       ai->virial.yz-=force.y*dist_ij->z;
+       virial_calc(ai,&force,dist_ij);
+       //ai->virial.xx-=force.x*dist_ij->x;
+       //ai->virial.yy-=force.y*dist_ij->y;
+       //ai->virial.zz-=force.z*dist_ij->z;
+       //ai->virial.xy-=force.x*dist_ij->y;
+       //ai->virial.xz-=force.x*dist_ij->z;
+       //ai->virial.yz-=force.y*dist_ij->z;
 
 #ifdef DEBUG
 if(ai==&(moldyn->atom[0])) {