X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.h;h=c5fed604ff62dbe2c96ee223c395473666bb04b6;hb=ade81aa2afb15f22e98ed9595ff303d4fedfe122;hp=41b711a8b2516a6d001a584ef51572220f4815a3;hpb=dfbe75140f5a113f898809c529a882034507f6d1;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index 41b711a..c5fed60 100644 --- a/moldyn.h +++ b/moldyn.h @@ -48,7 +48,6 @@ typedef struct s_linkcell { double x,y,z; /* the actual cell lengthes */ t_list *subcell; /* pointer to the cell lists */ int dnlc; /* direct neighbour lists counter */ - int countn; /* amount of neighbours */ } t_linkcell; #include "visual/visual.h" @@ -73,8 +72,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); @@ -128,6 +126,8 @@ typedef struct s_moldyn { u8 status; /* general moldyn properties */ t_random random; /* random interface */ + + int debug; /* debugging stuff, ignore */ } t_moldyn; #define MOLDYN_STAT_PBX 0x08 /* periodic boudaries in x */ @@ -194,12 +194,14 @@ typedef struct s_tersoff_exchange { double d2; double c2d2; double betan; + double n_betan; u8 run3bp; + u8 run2bp_post; t_3dvec db_ij; - double 3bp_sum1; - double 3bp_sum2; + double sum1_3bp; + double sum2_3bp; } t_tersoff_exchange; /* tersoff multi (2!) potential parameters */ @@ -260,6 +262,8 @@ typedef struct s_tersoff_mult_params { #define TRUE 1 #define FALSE 0 +#define ACCEPTABLE_ERROR 1e-15 + /* * * phsical values / constants @@ -372,6 +376,7 @@ int lennard_jones(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); int tersoff_mult_complete_params(t_tersoff_mult_params *p); int tersoff_mult_1bp(t_moldyn *moldyn,t_atom *ai); int tersoff_mult_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); +int tersoff_mult_post_2bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,u8 bc); int tersoff_mult_3bp(t_moldyn *moldyn,t_atom *ai,t_atom *aj,t_atom *ak,u8 bc); #endif