first commit, Readme.html更新して、git管理することにした。
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
#include "dump2analysis.h"
|
||||
|
||||
void ArgCheck(PARAM *arg){
|
||||
if (strcmp(arg->mode, "") == 0){
|
||||
printf("-m mode is required.\n");
|
||||
Error();
|
||||
}
|
||||
}
|
||||
|
||||
int ArgCheckInputOutput(PARAM *arg){
|
||||
int flag = 0;
|
||||
|
||||
if (strcmp(arg->infile, "") == 0){
|
||||
printf("-i infile is required.\n");
|
||||
flag = flag + 1;
|
||||
}
|
||||
if (strcmp(arg->outfile, "") == 0){
|
||||
printf("-o outfile is required.\n");
|
||||
flag = flag + 2;
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
void Error(){
|
||||
printf("Usage: dump2analysis hoge options hoge.lammpstrj\n");
|
||||
printf("Options:\n");
|
||||
printf(" -h --help show this help message\n");
|
||||
printf(" -m --mode=str mode gr or msd...\n");
|
||||
printf("--------------------------------------------------------\n");
|
||||
printf(" -a --Aid=str Atom \"a\" ids 1,2... must be > 0\n");
|
||||
printf(" -b --Bid=str Atom \"b\" ids 1,2... must be > 0\n");
|
||||
printf(" -c --Cid=str Atom \"c\" ids 1,2... must be > 0\n");
|
||||
printf("--------------------------------------------------------\n");
|
||||
printf(" -x --Aelem=str Atom \"a\" element\n");
|
||||
printf(" -y --Belem=str Atom \"b\" element\n");
|
||||
printf(" -z --Celem=str Atom \"c\" element\n");
|
||||
printf("--------------------------------------------------------\n");
|
||||
printf(" -s --Atype=%%d Atom \"a\" type number\n");
|
||||
printf(" -t --Btype=%%d Atom \"b\" type number\n");
|
||||
printf(" -u --Ctype=%%d Atom \"c\" type number\n");
|
||||
printf("--------------------------------------------------------\n");
|
||||
printf(" -i --in=str Input file name\n");
|
||||
printf(" -o --out=str Output file name\n");
|
||||
printf("--------------------------------------------------------\n");
|
||||
printf("-m --mode=str\n");
|
||||
printf(" -m gr calculate radial distribution function\n");
|
||||
printf(" -m msd calculate mean square displacement\n");
|
||||
printf(" -m angle calculate angle distribution\n");
|
||||
printf(" -m cube density map analysis (cube file)\n");
|
||||
printf(" -m cube_radius density map analysis with finite radius (cube file)\n");
|
||||
printf(" -m cube_jump jump map analysis (cube file)\n");
|
||||
printf(" -m vcorr velocity correlation function\n");
|
||||
printf(" -m rcorr rotational correlation function\n");
|
||||
printf(" -m vanHove caclulate van Hove function\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
int CheckArgAtomSelect(PARAM *p){
|
||||
int n=0;
|
||||
|
||||
/* Aid, Aelem, Atypeを2つ以上指定している */
|
||||
if ((p->Aid[0] != 0 && strcmp(p->Aelem, "") != 0 && p->Atype != -1) ||
|
||||
(p->Aid[0] != 0 && strcmp(p->Aelem, "") == 0 && p->Atype != -1) ||
|
||||
(p->Aid[0] != 0 && strcmp(p->Aelem, "") != 0 && p->Atype == -1) ||
|
||||
(p->Aid[0] == 0 && strcmp(p->Aelem, "") != 0 && p->Atype != -1))
|
||||
return -1;
|
||||
/* Bid, Belem, Btypeを2つ以上指定している */
|
||||
if ((p->Bid[0] != 0 && strcmp(p->Belem, "") != 0 && p->Btype != -1) ||
|
||||
(p->Bid[0] != 0 && strcmp(p->Belem, "") == 0 && p->Btype != -1) ||
|
||||
(p->Bid[0] != 0 && strcmp(p->Belem, "") != 0 && p->Btype == -1) ||
|
||||
(p->Bid[0] == 0 && strcmp(p->Belem, "") != 0 && p->Btype != -1))
|
||||
return -1;
|
||||
/* Cid, Celem, Ctypeを2つ以上指定している */
|
||||
if ((p->Cid[0] != 0 && strcmp(p->Celem, "") != 0 && p->Ctype != -1) ||
|
||||
(p->Cid[0] != 0 && strcmp(p->Celem, "") == 0 && p->Ctype != -1) ||
|
||||
(p->Cid[0] != 0 && strcmp(p->Celem, "") != 0 && p->Ctype == -1) ||
|
||||
(p->Cid[0] == 0 && strcmp(p->Celem, "") != 0 && p->Ctype != -1))
|
||||
return -1;
|
||||
|
||||
/* Aが指定されている */
|
||||
if (p->Aid[0] != 0 || strcmp(p->Aelem, "") != 0 || p->Atype != -1)
|
||||
n = n + 1;
|
||||
/* Bが指定されている */
|
||||
if (p->Bid[0] != 0 || strcmp(p->Belem, "") != 0 || p->Btype != -1)
|
||||
n = n + 2;
|
||||
/* Cが指定されている */
|
||||
if (p->Cid[0] != 0 || strcmp(p->Celem, "") != 0 || p->Ctype != -1)
|
||||
n = n + 4;
|
||||
|
||||
return n;
|
||||
}
|
||||
Reference in New Issue
Block a user