projects
/
physik
/
posic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a58211f
)
centre atoms for visualization
author
hackbard
<hackbard@sage.physik.uni-augsburg.de>
Mon, 5 May 2008 08:36:13 +0000
(10:36 +0200)
committer
hackbard
<hackbard@sage.physik.uni-augsburg.de>
Mon, 5 May 2008 08:36:13 +0000
(10:36 +0200)
visual_atoms.c
patch
|
blob
|
history
diff --git
a/visual_atoms.c
b/visual_atoms.c
index
9baa487
..
50507db
100644
(file)
--- a/
visual_atoms.c
+++ b/
visual_atoms.c
@@
-19,7
+19,8
@@
int usage(char *prog) {
printf("\nusage:\n");
int usage(char *prog) {
printf("\nusage:\n");
- printf(" %s <file> <centre atom> <radius> [marked atom]\n\n",prog);
+ printf(" %s <file> <centre atom> <radius> <lc> [marked atom]\n\n",
+ prog);
return -1;
}
return -1;
}
@@
-35,7
+36,9
@@
int main(int argc,char **argv) {
t_linkcell *lc;
t_3dvec dist;
double d,radius;
t_linkcell *lc;
t_3dvec dist;
double d,radius;
+ double ox,oy,oz;
int ma,ca;
int ma,ca;
+ double lac;
if(argc<4) {
usage(argv[0]);
if(argc<4) {
usage(argv[0]);
@@
-44,10
+47,11
@@
int main(int argc,char **argv) {
ca=atoi(argv[2]);
radius=atof(argv[3]);
ca=atoi(argv[2]);
radius=atof(argv[3]);
+ lac=atof(argv[4]);
ma=-1;
ma=-1;
- if(argc==
5
)
- ma=atoi(argv[
4
]);
+ if(argc==
6
)
+ ma=atoi(argv[
5
]);
memset(&moldyn,0,sizeof(t_moldyn));
memset(&moldyn,0,sizeof(t_moldyn));
@@
-71,9
+75,41
@@
int main(int argc,char **argv) {
(itom->r.z+moldyn.dim.z/2)/lc->z,
n);
(itom->r.z+moldyn.dim.z/2)/lc->z,
n);
-
+
+ /* prepare offset */
+ ox=0.0;
+ if(itom->r.x<0) {
+ while((itom->r.x+ox)<(-lac/2.0))
+ ox+=lac;
+ }
+ else {
+ while((itom->r.x+ox)>(lac/2.0))
+ ox-=lac;
+ }
+
+ oy=0.0;
+ if(itom->r.y<0) {
+ while((itom->r.y+oy)<(-lac/2.0))
+ oy+=lac;
+ }
+ else {
+ while((itom->r.y+oy)>(lac/2.0))
+ oy-=lac;
+ }
+
+ oz=0.0;
+ if(itom->r.z<0) {
+ while((itom->r.z+oz)<(-lac/2.0))
+ oz+=lac;
+ }
+ else {
+ while((itom->r.z+oz)>(lac/2.0))
+ oz-=lac;
+ }
+
+
printf("%s %f %f %f %s %f\n",
printf("%s %f %f %f %s %f\n",
- pse_name[itom->element],itom->r.x
,itom->r.y,itom->r.
z,
+ pse_name[itom->element],itom->r.x
+ox,itom->r.y+oy,itom->r.z+o
z,
"Green",itom->ekin);
for(j=0;j<27;j++) {
"Green",itom->ekin);
for(j=0;j<27;j++) {
@@
-97,7
+133,7
@@
int main(int argc,char **argv) {
if(d<=radius) {
printf("%s %f %f %f %s %f\n",
pse_name[jtom->element],
if(d<=radius) {
printf("%s %f %f %f %s %f\n",
pse_name[jtom->element],
- jtom->r.x
,jtom->r.y,jtom->r.
z,
+ jtom->r.x
+ox,jtom->r.y+oy,jtom->r.z+o
z,
(jtom->tag==ma)?"Red":pse_col[jtom->element],
jtom->ekin);
}
(jtom->tag==ma)?"Red":pse_col[jtom->element],
jtom->ekin);
}