X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=moldyn.h;h=32025fd39a687306a0cb7edb9fb93c7301733937;hb=48c565cf62ba65a94b757b1c4118fe8938d736f8;hp=41b711a8b2516a6d001a584ef51572220f4815a3;hpb=dfbe75140f5a113f898809c529a882034507f6d1;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index 41b711a..32025fd 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 */ @@ -180,7 +180,6 @@ typedef struct s_tersoff_exchange { t_3dvec dist_ij; double d_ij; - double d_ij2; double chi; @@ -194,12 +193,13 @@ 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 zeta; } t_tersoff_exchange; /* tersoff multi (2!) potential parameters */ @@ -260,6 +260,8 @@ typedef struct s_tersoff_mult_params { #define TRUE 1 #define FALSE 0 +#define ACCEPTABLE_ERROR 1e-15 + /* * * phsical values / constants @@ -280,7 +282,7 @@ typedef struct s_tersoff_mult_params { #define LC_SI 0.543105e-9 /* m */ #define M_SI (28.085*AMU) /* kg */ #define LJ_SIGMA_SI ((0.25*sqrt(3.0)*LC_SI)/1.122462) /* m */ -#define LJ_EPSILON_SI (2.1678*1.60e-19) /* Nm */ +#define LJ_EPSILON_SI (2.1678*EV) /* Nm */ #define TM_R_SI 2.7e-10 /* m */ #define TM_S_SI 3.0e-10 /* m */ @@ -372,6 +374,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