func2b is now again real func2b ... still -> nan! :/
authorhackbard <hackbard>
Tue, 5 Dec 2006 16:44:36 +0000 (16:44 +0000)
committerhackbard <hackbard>
Tue, 5 Dec 2006 16:44:36 +0000 (16:44 +0000)
moldyn.c
moldyn.h
sic.c

index 2631d6a..6af2dff 100644 (file)
--- a/moldyn.c
+++ b/moldyn.c
@@ -141,7 +141,7 @@ int set_potential2b(t_moldyn *moldyn,pf_func2b func,void *params) {
 
 int set_potential2b_post(t_moldyn *moldyn,pf_func2b_post func,void *params) {
 
-       moldyn->func2b=func;
+       moldyn->func2b_post=func;
        moldyn->pot2b_params=params;
 
        return 0;
@@ -784,7 +784,6 @@ int velocity_verlet(t_moldyn *moldyn) {
 
        /* forces depending on chosen potential */
        potential_force_calc(moldyn);
-       //moldyn->potential_force_function(moldyn);
 
        for(i=0;i<count;i++) {
                /* again velocities */
@@ -940,9 +939,7 @@ int potential_force_calc(t_moldyn *moldyn) {
                        if(ktom==&(itom[i]))
                                continue;
 
-//printf("Debug: atom %d before 3bp: %08x %08x %08x | %.15f %.15f %.15f\n",i,&itom[i],jtom,ktom,itom[i].r.x,itom[i].f.x,itom[i].v.x);
                        moldyn->func3b(moldyn,&(itom[i]),jtom,ktom,bc_ijk);
-//printf("Debug: atom %d after 3bp: %08x %08x %08x | %.15f %.15f %.15f\n",i,&itom[i],jtom,ktom,itom[i].r.x,itom[i].f.x,itom[i].v.x);
 
                                                } while(list_next(that)!=\
                                                        L_NO_NEXT_ELEMENT);
@@ -952,10 +949,13 @@ int potential_force_calc(t_moldyn *moldyn) {
                                } while(list_next(this)!=L_NO_NEXT_ELEMENT);
                
                                /* 2bp post function */
-                               if(moldyn->func2b_post)
+                               if(moldyn->func2b_post) {
+printf("before 2bp post: %.15f %.15f %.15f\n",itom[i].f.x,itom[i].r.x,itom[i].v.x);
                                        moldyn->func2b_post(moldyn,
                                                            &(itom[i]),
                                                            jtom,bc_ij);
+printf("after 2bp post: %.15f %.15f %.15f\n",itom[i].f.x,itom[i].r.x,itom[i].v.x);
+                               }
 
                        }
                }
@@ -1186,7 +1186,6 @@ int tersoff_mult_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc) {
                mu=params->mu_m;
                params->exchange.chi=params->chi;
        }
-
        if(d_ij>S)
                return 0;
 
@@ -1419,15 +1418,12 @@ int tersoff_mult_3bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,t_atom *ak,u8 bc) {
                bracket=0.0;
                bracket_n_1=0.0;
                bracket_n=0.0;
-               //printf("Foo -> 0: ");
        }
        else {
                bracket=f_c_ik*g;
                bracket_n_1=pow(bracket,n-1.0);
                bracket_n=bracket_n_1*bracket;
-               //printf("Foo -> 1: ");
        }
-//printf("%.15f %.15f %.15f\n",bracket_n_1,bracket_n,bracket);
 
        /* calc of db_ij and the 2 sums */
        exchange->sum1_3bp+=bracket_n;
index 1145f8a..b2f7522 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -73,8 +73,7 @@ typedef struct s_moldyn {
        int (*func1b)(struct s_moldyn *moldyn,t_atom *ai);
        void *pot1b_params;
        int (*func2b)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
-       void (*func2b_post)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,
-                           u8 bc);
+       int (*func2b_post)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc);
        void *pot2b_params;
        int (*func3b)(struct s_moldyn *moldyn,t_atom *ai,t_atom *aj,t_atom *ak,
                      u8 bck);
diff --git a/sic.c b/sic.c
index 26bb8c8..d6e85fb 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -106,7 +106,6 @@ int main(int argc,char **argv) {
        printf("[sic] creating atoms\n");
        create_lattice(&md,DIAMOND,LC_SI,SI,M_SI,
                       ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
-                      //ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP,
                       //ATOM_ATTR_2BP|ATOM_ATTR_HB,
                       0,5,5,5);