X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=sic.c;h=5cfbb035810da5de3af88f8156a5ef7acc0e3927;hb=fb951c04e522e4637618bf622fc67194c2a7b15f;hp=a890270fede20f6080fec30a8f3f9b63af997c16;hpb=9f6af2cd82a72451741b68ca333f94c6c1d2eec5;p=physik%2Fposic.git diff --git a/sic.c b/sic.c index a890270..5cfbb03 100644 --- a/sic.c +++ b/sic.c @@ -17,8 +17,16 @@ 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; } @@ -153,29 +161,24 @@ 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,3.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); /* activate logging */ moldyn_set_log_dir(&md,argv[1]); - moldyn_set_log(&md,LOG_TOTAL_ENERGY,1); - moldyn_set_log(&md,VISUAL_STEP,10); + moldyn_set_log(&md,LOG_TOTAL_ENERGY,5); + moldyn_set_log(&md,VISUAL_STEP,50); /* * let's do the actual md algorithm now