projects
/
physik
/
posic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
first sic tests
[physik/posic.git]
/
moldyn.c
diff --git
a/moldyn.c
b/moldyn.c
index
705a28c
..
070ce69
100644
(file)
--- a/
moldyn.c
+++ b/
moldyn.c
@@
-421,11
+421,11
@@
int moldyn_log_shutdown(t_moldyn *moldyn) {
*/
int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass,
*/
int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass,
- u8 attr,u8 brand,int a,int b,int c) {
+ u8 attr,u8 brand,int a,int b,int c
,t_3dvec *origin
) {
int new,count;
int ret;
int new,count;
int ret;
- t_3dvec orig
in
;
+ t_3dvec orig;
void *ptr;
t_atom *atom;
void *ptr;
t_atom *atom;
@@
-447,24
+447,33
@@
int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass,
atom=&(moldyn->atom[count]);
/* no atoms on the boundaries (only reason: it looks better!) */
atom=&(moldyn->atom[count]);
/* no atoms on the boundaries (only reason: it looks better!) */
- origin.x=0.5*lc;
- origin.y=0.5*lc;
- origin.z=0.5*lc;
+ if(!origin) {
+ orig.x=0.5*lc;
+ orig.y=0.5*lc;
+ orig.z=0.5*lc;
+ }
+ else {
+ orig.x=origin->x;
+ orig.y=origin->y;
+ orig.z=origin->z;
+ }
switch(type) {
case CUBIC:
set_nn_dist(moldyn,lc);
switch(type) {
case CUBIC:
set_nn_dist(moldyn,lc);
- ret=cubic_init(a,b,c,lc,atom,&orig
in
);
+ ret=cubic_init(a,b,c,lc,atom,&orig);
break;
case FCC:
break;
case FCC:
- v3_scale(&origin,&origin,0.5);
+ if(!origin)
+ v3_scale(&orig,&orig,0.5);
set_nn_dist(moldyn,0.5*sqrt(2.0)*lc);
set_nn_dist(moldyn,0.5*sqrt(2.0)*lc);
- ret=fcc_init(a,b,c,lc,atom,&orig
in
);
+ ret=fcc_init(a,b,c,lc,atom,&orig);
break;
case DIAMOND:
break;
case DIAMOND:
- v3_scale(&origin,&origin,0.25);
+ if(!origin)
+ v3_scale(&orig,&orig,0.25);
set_nn_dist(moldyn,0.25*sqrt(3.0)*lc);
set_nn_dist(moldyn,0.25*sqrt(3.0)*lc);
- ret=diamond_init(a,b,c,lc,atom,&orig
in
);
+ ret=diamond_init(a,b,c,lc,atom,&orig);
break;
default:
printf("unknown lattice type (%02x)\n",type);
break;
default:
printf("unknown lattice type (%02x)\n",type);
@@
-1252,6
+1261,9
@@
int moldyn_integrate(t_moldyn *moldyn) {
/* calculate initial forces */
potential_force_calc(moldyn);
/* calculate initial forces */
potential_force_calc(moldyn);
+#ifdef DEBUG
+return 0;
+#endif
/* some stupid checks before we actually start calculating bullshit */
if(moldyn->cutoff>0.5*moldyn->dim.x)
/* some stupid checks before we actually start calculating bullshit */
if(moldyn->cutoff>0.5*moldyn->dim.x)