X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=diffusion_calc.c;fp=diffusion_calc.c;h=576064aec5667ac705577179fd34307329a20e95;hb=30fafe0cb366808315649bd07bfaa7133ca0ecd2;hp=0000000000000000000000000000000000000000;hpb=c9a72c380c3677f3aeb044f7dde7fc56009622d3;p=physik%2Fposic.git diff --git a/diffusion_calc.c b/diffusion_calc.c new file mode 100644 index 0000000..576064a --- /dev/null +++ b/diffusion_calc.c @@ -0,0 +1,58 @@ +/* + * calculation of diffusion coefficient + * + * author: frank.zirkelbach@physik.uni-augsburg.de + * + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include + +#include "moldyn.h" + +int usage(char *prog) { + + printf("\nusage:\n"); + printf(" %s \n\n",prog); + + return -1; +} + +int main(int argc,char **argv) { + + t_moldyn moldyn; + int ret; + double dc[3]; + + if(argc!=2) { + usage(argv[0]); + return -1; + } + + memset(&moldyn,0,sizeof(t_moldyn)); + + printf("[diffusion calc] reading save file ...\n"); + ret=moldyn_read_save_file(&moldyn,argv[1]); + if(ret) { + printf("[diffusion calc] exit!\n"); + return ret; + } + + calculate_diffusion_coefficient(&moldyn,dc); + + dc[0]*=(100*100*SECOND/(METER*METER)); + dc[1]*=(100*100*SECOND/(METER*METER)); + dc[2]*=(100*100*SECOND/(METER*METER)); + + printf("diffusion coefficients: %.10f %.10f %.10f [cm^2/s]\n", + dc[0],dc[1],dc[2]); + + return 0; +} +