continue;
}
+ // offset
+ if(word[i][0]=='o') {
+ fp.o_params.o.x=atof(word[++i])*fp.lc;
+ fp.o_params.o.y=atof(word[++i])*fp.lc;
+ fp.o_params.o.z=atof(word[++i])*fp.lc;
+ fp.o_params.use=1;
+ continue;
+ }
i+=1;
}
add_stage(mdrun,STAGE_FILL,&fp);
}
i=2;
if(cap.type&CHAATTR_REGION) {
- cap.x0=atof(word[1]);
- cap.y0=atof(word[2]);
- cap.z0=atof(word[3]);
- cap.x1=atof(word[4]);
- cap.y1=atof(word[5]);
- cap.z1=atof(word[6]);
+ cap.x0=atof(word[2]);
+ cap.y0=atof(word[3]);
+ cap.z0=atof(word[4]);
+ cap.x1=atof(word[5]);
+ cap.y1=atof(word[6]);
+ cap.z1=atof(word[7]);
i+=6;
}
if(cap.type&CHAATTR_ELEMENT) {
continue;
}
if(cap->type&CHAATTR_REGION) {
- if(cap->x0<atom->r.x)
+ if(cap->x0>atom->r.x)
continue;
- if(cap->y0<atom->r.y)
+ if(cap->y0>atom->r.y)
continue;
- if(cap->z0<atom->r.z)
+ if(cap->z0>atom->r.z)
continue;
- if(cap->x1>atom->r.x)
+ if(cap->x1<atom->r.x)
continue;
- if(cap->y1>atom->r.y)
+ if(cap->y1<atom->r.y)
continue;
- if(cap->z1>atom->r.z)
+ if(cap->z1<atom->r.z)
continue;
}
+ if(!(cap->type&CHAATTR_TOTALV))
+ printf(" changing attributes of atom %d (0x%x)\n",
+ i,cap->attr);
atom->attr=cap->attr;
}
+ printf("\n\n");
+
return 0;
}
fp->lx,fp->ly,fp->lz,
&o,
&(fp->p_params),
- &(fp->d_params));
+ &(fp->d_params),
+ &(fp->o_params));
o.x+=0.25*fp->lc;
o.y=o.x;
o.z=o.x;
fp->lx,fp->ly,fp->lz,
&o,
&(fp->p_params),
- &(fp->d_params));
+ &(fp->d_params),
+ &(fp->o_params));
break;
default:
fp->lx,fp->ly,fp->lz,
NULL,
&(fp->p_params),
- &(fp->d_params));
+ &(fp->d_params),
+ &(fp->o_params));
break;
}
moldyn_bc_check(moldyn);