#include "dump2analysis.h" double DT = 0.0; int TAU = -1; int TAU_SHIFT = 1; double DR = 0.01; double RMAX = 20.005; double RMIN = 0.005; double RCUT = 2.3; double RCUT_AB = 2.3; double RCUT_BC = 2.3; double RADIUS = 0.68; /* Ionic Radius of Li+ */ double DA = 0.1; int NX = 100; int NY = 100; int NZ = 100; int CUBE_TYPE = 1; void InitParam(PARAM *param){ param->atoms = 0; param->steps = 0; strcpy(param->infile, ""); strcpy(param->outfile, ""); strcpy(param->mode, ""); param->Aid = NULL; param->Bid = NULL; param->Cid = NULL; strcpy(param->Aelem, ""); strcpy(param->Belem, ""); strcpy(param->Celem, ""); param->Atype = -1; param->Btype = -1; param->Ctype = -1; } void SetAtomsSteps(PARAM *param){ char buf[512]; int i; FILE *f; f = fopen(param->infile, "r"); printf("%s\n", param->infile); for (i=0; i<4; i++) fgets(buf, sizeof(buf), f); param->atoms = atoi(buf); rewind(f); for (i=0; fgets(buf, sizeof(buf), f) != NULL; i++); param->steps = i/(param->atoms+9); fclose(f); } int main(int argn, char** argv){ PARAM param; InitParam(¶m); SetArgment(argn, argv, ¶m); if (strcmp(param.mode, "msd") == 0) EstimateMSD(¶m); if (strcmp(param.mode, "gr") == 0) EstimateGr(¶m); if (strcmp(param.mode, "angle") == 0) EstimateAngle(¶m); if (strcmp(param.mode, "cube") == 0) EstimateCube(¶m); if (strcmp(param.mode, "cube_jump") == 0) EstimateCube_Jump(¶m); if (strcmp(param.mode, "cube_radius") == 0) EstimateCube_Radius(¶m); if (strcmp(param.mode, "vcorr") == 0) EstimateVelocityCorr(¶m); if (strcmp(param.mode, "rcorr") == 0) EstimateRotationCorr(¶m); if (strcmp(param.mode, "vanHove") == 0) EstimateVanHove(¶m); }