X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=sic.c;h=b5d4596fe7fc542ed79901768a21f7ec7cf112bf;hb=f3e4193447ac49a8953515910d4b4e6ce2c7608b;hp=a890270fede20f6080fec30a8f3f9b63af997c16;hpb=9f6af2cd82a72451741b68ca333f94c6c1d2eec5;p=physik%2Fposic.git diff --git a/sic.c b/sic.c index a890270..b5d4596 100644 --- a/sic.c +++ b/sic.c @@ -17,8 +17,14 @@ int hook(void *moldyn,void *hook_params) { md=moldyn; - /* decrease temperature in every hook */ - set_temperature(md,md->t_ref-100.0); + /* switch to direct scaling in first hook */ + if(md->schedule.count==0) + set_pt_scale(md,0,0,T_SCALE_BERENDSEN,100.0); + /* switch off temp scaling in second hook */ + if(md->schedule.count==1) + set_pt_scale(md,0,0,0,0); + + //set_temperature(md,md->t_ref-100.0); return 0; } @@ -58,7 +64,7 @@ int main(int argc,char **argv) { /* cutoff radius */ //set_cutoff(&md,TM_S_SI); - set_cutoff(&md,2*LC_SI); + set_cutoff(&md,2*LC_SI*0.5*sqrt(1.5)); /* * potential parameters @@ -107,16 +113,17 @@ int main(int argc,char **argv) { tersoff_mult_complete_params(&tp); /* set (initial) dimensions of simulation volume */ - set_dim(&md,6*LC_SI,6*LC_SI,6*LC_SI,TRUE); + set_dim(&md,8*LC_SI*0.5*sqrt(1.5),8*LC_SI*0.5*sqrt(1.5),8*LC_SI*0.5*sqrt(1.5),TRUE); /* set periodic boundary conditions in all directions */ set_pbc(&md,TRUE,TRUE,TRUE); /* create the lattice / place atoms */ - create_lattice(&md,DIAMOND,LC_SI,SI,M_SI, + create_lattice(&md,FCC,LC_SI*0.5*sqrt(1.5),SI,M_SI, + //create_lattice(&md,DIAMOND,LC_SI,SI,M_SI, // ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB, ATOM_ATTR_2BP|ATOM_ATTR_HB, - 0,6,6,6); + 0,8,8,8); moldyn_bc_check(&md); /* testing configuration */ @@ -153,29 +160,26 @@ int main(int argc,char **argv) { /* set p/t scaling */ //set_pt_scale(&md,P_SCALE_BERENDSEN,100.0, // T_SCALE_BERENDSEN,100.0); - set_pt_scale(&md,0,0,T_SCALE_BERENDSEN,100.0); + //set_pt_scale(&md,0,0,T_SCALE_DIRECT,1.0); //set_pt_scale(&md,P_SCALE_BERENDSEN,100.0,0,0); /* initial thermal fluctuations of particles (in equilibrium) */ thermal_init(&md,TRUE); /* create the simulation schedule */ - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); - moldyn_add_schedule(&md,100,1.0); + moldyn_add_schedule(&md,1001,1.0); + //moldyn_add_schedule(&md,501,1.0); + //moldyn_add_schedule(&md,501,1.0); /* schedule hook function */ - moldyn_set_schedule_hook(&md,&hook,NULL); + //moldyn_set_schedule_hook(&md,&hook,NULL); /* activate logging */ moldyn_set_log_dir(&md,argv[1]); + moldyn_set_report(&md,"Frank Zirkelbach","Test 1"); moldyn_set_log(&md,LOG_TOTAL_ENERGY,1); moldyn_set_log(&md,VISUAL_STEP,10); + moldyn_set_log(&md,CREATE_REPORT,0); /* * let's do the actual md algorithm now