X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.h;h=534287bd0e615d9e54bfd325f6fd6292ae13d40d;hb=bb3e6f4ab3dfea9083e0d5b7d403ee6197f4041d;hp=b2f7522f1b4b0305ba9d9d243f2eda0b7f18dab8;hpb=9d3e2be6625c7076a7b9243d922195c499e0bf4d;p=physik%2Fposic.git diff --git a/moldyn.h b/moldyn.h index b2f7522..534287b 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" @@ -127,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 */ @@ -179,28 +180,37 @@ typedef struct s_tersoff_exchange { t_3dvec dist_ij; double d_ij; - double d_ij2; double chi; - double *beta; - double *n; - double *c; - double *d; - double *h; - - double c2; - double d2; - double c2d2; - double betan; - double n_betan; + double *beta_i; + double *beta_j; + double *n_i; + double *n_j; + double *c_i; + double *c_j; + double *d_i; + double *d_j; + double *h_i; + double *h_j; + + double ci2; + double cj2; + double di2; + double dj2; + double ci2di2; + double cj2dj2; + double betaini; + double betajnj; u8 run3bp; u8 run2bp_post; + u8 d_ij_between_rs; - t_3dvec db_ij; - double sum1_3bp; - double sum2_3bp; + double zeta_ij; + double zeta_ji; + t_3dvec dzeta_ij; + t_3dvec dzeta_ji; } t_tersoff_exchange; /* tersoff multi (2!) potential parameters */ @@ -261,6 +271,8 @@ typedef struct s_tersoff_mult_params { #define TRUE 1 #define FALSE 0 +#define ACCEPTABLE_ERROR 1e-15 + /* * * phsical values / constants @@ -281,7 +293,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 */ @@ -376,4 +388,6 @@ 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); +int moldyn_bc_check(t_moldyn *moldyn); + #endif