projects
/
physik
/
posic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
regular checkin of logfile
[physik/posic.git]
/
mdrun.c
diff --git
a/mdrun.c
b/mdrun.c
index
d063693
..
34807e7
100644
(file)
--- a/
mdrun.c
+++ b/
mdrun.c
@@
-161,7
+161,7
@@
int mdrun_parse_config(t_mdrun *mdrun) {
char error[128];
char line[128];
char *wptr;
char error[128];
char line[128];
char *wptr;
- char word[
16
][64];
+ char word[
32
][64];
int wcnt;
int i,o;
int wcnt;
int i,o;
@@
-293,6
+293,7
@@
int mdrun_parse_config(t_mdrun *mdrun) {
fp.lattice=mdrun->lattice;
fp.p_params.type=0;
fp.d_params.type=0;
fp.lattice=mdrun->lattice;
fp.p_params.type=0;
fp.d_params.type=0;
+ fp.d_params.stype=0;
// parse fill command
i=1;
while(i<wcnt) {
// parse fill command
i=1;
while(i<wcnt) {
@@
-549,19
+550,32
@@
int mdrun_parse_config(t_mdrun *mdrun) {
iap.z0=atof(word[10]);
break;
case 'r':
iap.z0=atof(word[10]);
break;
case 'r':
- if(word[8][0]=='t') {
+ switch(word[8][0]) {
+
+ case 't':
iap.type=INS_TOTAL;
iap.cr=atof(word[9]);
iap.type=INS_TOTAL;
iap.cr=atof(word[9]);
- }
- else {
- iap.type=INS_REGION;
- iap.x0=atof(word[8]);
- iap.y0=atof(word[9]);
- iap.z0=atof(word[10]);
- iap.x1=atof(word[11]);
- iap.y1=atof(word[12]);
- iap.z1=atof(word[13]);
- iap.cr=atof(word[14]);
+ break;
+ case 'r':
+ iap.type=INS_RECT;
+ iap.x0=atof(word[9]);
+ iap.y0=atof(word[10]);
+ iap.z0=atof(word[11]);
+ iap.x1=atof(word[12]);
+ iap.y1=atof(word[13]);
+ iap.z1=atof(word[14]);
+ iap.cr=atof(word[15]);
+ break;
+ case 's':
+ iap.type=INS_SPHERE;
+ iap.x0=atof(word[9]);
+ iap.y0=atof(word[10]);
+ iap.z0=atof(word[11]);
+ iap.x1=atof(word[12]);
+ iap.cr=atof(word[13]);
+ break;
+ default:
+ break;
}
default:
break;
}
default:
break;
@@
-764,7
+778,7
@@
int insert_atoms(t_moldyn *moldyn,t_mdrun *mdrun) {
z0=-z/2.0;
cr_check=TRUE;
break;
z0=-z/2.0;
cr_check=TRUE;
break;
- case INS_RE
GION
:
+ case INS_RE
CT
:
x=iap->x1-iap->x0;
x0=iap->x0;
y=iap->y1-iap->y0;
x=iap->x1-iap->x0;
x0=iap->x0;
y=iap->y1-iap->y0;
@@
-773,6
+787,15
@@
int insert_atoms(t_moldyn *moldyn,t_mdrun *mdrun) {
z0=iap->z0;
cr_check=TRUE;
break;
z0=iap->z0;
cr_check=TRUE;
break;
+ case INS_SPHERE:
+ x=2.0*iap->x1;
+ x0=iap->x0-iap->x1;
+ y=x;
+ y0=iap->y0-iap->x1;
+ z=x;
+ z0=iap->z0-iap->x1;
+ cr_check=TRUE;
+ break;
case INS_POS:
x0=iap->x0;
y0=iap->y0;
case INS_POS:
x0=iap->x0;
y0=iap->y0;
@@
-824,6
+847,14
@@
int insert_atoms(t_moldyn *moldyn,t_mdrun *mdrun) {
dmin=d;
}
}
dmin=d;
}
}
+ if(iap->type==INS_SPHERE) {
+ if((r.x-iap->x0)*(r.x-iap->x0)+
+ (r.y-iap->y0)*(r.y-iap->y0)+
+ (r.z-iap->z0)*(r.z-iap->z0)>
+ (iap->x1*iap->x1)) {
+ run=1;
+ }
+ }
}
add_atom(moldyn,iap->element,
iap->brand,iap->attr,&r,&v);
}
add_atom(moldyn,iap->element,
iap->brand,iap->attr,&r,&v);