#include "posic.h"
-#define TRUE 1
-#define FALSE 0
-
int main(int argc,char **argv) {
/* main moldyn structure */
/* cutoff radius */
printf("[sic] setting cutoff radius\n");
- set_cutoff(&md,LC_SI);
+ set_cutoff(&md,1*LC_SI);
/* set (initial) dimensions of simulation volume */
printf("[sic] setting dimensions\n");
- set_dim(&md,10*LC_SI,10*LC_SI,10*LC_SI,TRUE);
+ set_dim(&md,4*LC_SI,4*LC_SI,4*LC_SI,TRUE);
/* set periodic boundary conditions in all directions */
printf("[sic] setting periodic boundary conditions\n");
/* create the lattice / place atoms */
printf("[sic] creating atoms\n");
- memset(&v,0,sizeof(t_3dvec));
- r.y=0;
- r.z=0;
- r.x=0.23*sqrt(3.0)*LC_SI/2.0;
- add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v);
- r.x=-r.x;
- add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v);
- printf("[sic] check: there are %d atoms\n",md.count);
- printf("[sic] check: atoms x pos: %.15f %.15f\n",md.atom[0].r.x,md.atom[1].r.x);
- printf("[sic] check: atoms x vel: %.15f %.15f\n",md.atom[0].v.x,md.atom[1].v.x);
- printf("[sic] check: atoms mass: %.35f %.35f\n",md.atom[0].mass,md.atom[1].mass);
+ //memset(&v,0,sizeof(t_3dvec));
+ //r.y=0;
+ //r.z=0;
+ //r.x=0.23*sqrt(3.0)*LC_SI/2.0;
+ //add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v);
+ //r.x=-r.x;
+ //add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v);
+ create_lattice(&md,DIAMOND,LC_SI,SI,M_SI,ATOM_ATTR_2BP,0,4,4,4);
+
+ /* setting a nearest neighbour distance for the moldyn checks */
+ set_nn_dist(&md,sqrt(3.0)*LC_SI/4.0); /* diamond ! */
/* set temperature */
printf("[sic] setting temperature\n");
- set_temperature(&md,0.0);
+ set_temperature(&md,273.0);
/* initial thermal fluctuations of particles */
printf("[sic] thermal init\n");
thermal_init(&md);
- printf("[sic] check: there are %d atoms\n",md.count);
- printf("[sic] check: atoms x pos: %.15f %.15f\n",md.atom[0].r.x,md.atom[1].r.x);
- printf("[sic] check: atoms x vel: %.15f %.15f\n",md.atom[0].v.x,md.atom[1].v.x);
/* create the simulation schedule */
printf("[sic] adding schedule\n");
- moldyn_add_schedule(&md,10000,1.0e-12);
+ moldyn_add_schedule(&md,10000,1.0e-15);
/* activate logging */
printf("[sic] activate logging\n");
- moldyn_set_log(&md,LOG_TOTAL_ENERGY,"saves/test-energy",1);
- moldyn_set_log(&md,VISUAL_STEP,"saves/test-visual",1);
+ moldyn_set_log(&md,LOG_TOTAL_ENERGY,"saves/test-energy",100);
+ moldyn_set_log(&md,VISUAL_STEP,"saves/test-visual",100);
/*
* let's do the actual md algorithm now