X-Git-Url: https://www.hackdaworld.org/gitweb/?p=physik%2Fposic.git;a=blobdiff_plain;f=sic.c;fp=sic.c;h=6e6369fbe7f79f222bb810275a1cb13660096cb9;hp=7855cc2e38eb81ab935c2bbd38c1746b10e2e52a;hb=c40d54eb3e319b17b2f6174c4eddcfd6ee3a407b;hpb=97f4b6d802dc13e511f30adbaa25a7892289b0ff diff --git a/sic.c b/sic.c index 7855cc2..6e6369f 100644 --- a/sic.c +++ b/sic.c @@ -8,7 +8,6 @@ #include #include "moldyn.h" -#include "posic.h" /* potential */ #include "potentials/harmonic_oscillator.h" @@ -37,11 +36,11 @@ #define INJ_OFFSET (ALBE_LC_SI/8.0) #define RELAX_S 20 -#define LCNTX 5 -#define LCNTY 5 -#define LCNTZ 5 +#define LCNTX 9 +#define LCNTY 9 +#define LCNTZ 9 #define PRERUN 10 -#define POSTRUN 2000 +#define POSTRUN 4000 #define R_TITLE "Silicon self-interstitial" #define LOG_E 10 @@ -57,7 +56,21 @@ typedef struct s_hp { char **argv; /* args */ } t_hp; -int hook(void *moldyn,void *hook_params) { +int hook_del_atom(void *moldyn,void *hook_params) { + + t_moldyn *md; + t_hp *hp; + + md=moldyn; + hp=hook_params; + + set_pt_scale(md,0,0,T_SCALE_BERENDSEN,100.0); + del_atom(md,2); + + return 0; +} + +int hook_add_atom(void *moldyn,void *hook_params) { t_moldyn *md; t_3dvec r,v,dist; @@ -97,11 +110,14 @@ int hook(void *moldyn,void *hook_params) { for(j=0;jrandom))-0.5)*INJ_LENX; + r.x=1.0/8.0*ALBE_LC_SI; + r.y=-1.0/8.0*ALBE_LC_SI; + r.z=-1.0/8.0*ALBE_LC_SI; + //r.x=(rand_get_double(&(md->random))-0.5)*INJ_LENX; r.x+=INJ_OFFSET; - r.y=(rand_get_double(&(md->random))-0.5)*INJ_LENY; + //r.y=(rand_get_double(&(md->random))-0.5)*INJ_LENY; r.y+=INJ_OFFSET; - r.z=(rand_get_double(&(md->random))-0.5)*INJ_LENZ; + //r.z=(rand_get_double(&(md->random))-0.5)*INJ_LENZ; r.z+=INJ_OFFSET; /* assume valid coordinates */ run=0; @@ -375,7 +391,9 @@ int main(int argc,char **argv) { memset(&hookparam,0,sizeof(t_hp)); hookparam.argc=argc; hookparam.argv=argv; - moldyn_set_schedule_hook(&md,&hook,&hookparam); + moldyn_set_schedule_hook(&md,&hook_add_atom,&hookparam); + //moldyn_set_schedule_hook(&md,&hook_del_atom,&hookparam); + //moldyn_add_schedule(&md,POSTRUN,1.0); /* activate logging */ moldyn_set_log_dir(&md,argv[1]);