// 001 dumbbell
r.x=(-0.5+0.25)*ALBE_LC_SI;
r.y=(-0.5+0.25)*ALBE_LC_SI;
- r.z=(-0.5+0.25+0.125)*ALBE_LC_SI;
- moldyn->atom[4372].r.z=(-0.5+0.25-0.125)*ALBE_LC_SI;
+ r.z=(-0.1)*ALBE_LC_SI;
+ moldyn->atom[4372].r.z=(-0.4)*ALBE_LC_SI;
#endif
#ifdef INS_USER
// 001 dumbbell
#endif
#ifdef INS_RAND
// random
+#ifdef INS_DYNAMIC_LEN
+ r.x=(rand_get_double(&(moldyn->random))-0.5)*\
+ moldyn->dim.x;
+ r.y=(rand_get_double(&(moldyn->random))-0.5)*\
+ moldyn->dim.y;
+ r.z=(rand_get_double(&(moldyn->random))-0.5)*\
+ moldyn->dim.z;
+#else
r.x=(rand_get_double(&(moldyn->random))-0.5)*INS_LENX;
r.y=(rand_get_double(&(moldyn->random))-0.5)*INS_LENY;
r.z=(rand_get_double(&(moldyn->random))-0.5)*INS_LENZ;
+#endif
#endif
// offset
r.x+=INS_OFFSET;
int steps;
double tau;
double dt;
+ double dp;
hp=hook_params;
md=moldyn;
/* switch on t scaling */
if(md->schedule.count==0)
- set_pt_scale(md,0,0,T_SCALE_BERENDSEN,T_SCALE_TAU);
+ set_pt_scale(md,P_SCALE_BERENDSEN,P_SCALE_TAU,
+ T_SCALE_BERENDSEN,T_SCALE_TAU);
/* my lousy state machine ! */
/* check temperature */
dt=md->t_avg-md->t_ref;
+ dp=md->p_avg-md->p_ref;
if(dt<0)
dt=-dt;
- if(dt>INS_DELTA_TC)
+ if(dp<0)
+ dp=-dp;
+ if((dt>INS_DELTA_TC)|(dp>INS_DELTA_PC))
goto addsched;
/* immediately go on if no job is to be done */
/* check temperature */
dt=md->t_avg-md->t_ref;
+ dp=md->p_avg-md->p_ref;
if(dt<0)
dt=-dt;
- if(dt>POST_DELTA_TC)
+ if(dp<0)
+ dp=-dp;
+ if((dt>POST_DELTA_TC)|(dp>POST_DELTA_PC))
goto addsched;
/* immediately return if no job is to be done */
0,LCNTX,LCNTY,LCNTZ,&r);
r.x+=0.25*ALBE_LC_SIC; r.y=r.x; r.z=r.x;
create_lattice(&md,FCC,ALBE_LC_SIC,C,M_C,
- ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
+ ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB|ATOM_ATTR_VB,
1,LCNTX,LCNTY,LCNTZ,&r);
#else
r.x=0.5*0.25*TM_LC_SIC; r.y=r.x; r.z=r.x;
/* set temperature & pressure */
set_temperature(&md,atof(argv[2])+273.0);
- set_pressure(&md,BAR);
+ set_pressure(&md,0.0);
/* set amount of steps to skip before average calc */
set_avg_skip(&md,AVG_SKIP);
/* set p/t scaling */
//set_pt_scale(&md,0,0,T_SCALE_BERENDSEN,100.0);
- //set_pt_scale(&md,P_SCALE_BERENDSEN,0.001,
+ //set_pt_scale(&md,P_SCALE_BERENDSEN,0.01/(100*GPA),
// T_SCALE_BERENDSEN,100.0);
//set_pt_scale(&md,0,0,T_SCALE_DIRECT,1.0);
//set_pt_scale(&md,P_SCALE_BERENDSEN,0.001,0,0);
moldyn_set_log(&md,LOG_TOTAL_ENERGY,LOG_E);
moldyn_set_log(&md,LOG_TEMPERATURE,LOG_T);
moldyn_set_log(&md,LOG_PRESSURE,LOG_P);
- moldyn_set_log(&md,VISUAL_STEP,LOG_V);
+ moldyn_set_log(&md,LOG_VOLUME,LOG_V);
+ moldyn_set_log(&md,VISUAL_STEP,LOG_A);
moldyn_set_log(&md,SAVE_STEP,LOG_S);
moldyn_set_log(&md,CREATE_REPORT,0);