21#define FIX_UNUSED(X) (void) (X)
27const char *gengetopt_args_info_purpose =
"Computes properties which are averaged over some or all of the\nconfigurations that are contained within a dump file. The most common\nexample of a static property that can be computed is the pair\ndistribution function between atoms of type A and other atoms of type\nB, gAB(r).\n\nExample:\n StaticProps -i tp4.dump --gofr --sele1=\"select O*\" --sele2=\"select O*\"\n\nThis command computes the oxygen-oxygen pair distribution function,\ngOO(r), from a file named tp4.dump";
29const char *gengetopt_args_info_usage =
"Usage: StaticProps [OPTION]... [FILE]...";
31const char *gengetopt_args_info_versiontext =
"";
33const char *gengetopt_args_info_description =
"";
35const char *gengetopt_args_info_help[] = {
36 " -h, --help Print help and exit",
37 " -V, --version Print version and exit",
38 " -i, --input=filename input dump file (mandatory)",
39 " -o, --output=filename output file name",
40 " -n, --step=INT process every n frame (default=`1')",
41 " -b, --nbins=INT number of bins (general purpose)\n (default=`100')",
42 " -x, --nbins_x=INT number of bins in x axis (default=`100')",
43 " -y, --nbins_y=INT number of bins in y axis (default=`100')",
44 " --nbins_z=INT number of bins in z axis (default=`100')",
45 " -r, --nrbins=INT number of radial bins (usually duplicates\n functionality of nbins) (default=`100')",
46 " --binWidth=DOUBLE width of radial bins in angstroms\n (default=`1.0')",
47 " -a, --nanglebins=INT number of bins for cos(angle) (default=`50')",
48 " -c, --rcut=DOUBLE cutoff radius (rcut)",
49 " --OOcut=DOUBLE Oxygen-Oxygen cutoff radius (angstroms)\n (default=`3.5')",
50 " --thetacut=DOUBLE HOO cutoff angle (degrees) (default=`30')",
51 " --OHcut=DOUBLE Oxygen-Hydrogen cutoff radius (angstroms)\n (default=`2.45')",
52 " --dz=DOUBLE slab width (dz)",
53 " --length=DOUBLE maximum length (Defaults to 1/2 smallest length\n of first frame)",
54 " --zlength=DOUBLE maximum length (Defaults to 1/2 smallest length\n of first frame)",
55 " -z, --zoffset=DOUBLE Where to set the zero for the slab_density\n calculation (default=`0')",
56 " --sele1=selection script select the first stuntdouble set",
57 " --sele2=selection script select the second stuntdouble set",
58 " --sele3=selection script select the third stuntdouble set",
59 " --refsele=selection script\n select reference (use and only use with --gxyz)",
60 " --comsele=selection script\n select stunt doubles for center-of-mass\n reference point",
61 " --seleoffset=INT global index offset for a second object (used\n to define a vector between sites in molecule)",
62 " --seleoffset2=INT global index offset for a third object (used to\n define a vector between sites in molecule)",
63 " --molname=STRING molecule name",
64 " --begin=INT begin internal index",
65 " --end=INT end internal index",
66 " --radius=DOUBLE nanoparticle radius",
67 " -v, --voxelSize=DOUBLE voxel size (angstroms)",
68 " --gaussWidth=DOUBLE Gaussian width (angstroms)",
69 " --privilegedAxis=ENUM which axis is special for spatial analysis\n (default = z axis) (possible values=\"x\",\n \"y\", \"z\" default=`z')",
70 " --privilegedAxis2=ENUM which axis is special for spatial analysis\n (default = x axis) (possible values=\"x\",\n \"y\", \"z\" default=`x')",
71 " --momentum=ENUM Type of momentum whose distribtution is\n required (default = Liner Momentum)\n (possible values=\"P\", \"J\" default=`P')",
72 " --component=ENUM component of momentum for the momemtum\n distribution (default = z axis) (possible\n values=\"x\", \"y\", \"z\" default=`z')",
73 " --dipoleX=DOUBLE X-component of the dipole with respect to body\n frame",
74 " --dipoleY=DOUBLE Y-component of the dipole with respect to body\n frame",
75 " --dipoleZ=DOUBLE Z-component of the dipole with respect to body\n frame",
76 " --v_radius=DOUBLE VanderWaals radiius for fictious atoms used in\n model eg. M site in TIP4P-FQ water model",
77 " --gen_xyz generates xyz file (default=off)",
78 " --atom_name=selection script\n name of atom for with average charge to be\n generated",
79 "\n Group: staticProps\n an option of this group is required",
80 " --bo bond order parameter (--rcut must be specified)",
81 " --ior icosahedral bond order parameter as a function\n of radius (--rcut must be specified)",
82 " --for FCC bond order parameter as a function of\n radius (--rcut must be specified)",
83 " --bad N(theta) bond angle density within (--rcut must\n be specified)",
84 " --count count of objects matching selection criteria\n (and associated statistics)",
85 " --mcount count of molecules matching selection criteria\n (and associated statistics)",
88 " --r_theta g(r, cos(theta))",
89 " --r_omega g(r, cos(omega))",
91 " --theta_omega g(cos(theta), cos(omega))",
92 " --r_theta_omega g(r, cos(theta), cos(omega))",
94 " --twodgofr 2D g(r) (Slab width --dz must be specified)",
95 " --kirkwood_buff Kirkwood-Buff integrals (--sele1 and --sele2\n must both be specified)",
96 " -p, --p2 p2 order parameter (--sele1 must be specified,\n --sele2 is optional)",
97 " --p2r p2 order parameter using r as director axis",
98 " --p2z p2 order parameter using z (or privilegedAxis)\n as director axis",
99 " --rp2 rp2 order parameter (--sele1 and --sele2 must\n be specified)",
100 " -s, --scd scd order parameter (either --sele1, --sele2,\n --sele3 are specified or --molname, --begin,\n --end are specified)",
101 " -d, --density density plot",
102 " --slab_density slab density, rho(z)",
103 " --pipe_density pipe density, rho(axis1, axis2)",
104 " --p_angle p(cos(theta)) (--sele1 must be specified,\n --sele2 is optional)",
107 " --angle_r angle of R",
108 " --hullvol hull volume of nanoparticle",
109 " --rodlength length of nanorod",
110 " -Q, --tet_param tetrahedrality order parameter (Qk)",
111 " --tet_param_z spatially-resolved tetrahedrality order\n parameter Qk(z)",
112 " --tet_param_r spatially-resolved tetrahedrality order\n parameter Qk(r) around a third selection",
113 " --tet_param_dens computes density of the tetrahedrality order\n parameter Qk",
114 " --tet_param_xyz volume-resolved tetrahedrality order parameter\n Qk(x,y,z). (voxelSize, rcut, and gaussWidth\n must be specified)",
115 " --trans_param_z spatially-resolved translational order\n parameter t(z)",
116 " --rnemdz slab-resolved RNEMD statistics (temperature,\n density, velocity)",
117 " --rnemdr shell-resolved RNEMD statistics (temperature,\n density, angular velocity)",
118 " --rnemdrt shell and angle-resolved RNEMD statistics\n (temperature, density, angular velocity)",
119 " --nitrile electrostatic potential to frequency map based\n on the Cho nitrile fits",
120 " -m, --multipole average multipole moments contained within\n cutoff spheres as a function of radius",
121 " --surfDiffusion X, Y, and R (surface diffusion if Z exposed and\n bulk immobile) diffusion",
122 " --cn Coordination Number Distribution",
123 " --scn Secondary Coordination Number Distribution",
124 " --gcn Generalized Coordination Number Distribution",
125 " --hbond Hydrogen Bonding statistics using geometric\n criteria (rcut and thetacut must be\n specified)",
126 " --hbondz Hydrogen Bonding density binned by z (rcut and\n thetacut must be specified)",
127 " --hbondzvol Hydrogen Bonding density binned by z and\n normalized by bin volume (rcut and thetacut\n must be specified)",
128 " --hbondr Hydrogen Bonding density binned by r (rcut and\n thetacut must be specified)",
129 " --hbondrvol Hydrogen Bonding density binned by r and\n normalized by bin volume (rcut and thetacut\n must be specified)",
130 " --potDiff potential energy difference when charge on\n selection is set to zero",
131 " --tet_hb hydrogen bond statistics binned by\n tetrahedrality of donor and acceptor\n molecules",
132 " -k, --kirkwood distance-dependent Kirkwood factor",
133 " --kirkwoodQ distance-dependent Kirkwood factor for\n quadrupoles",
134 " --densityfield computes an average density field",
135 " --velocityfield computes an average velocity field",
136 " --velocityZ computes an average two-dimensional velocity\n map",
137 " -D, --eam_density computes an average eam density profile of the\n selected atom",
138 " -q, --net_charge computes an average charge profile of the\n selected atom",
139 " -J, --current_density computes the current density for the selected\n atom",
140 " --chargez computes the charge distribution along selected\n axis and selected atom",
141 " --charger computes the charge density as a function of\n the radius and selected atom",
142 " --massdensityz computes the mass density of the selection\n along selected axis",
143 " --massdensityr computes the mass density of the selection as a\n function of the radius from the center of\n mass",
144 " --numberz computes the number density along selected axis\n and selected molcule",
145 " --numberr computes the number density as a function of\n the radius and selected molecule",
146 " --charge_density_z computes the continuous charge distribution\n along selected axis and selected atom",
147 " --countz computes the number of selected atoms along\n selected axis",
148 " -M, --momentum_distribution computes the momentum distribution for the\n selected atom",
149 " -S, --dipole_orientation spatially-resolved dipole order parameter S(z),\n S = (3 Cos^2\\theta - 1)/2",
150 " --order_prob probability of order parameter for given\n selection",
160} cmdline_parser_arg_type;
172cmdline_parser_required2 (
struct gengetopt_args_info *args_info,
const char *prog_name,
const char *additional_error);
174const char *cmdline_parser_privilegedAxis_values[] = {
"x",
"y",
"z", 0};
175const char *cmdline_parser_privilegedAxis2_values[] = {
"x",
"y",
"z", 0};
176const char *cmdline_parser_momentum_values[] = {
"P",
"J", 0};
177const char *cmdline_parser_component_values[] = {
"x",
"y",
"z", 0};
180gengetopt_strdup (
const char *s);
305 FIX_UNUSED (args_info);
380 args_info->
help_help = gengetopt_args_info_help[0] ;
382 args_info->
input_help = gengetopt_args_info_help[2] ;
383 args_info->
output_help = gengetopt_args_info_help[3] ;
384 args_info->
step_help = gengetopt_args_info_help[4] ;
385 args_info->
nbins_help = gengetopt_args_info_help[5] ;
389 args_info->
nrbins_help = gengetopt_args_info_help[9] ;
392 args_info->
rcut_help = gengetopt_args_info_help[12] ;
393 args_info->
OOcut_help = gengetopt_args_info_help[13] ;
395 args_info->
OHcut_help = gengetopt_args_info_help[15] ;
396 args_info->
dz_help = gengetopt_args_info_help[16] ;
397 args_info->
length_help = gengetopt_args_info_help[17] ;
398 args_info->
zlength_help = gengetopt_args_info_help[18] ;
399 args_info->
zoffset_help = gengetopt_args_info_help[19] ;
400 args_info->
sele1_help = gengetopt_args_info_help[20] ;
401 args_info->
sele2_help = gengetopt_args_info_help[21] ;
402 args_info->
sele3_help = gengetopt_args_info_help[22] ;
403 args_info->
refsele_help = gengetopt_args_info_help[23] ;
404 args_info->
comsele_help = gengetopt_args_info_help[24] ;
407 args_info->
molname_help = gengetopt_args_info_help[27] ;
408 args_info->
begin_help = gengetopt_args_info_help[28] ;
409 args_info->
end_help = gengetopt_args_info_help[29] ;
410 args_info->
radius_help = gengetopt_args_info_help[30] ;
417 args_info->
dipoleX_help = gengetopt_args_info_help[37] ;
418 args_info->
dipoleY_help = gengetopt_args_info_help[38] ;
419 args_info->
dipoleZ_help = gengetopt_args_info_help[39] ;
421 args_info->
gen_xyz_help = gengetopt_args_info_help[41] ;
423 args_info->
bo_help = gengetopt_args_info_help[44] ;
424 args_info->
ior_help = gengetopt_args_info_help[45] ;
425 args_info->
for_help = gengetopt_args_info_help[46] ;
426 args_info->
bad_help = gengetopt_args_info_help[47] ;
427 args_info->
count_help = gengetopt_args_info_help[48] ;
428 args_info->
mcount_help = gengetopt_args_info_help[49] ;
429 args_info->
gofr_help = gengetopt_args_info_help[50] ;
430 args_info->
gofz_help = gengetopt_args_info_help[51] ;
431 args_info->
r_theta_help = gengetopt_args_info_help[52] ;
432 args_info->
r_omega_help = gengetopt_args_info_help[53] ;
433 args_info->
r_z_help = gengetopt_args_info_help[54] ;
436 args_info->
gxyz_help = gengetopt_args_info_help[57] ;
439 args_info->
p2_help = gengetopt_args_info_help[60] ;
440 args_info->
p2r_help = gengetopt_args_info_help[61] ;
441 args_info->
p2z_help = gengetopt_args_info_help[62] ;
442 args_info->
rp2_help = gengetopt_args_info_help[63] ;
443 args_info->
scd_help = gengetopt_args_info_help[64] ;
444 args_info->
density_help = gengetopt_args_info_help[65] ;
447 args_info->
p_angle_help = gengetopt_args_info_help[68] ;
448 args_info->
hxy_help = gengetopt_args_info_help[69] ;
449 args_info->
rho_r_help = gengetopt_args_info_help[70] ;
450 args_info->
angle_r_help = gengetopt_args_info_help[71] ;
451 args_info->
hullvol_help = gengetopt_args_info_help[72] ;
459 args_info->
rnemdz_help = gengetopt_args_info_help[80] ;
460 args_info->
rnemdr_help = gengetopt_args_info_help[81] ;
461 args_info->
rnemdrt_help = gengetopt_args_info_help[82] ;
462 args_info->
nitrile_help = gengetopt_args_info_help[83] ;
465 args_info->
cn_help = gengetopt_args_info_help[86] ;
466 args_info->
scn_help = gengetopt_args_info_help[87] ;
467 args_info->
gcn_help = gengetopt_args_info_help[88] ;
468 args_info->
hbond_help = gengetopt_args_info_help[89] ;
469 args_info->
hbondz_help = gengetopt_args_info_help[90] ;
471 args_info->
hbondr_help = gengetopt_args_info_help[92] ;
473 args_info->
potDiff_help = gengetopt_args_info_help[94] ;
474 args_info->
tet_hb_help = gengetopt_args_info_help[95] ;
483 args_info->
chargez_help = gengetopt_args_info_help[104] ;
484 args_info->
charger_help = gengetopt_args_info_help[105] ;
487 args_info->
numberz_help = gengetopt_args_info_help[108] ;
488 args_info->
numberr_help = gengetopt_args_info_help[109] ;
490 args_info->
countz_help = gengetopt_args_info_help[111] ;
498cmdline_parser_print_version (
void)
504 if (strlen(gengetopt_args_info_versiontext) > 0)
505 printf(
"\n%s\n", gengetopt_args_info_versiontext);
508static void print_help_common(
void)
510 size_t len_purpose = strlen(gengetopt_args_info_purpose);
511 size_t len_usage = strlen(gengetopt_args_info_usage);
514 printf(
"%s\n", gengetopt_args_info_usage);
516 if (len_purpose > 0) {
517 printf(
"%s\n", gengetopt_args_info_purpose);
520 if (len_usage || len_purpose) {
524 if (strlen(gengetopt_args_info_description) > 0) {
525 printf(
"%s\n\n", gengetopt_args_info_description);
530cmdline_parser_print_help (
void)
534 while (gengetopt_args_info_help[i])
535 printf(
"%s\n", gengetopt_args_info_help[i++]);
541 clear_given (args_info);
542 clear_args (args_info);
543 init_args_info (args_info);
572free_string_field (
char **s)
586 free_string_field (&(args_info->
input_arg));
590 free_string_field (&(args_info->
step_orig));
598 free_string_field (&(args_info->
rcut_orig));
602 free_string_field (&(args_info->
dz_orig));
606 free_string_field (&(args_info->
sele1_arg));
608 free_string_field (&(args_info->
sele2_arg));
610 free_string_field (&(args_info->
sele3_arg));
621 free_string_field (&(args_info->
end_orig));
638 free (args_info->
inputs [i]);
643 clear_given (args_info);
654check_possible_values(
const char *val,
const char *values[])
664 for (i = 0, len = strlen(val); values[i]; ++i)
666 if (strncmp(val, values[i], len) == 0)
670 if (strlen(values[i]) == len)
678 return (found ? -2 : -1);
683write_into_file(FILE *outfile,
const char *opt,
const char *arg,
const char *values[])
688 found = check_possible_values(arg, values);
691 fprintf(outfile,
"%s=\"%s\" # %s\n", opt, arg, values[found]);
693 fprintf(outfile,
"%s=\"%s\"\n", opt, arg);
695 fprintf(outfile,
"%s\n", opt);
712 write_into_file(outfile,
"help", 0, 0 );
714 write_into_file(outfile,
"version", 0, 0 );
716 write_into_file(outfile,
"input", args_info->
input_orig, 0);
718 write_into_file(outfile,
"output", args_info->
output_orig, 0);
720 write_into_file(outfile,
"step", args_info->
step_orig, 0);
722 write_into_file(outfile,
"nbins", args_info->
nbins_orig, 0);
724 write_into_file(outfile,
"nbins_x", args_info->
nbins_x_orig, 0);
726 write_into_file(outfile,
"nbins_y", args_info->
nbins_y_orig, 0);
728 write_into_file(outfile,
"nbins_z", args_info->
nbins_z_orig, 0);
730 write_into_file(outfile,
"nrbins", args_info->
nrbins_orig, 0);
732 write_into_file(outfile,
"binWidth", args_info->
binWidth_orig, 0);
736 write_into_file(outfile,
"rcut", args_info->
rcut_orig, 0);
738 write_into_file(outfile,
"OOcut", args_info->
OOcut_orig, 0);
740 write_into_file(outfile,
"thetacut", args_info->
thetacut_orig, 0);
742 write_into_file(outfile,
"OHcut", args_info->
OHcut_orig, 0);
744 write_into_file(outfile,
"dz", args_info->
dz_orig, 0);
746 write_into_file(outfile,
"length", args_info->
length_orig, 0);
748 write_into_file(outfile,
"zlength", args_info->
zlength_orig, 0);
750 write_into_file(outfile,
"zoffset", args_info->
zoffset_orig, 0);
752 write_into_file(outfile,
"sele1", args_info->
sele1_orig, 0);
754 write_into_file(outfile,
"sele2", args_info->
sele2_orig, 0);
756 write_into_file(outfile,
"sele3", args_info->
sele3_orig, 0);
758 write_into_file(outfile,
"refsele", args_info->
refsele_orig, 0);
760 write_into_file(outfile,
"comsele", args_info->
comsele_orig, 0);
766 write_into_file(outfile,
"molname", args_info->
molname_orig, 0);
768 write_into_file(outfile,
"begin", args_info->
begin_orig, 0);
770 write_into_file(outfile,
"end", args_info->
end_orig, 0);
772 write_into_file(outfile,
"radius", args_info->
radius_orig, 0);
774 write_into_file(outfile,
"voxelSize", args_info->
voxelSize_orig, 0);
778 write_into_file(outfile,
"privilegedAxis", args_info->
privilegedAxis_orig, cmdline_parser_privilegedAxis_values);
780 write_into_file(outfile,
"privilegedAxis2", args_info->
privilegedAxis2_orig, cmdline_parser_privilegedAxis2_values);
782 write_into_file(outfile,
"momentum", args_info->
momentum_orig, cmdline_parser_momentum_values);
784 write_into_file(outfile,
"component", args_info->
component_orig, cmdline_parser_component_values);
786 write_into_file(outfile,
"dipoleX", args_info->
dipoleX_orig, 0);
788 write_into_file(outfile,
"dipoleY", args_info->
dipoleY_orig, 0);
790 write_into_file(outfile,
"dipoleZ", args_info->
dipoleZ_orig, 0);
792 write_into_file(outfile,
"v_radius", args_info->
v_radius_orig, 0);
794 write_into_file(outfile,
"gen_xyz", 0, 0 );
796 write_into_file(outfile,
"atom_name", args_info->
atom_name_orig, 0);
798 write_into_file(outfile,
"bo", 0, 0 );
800 write_into_file(outfile,
"ior", 0, 0 );
802 write_into_file(outfile,
"for", 0, 0 );
804 write_into_file(outfile,
"bad", 0, 0 );
806 write_into_file(outfile,
"count", 0, 0 );
808 write_into_file(outfile,
"mcount", 0, 0 );
810 write_into_file(outfile,
"gofr", 0, 0 );
812 write_into_file(outfile,
"gofz", 0, 0 );
814 write_into_file(outfile,
"r_theta", 0, 0 );
816 write_into_file(outfile,
"r_omega", 0, 0 );
818 write_into_file(outfile,
"r_z", 0, 0 );
820 write_into_file(outfile,
"theta_omega", 0, 0 );
822 write_into_file(outfile,
"r_theta_omega", 0, 0 );
824 write_into_file(outfile,
"gxyz", 0, 0 );
826 write_into_file(outfile,
"twodgofr", 0, 0 );
828 write_into_file(outfile,
"kirkwood_buff", 0, 0 );
830 write_into_file(outfile,
"p2", 0, 0 );
832 write_into_file(outfile,
"p2r", 0, 0 );
834 write_into_file(outfile,
"p2z", 0, 0 );
836 write_into_file(outfile,
"rp2", 0, 0 );
838 write_into_file(outfile,
"scd", 0, 0 );
840 write_into_file(outfile,
"density", 0, 0 );
842 write_into_file(outfile,
"slab_density", 0, 0 );
844 write_into_file(outfile,
"pipe_density", 0, 0 );
846 write_into_file(outfile,
"p_angle", 0, 0 );
848 write_into_file(outfile,
"hxy", 0, 0 );
850 write_into_file(outfile,
"rho_r", 0, 0 );
852 write_into_file(outfile,
"angle_r", 0, 0 );
854 write_into_file(outfile,
"hullvol", 0, 0 );
856 write_into_file(outfile,
"rodlength", 0, 0 );
858 write_into_file(outfile,
"tet_param", 0, 0 );
860 write_into_file(outfile,
"tet_param_z", 0, 0 );
862 write_into_file(outfile,
"tet_param_r", 0, 0 );
864 write_into_file(outfile,
"tet_param_dens", 0, 0 );
866 write_into_file(outfile,
"tet_param_xyz", 0, 0 );
868 write_into_file(outfile,
"trans_param_z", 0, 0 );
870 write_into_file(outfile,
"rnemdz", 0, 0 );
872 write_into_file(outfile,
"rnemdr", 0, 0 );
874 write_into_file(outfile,
"rnemdrt", 0, 0 );
876 write_into_file(outfile,
"nitrile", 0, 0 );
878 write_into_file(outfile,
"multipole", 0, 0 );
880 write_into_file(outfile,
"surfDiffusion", 0, 0 );
882 write_into_file(outfile,
"cn", 0, 0 );
884 write_into_file(outfile,
"scn", 0, 0 );
886 write_into_file(outfile,
"gcn", 0, 0 );
888 write_into_file(outfile,
"hbond", 0, 0 );
890 write_into_file(outfile,
"hbondz", 0, 0 );
892 write_into_file(outfile,
"hbondzvol", 0, 0 );
894 write_into_file(outfile,
"hbondr", 0, 0 );
896 write_into_file(outfile,
"hbondrvol", 0, 0 );
898 write_into_file(outfile,
"potDiff", 0, 0 );
900 write_into_file(outfile,
"tet_hb", 0, 0 );
902 write_into_file(outfile,
"kirkwood", 0, 0 );
904 write_into_file(outfile,
"kirkwoodQ", 0, 0 );
906 write_into_file(outfile,
"densityfield", 0, 0 );
908 write_into_file(outfile,
"velocityfield", 0, 0 );
910 write_into_file(outfile,
"velocityZ", 0, 0 );
912 write_into_file(outfile,
"eam_density", 0, 0 );
914 write_into_file(outfile,
"net_charge", 0, 0 );
916 write_into_file(outfile,
"current_density", 0, 0 );
918 write_into_file(outfile,
"chargez", 0, 0 );
920 write_into_file(outfile,
"charger", 0, 0 );
922 write_into_file(outfile,
"massdensityz", 0, 0 );
924 write_into_file(outfile,
"massdensityr", 0, 0 );
926 write_into_file(outfile,
"numberz", 0, 0 );
928 write_into_file(outfile,
"numberr", 0, 0 );
930 write_into_file(outfile,
"charge_density_z", 0, 0 );
932 write_into_file(outfile,
"countz", 0, 0 );
934 write_into_file(outfile,
"momentum_distribution", 0, 0 );
936 write_into_file(outfile,
"dipole_orientation", 0, 0 );
938 write_into_file(outfile,
"order_prob", 0, 0 );
951 outfile = fopen(filename,
"w");
968 cmdline_parser_release (args_info);
973gengetopt_strdup (
const char *s)
979 result = (
char*)malloc(strlen(s) + 1);
980 if (result == (
char*)0)
1078 result = cmdline_parser_internal (argc, argv, args_info, params, 0);
1095 result = cmdline_parser_internal (argc, argv, args_info, ¶ms, 0);
1103 int result = EXIT_SUCCESS;
1105 if (cmdline_parser_required2(args_info, prog_name, 0) > 0)
1106 result = EXIT_FAILURE;
1112cmdline_parser_required2 (
struct gengetopt_args_info *args_info,
const char *prog_name,
const char *additional_error)
1114 int error_occurred = 0;
1115 FIX_UNUSED (additional_error);
1120 fprintf (stderr,
"%s: '--input' ('-i') option required%s\n", prog_name, (additional_error ? additional_error :
""));
1126 fprintf (stderr,
"%s: %d options of group staticProps were given. One is required%s.\n", prog_name, args_info->
staticProps_group_counter, (additional_error ? additional_error :
""));
1133 return error_occurred;
1188#define no_argument 0
1191#ifndef required_argument
1192#define required_argument 1
1195#ifndef optional_argument
1196#define optional_argument 2
1199struct custom_getopt_data {
1207 char *custom_optarg;
1241static char *custom_optarg;
1258static int custom_optind = 1;
1264static int custom_opterr = 1;
1270static int custom_optopt =
'?';
1280static void exchange(
char **argv,
struct custom_getopt_data *d)
1282 int bottom = d->first_nonopt;
1283 int middle = d->last_nonopt;
1284 int top = d->custom_optind;
1293 while (top > middle && middle > bottom) {
1294 if (top - middle > middle - bottom) {
1296 int len = middle - bottom;
1300 for (i = 0; i < len; i++) {
1301 tem = argv[bottom + i];
1303 argv[top - (middle - bottom) + i];
1304 argv[top - (middle - bottom) + i] = tem;
1310 int len = top - middle;
1314 for (i = 0; i < len; i++) {
1315 tem = argv[bottom + i];
1316 argv[bottom + i] = argv[middle + i];
1317 argv[middle + i] = tem;
1324 d->first_nonopt += (d->custom_optind - d->last_nonopt);
1325 d->last_nonopt = d->custom_optind;
1329static void custom_getopt_initialize(
struct custom_getopt_data *d)
1336 d->first_nonopt = d->last_nonopt = d->custom_optind;
1341#define NONOPTION_P (argv[d->custom_optind][0] != '-' || argv[d->custom_optind][1] == '\0')
1344static int shuffle_argv(
int argc,
char *
const *argv,
const struct option *longopts,
1345 struct custom_getopt_data *d)
1351 if (d->last_nonopt > d->custom_optind)
1352 d->last_nonopt = d->custom_optind;
1353 if (d->first_nonopt > d->custom_optind)
1354 d->first_nonopt = d->custom_optind;
1359 if (d->first_nonopt != d->last_nonopt &&
1360 d->last_nonopt != d->custom_optind)
1361 exchange((
char **) argv, d);
1362 else if (d->last_nonopt != d->custom_optind)
1363 d->first_nonopt = d->custom_optind;
1368 while (d->custom_optind < argc && NONOPTION_P)
1370 d->last_nonopt = d->custom_optind;
1376 if (d->custom_optind != argc && !strcmp(argv[d->custom_optind],
"--")) {
1378 if (d->first_nonopt != d->last_nonopt
1379 && d->last_nonopt != d->custom_optind)
1380 exchange((
char **) argv, d);
1381 else if (d->first_nonopt == d->last_nonopt)
1382 d->first_nonopt = d->custom_optind;
1383 d->last_nonopt = argc;
1384 d->custom_optind = argc;
1390 if (d->custom_optind == argc) {
1395 if (d->first_nonopt != d->last_nonopt)
1396 d->custom_optind = d->first_nonopt;
1404 d->custom_optarg = argv[d->custom_optind++];
1411 d->nextchar = (argv[d->custom_optind] + 1 + (longopts != NULL && argv[d->custom_optind][1] ==
'-'));
1425static int check_long_opt(
int argc,
char *
const *argv,
const char *optstring,
1426 const struct option *longopts,
int *longind,
1427 int print_errors,
struct custom_getopt_data *d)
1430 const struct option *p;
1431 const struct option *pfound = NULL;
1437 for (nameend = d->nextchar; *nameend && *nameend !=
'='; nameend++)
1441 for (p = longopts, option_index = 0; p->name; p++, option_index++)
1442 if (!strncmp(p->name, d->nextchar, nameend - d->nextchar)) {
1443 if ((
unsigned int) (nameend - d->nextchar)
1444 == (
unsigned int) strlen(p->name)) {
1447 indfound = option_index;
1450 }
else if (pfound == NULL) {
1453 indfound = option_index;
1454 }
else if (pfound->has_arg != p->has_arg
1455 || pfound->flag != p->flag
1456 || pfound->val != p->val)
1460 if (ambig && !exact) {
1463 "%s: option `%s' is ambiguous\n",
1464 argv[0], argv[d->custom_optind]);
1466 d->nextchar += strlen(d->nextchar);
1468 d->custom_optopt = 0;
1472 option_index = indfound;
1475 if (pfound->has_arg != no_argument)
1476 d->custom_optarg = nameend + 1;
1479 if (argv[d->custom_optind - 1][1] ==
'-') {
1481 fprintf(stderr,
"%s: option `--%s' doesn't allow an argument\n",
1482 argv[0], pfound->name);
1485 fprintf(stderr,
"%s: option `%c%s' doesn't allow an argument\n",
1486 argv[0], argv[d->custom_optind - 1][0], pfound->name);
1490 d->nextchar += strlen(d->nextchar);
1491 d->custom_optopt = pfound->val;
1494 }
else if (pfound->has_arg == required_argument) {
1495 if (d->custom_optind < argc)
1496 d->custom_optarg = argv[d->custom_optind++];
1500 "%s: option `%s' requires an argument\n",
1502 argv[d->custom_optind - 1]);
1504 d->nextchar += strlen(d->nextchar);
1505 d->custom_optopt = pfound->val;
1506 return optstring[0] ==
':' ?
':' :
'?';
1509 d->nextchar += strlen(d->nextchar);
1510 if (longind != NULL)
1511 *longind = option_index;
1513 *(pfound->flag) = pfound->val;
1524 if (argv[d->custom_optind][1] ==
'-') {
1527 "%s: unrecognized option `--%s'\n",
1528 argv[0], d->nextchar);
1532 "%s: unrecognized option `%c%s'\n",
1533 argv[0], argv[d->custom_optind][0],
1537 d->nextchar = (
char *)
"";
1539 d->custom_optopt = 0;
1543static int check_short_opt(
int argc,
char *
const *argv,
const char *optstring,
1544 int print_errors,
struct custom_getopt_data *d)
1546 char c = *d->nextchar++;
1547 const char *temp = strchr(optstring, c);
1550 if (*d->nextchar ==
'\0')
1552 if (!temp || c ==
':') {
1554 fprintf(stderr,
"%s: invalid option -- %c\n", argv[0], c);
1556 d->custom_optopt = c;
1559 if (temp[1] ==
':') {
1560 if (temp[2] ==
':') {
1562 if (*d->nextchar !=
'\0') {
1563 d->custom_optarg = d->nextchar;
1566 d->custom_optarg = NULL;
1570 if (*d->nextchar !=
'\0') {
1571 d->custom_optarg = d->nextchar;
1578 }
else if (d->custom_optind == argc) {
1581 "%s: option requires an argument -- %c\n",
1584 d->custom_optopt = c;
1585 if (optstring[0] ==
':')
1595 d->custom_optarg = argv[d->custom_optind++];
1672static int getopt_internal_r(
int argc,
char *
const *argv,
const char *optstring,
1673 const struct option *longopts,
int *longind,
1674 struct custom_getopt_data *d)
1676 int ret, print_errors = d->custom_opterr;
1678 if (optstring[0] ==
':')
1682 d->custom_optarg = NULL;
1688 if (d->custom_optind == 0 || !d->initialized) {
1689 if (d->custom_optind == 0)
1690 d->custom_optind = 1;
1691 custom_getopt_initialize(d);
1693 if (d->nextchar == NULL || *d->nextchar ==
'\0') {
1694 ret = shuffle_argv(argc, argv, longopts, d);
1698 if (longopts && (argv[d->custom_optind][1] ==
'-' ))
1699 return check_long_opt(argc, argv, optstring, longopts,
1700 longind, print_errors, d);
1701 return check_short_opt(argc, argv, optstring, print_errors, d);
1704static int custom_getopt_internal(
int argc,
char *
const *argv,
const char *optstring,
1705 const struct option *longopts,
int *longind)
1709 static struct custom_getopt_data d;
1711 d.custom_optind = custom_optind;
1712 d.custom_opterr = custom_opterr;
1713 result = getopt_internal_r(argc, argv, optstring, longopts,
1715 custom_optind = d.custom_optind;
1716 custom_optarg = d.custom_optarg;
1717 custom_optopt = d.custom_optopt;
1721static int custom_getopt_long (
int argc,
char *
const *argv,
const char *options,
1722 const struct option *long_options,
int *opt_index)
1724 return custom_getopt_internal(argc, argv, options, long_options,
1729static char *package_name = 0;
1750int update_arg(
void *field,
char **orig_field,
1751 unsigned int *field_given,
unsigned int *prev_given,
1752 char *value,
const char *possible_values[],
1753 const char *default_value,
1754 cmdline_parser_arg_type arg_type,
1755 int check_ambiguity,
int override,
1756 int no_free,
int multiple_option,
1757 const char *long_opt,
char short_opt,
1758 const char *additional_error)
1760 char *stop_char = 0;
1761 const char *val = value;
1763 char **string_field;
1769 if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given)))
1771 if (short_opt !=
'-')
1772 fprintf (stderr,
"%s: `--%s' (`-%c') option given more than once%s\n",
1773 package_name, long_opt, short_opt,
1774 (additional_error ? additional_error :
""));
1776 fprintf (stderr,
"%s: `--%s' option given more than once%s\n",
1777 package_name, long_opt,
1778 (additional_error ? additional_error :
""));
1782 if (possible_values && (found = check_possible_values((value ? value : default_value), possible_values)) < 0)
1784 if (short_opt !=
'-')
1785 fprintf (stderr,
"%s: %s argument, \"%s\", for option `--%s' (`-%c')%s\n",
1786 package_name, (found == -2) ?
"ambiguous" :
"invalid", value, long_opt, short_opt,
1787 (additional_error ? additional_error :
""));
1789 fprintf (stderr,
"%s: %s argument, \"%s\", for option `--%s'%s\n",
1790 package_name, (found == -2) ?
"ambiguous" :
"invalid", value, long_opt,
1791 (additional_error ? additional_error :
""));
1795 if (field_given && *field_given && !
override)
1801 if (possible_values)
1802 val = possible_values[found];
1806 *((
int *)field) = !*((
int *)field);
1809 if (val) *((
int *)field) = strtol (val, &stop_char, 0);
1812 if (val) *((
double *)field) = strtod (val, &stop_char);
1815 if (val) *((
int *)field) = found;
1819 string_field = (
char **)field;
1820 if (!no_free && *string_field)
1821 free (*string_field);
1822 *string_field = gengetopt_strdup (val);
1833 if (val && !(stop_char && *stop_char ==
'\0')) {
1834 fprintf(stderr,
"%s: invalid numeric value: %s\n", package_name, val);
1848 if (value && orig_field) {
1850 *orig_field = value;
1854 *orig_field = gengetopt_strdup (value);
1864cmdline_parser_internal (
1870 int error_occurred = 0;
1876 int check_ambiguity;
1883 package_name = argv[0];
1887 FIX_UNUSED(
override);
1894 FIX_UNUSED(check_ambiguity);
1908 int option_index = 0;
1910 static struct option long_options[] = {
1911 {
"help", 0, NULL,
'h' },
1912 {
"version", 0, NULL,
'V' },
1913 {
"input", 1, NULL,
'i' },
1914 {
"output", 1, NULL,
'o' },
1915 {
"step", 1, NULL,
'n' },
1916 {
"nbins", 1, NULL,
'b' },
1917 {
"nbins_x", 1, NULL,
'x' },
1918 {
"nbins_y", 1, NULL,
'y' },
1919 {
"nbins_z", 1, NULL, 0 },
1920 {
"nrbins", 1, NULL,
'r' },
1921 {
"binWidth", 1, NULL, 0 },
1922 {
"nanglebins", 1, NULL,
'a' },
1923 {
"rcut", 1, NULL,
'c' },
1924 {
"OOcut", 1, NULL, 0 },
1925 {
"thetacut", 1, NULL, 0 },
1926 {
"OHcut", 1, NULL, 0 },
1927 {
"dz", 1, NULL, 0 },
1928 {
"length", 1, NULL, 0 },
1929 {
"zlength", 1, NULL, 0 },
1930 {
"zoffset", 1, NULL,
'z' },
1931 {
"sele1", 1, NULL, 0 },
1932 {
"sele2", 1, NULL, 0 },
1933 {
"sele3", 1, NULL, 0 },
1934 {
"refsele", 1, NULL, 0 },
1935 {
"comsele", 1, NULL, 0 },
1936 {
"seleoffset", 1, NULL, 0 },
1937 {
"seleoffset2", 1, NULL, 0 },
1938 {
"molname", 1, NULL, 0 },
1939 {
"begin", 1, NULL, 0 },
1940 {
"end", 1, NULL, 0 },
1941 {
"radius", 1, NULL, 0 },
1942 {
"voxelSize", 1, NULL,
'v' },
1943 {
"gaussWidth", 1, NULL, 0 },
1944 {
"privilegedAxis", 1, NULL, 0 },
1945 {
"privilegedAxis2", 1, NULL, 0 },
1946 {
"momentum", 1, NULL, 0 },
1947 {
"component", 1, NULL, 0 },
1948 {
"dipoleX", 1, NULL, 0 },
1949 {
"dipoleY", 1, NULL, 0 },
1950 {
"dipoleZ", 1, NULL, 0 },
1951 {
"v_radius", 1, NULL, 0 },
1952 {
"gen_xyz", 0, NULL, 0 },
1953 {
"atom_name", 1, NULL, 0 },
1954 {
"bo", 0, NULL, 0 },
1955 {
"ior", 0, NULL, 0 },
1956 {
"for", 0, NULL, 0 },
1957 {
"bad", 0, NULL, 0 },
1958 {
"count", 0, NULL, 0 },
1959 {
"mcount", 0, NULL, 0 },
1960 {
"gofr", 0, NULL,
'g' },
1961 {
"gofz", 0, NULL, 0 },
1962 {
"r_theta", 0, NULL, 0 },
1963 {
"r_omega", 0, NULL, 0 },
1964 {
"r_z", 0, NULL, 0 },
1965 {
"theta_omega", 0, NULL, 0 },
1966 {
"r_theta_omega", 0, NULL, 0 },
1967 {
"gxyz", 0, NULL, 0 },
1968 {
"twodgofr", 0, NULL, 0 },
1969 {
"kirkwood_buff", 0, NULL, 0 },
1970 {
"p2", 0, NULL,
'p' },
1971 {
"p2r", 0, NULL, 0 },
1972 {
"p2z", 0, NULL, 0 },
1973 {
"rp2", 0, NULL, 0 },
1974 {
"scd", 0, NULL,
's' },
1975 {
"density", 0, NULL,
'd' },
1976 {
"slab_density", 0, NULL, 0 },
1977 {
"pipe_density", 0, NULL, 0 },
1978 {
"p_angle", 0, NULL, 0 },
1979 {
"hxy", 0, NULL, 0 },
1980 {
"rho_r", 0, NULL, 0 },
1981 {
"angle_r", 0, NULL, 0 },
1982 {
"hullvol", 0, NULL, 0 },
1983 {
"rodlength", 0, NULL, 0 },
1984 {
"tet_param", 0, NULL,
'Q' },
1985 {
"tet_param_z", 0, NULL, 0 },
1986 {
"tet_param_r", 0, NULL, 0 },
1987 {
"tet_param_dens", 0, NULL, 0 },
1988 {
"tet_param_xyz", 0, NULL, 0 },
1989 {
"trans_param_z", 0, NULL, 0 },
1990 {
"rnemdz", 0, NULL, 0 },
1991 {
"rnemdr", 0, NULL, 0 },
1992 {
"rnemdrt", 0, NULL, 0 },
1993 {
"nitrile", 0, NULL, 0 },
1994 {
"multipole", 0, NULL,
'm' },
1995 {
"surfDiffusion", 0, NULL, 0 },
1996 {
"cn", 0, NULL, 0 },
1997 {
"scn", 0, NULL, 0 },
1998 {
"gcn", 0, NULL, 0 },
1999 {
"hbond", 0, NULL, 0 },
2000 {
"hbondz", 0, NULL, 0 },
2001 {
"hbondzvol", 0, NULL, 0 },
2002 {
"hbondr", 0, NULL, 0 },
2003 {
"hbondrvol", 0, NULL, 0 },
2004 {
"potDiff", 0, NULL, 0 },
2005 {
"tet_hb", 0, NULL, 0 },
2006 {
"kirkwood", 0, NULL,
'k' },
2007 {
"kirkwoodQ", 0, NULL, 0 },
2008 {
"densityfield", 0, NULL, 0 },
2009 {
"velocityfield", 0, NULL, 0 },
2010 {
"velocityZ", 0, NULL, 0 },
2011 {
"eam_density", 0, NULL,
'D' },
2012 {
"net_charge", 0, NULL,
'q' },
2013 {
"current_density", 0, NULL,
'J' },
2014 {
"chargez", 0, NULL, 0 },
2015 {
"charger", 0, NULL, 0 },
2016 {
"massdensityz", 0, NULL, 0 },
2017 {
"massdensityr", 0, NULL, 0 },
2018 {
"numberz", 0, NULL, 0 },
2019 {
"numberr", 0, NULL, 0 },
2020 {
"charge_density_z", 0, NULL, 0 },
2021 {
"countz", 0, NULL, 0 },
2022 {
"momentum_distribution", 0, NULL,
'M' },
2023 {
"dipole_orientation", 0, NULL,
'S' },
2024 {
"order_prob", 0, NULL, 0 },
2028 custom_optarg = optarg;
2029 custom_optind = optind;
2030 custom_opterr = opterr;
2031 custom_optopt = optopt;
2033 c = custom_getopt_long (argc, argv,
"hVi:o:n:b:x:y:r:a:c:z:v:gpsdQmkDqJMS", long_options, &option_index);
2035 optarg = custom_optarg;
2036 optind = custom_optind;
2037 opterr = custom_opterr;
2038 optopt = custom_optopt;
2045 cmdline_parser_print_help ();
2046 cmdline_parser_free (&local_args_info);
2047 exit (EXIT_SUCCESS);
2050 cmdline_parser_print_version ();
2051 cmdline_parser_free (&local_args_info);
2052 exit (EXIT_SUCCESS);
2057 if (update_arg( (
void *)&(args_info->
input_arg),
2059 &(local_args_info.input_given), optarg, 0, 0, ARG_STRING,
2060 check_ambiguity,
override, 0, 0,
2069 if (update_arg( (
void *)&(args_info->
output_arg),
2071 &(local_args_info.output_given), optarg, 0, 0, ARG_STRING,
2072 check_ambiguity,
override, 0, 0,
2081 if (update_arg( (
void *)&(args_info->
step_arg),
2083 &(local_args_info.step_given), optarg, 0,
"1", ARG_INT,
2084 check_ambiguity,
override, 0, 0,
2093 if (update_arg( (
void *)&(args_info->
nbins_arg),
2095 &(local_args_info.nbins_given), optarg, 0,
"100", ARG_INT,
2096 check_ambiguity,
override, 0, 0,
2105 if (update_arg( (
void *)&(args_info->
nbins_x_arg),
2107 &(local_args_info.nbins_x_given), optarg, 0,
"100", ARG_INT,
2108 check_ambiguity,
override, 0, 0,
2117 if (update_arg( (
void *)&(args_info->
nbins_y_arg),
2119 &(local_args_info.nbins_y_given), optarg, 0,
"100", ARG_INT,
2120 check_ambiguity,
override, 0, 0,
2129 if (update_arg( (
void *)&(args_info->
nrbins_arg),
2131 &(local_args_info.nrbins_given), optarg, 0,
"100", ARG_INT,
2132 check_ambiguity,
override, 0, 0,
2143 &(local_args_info.nanglebins_given), optarg, 0,
"50", ARG_INT,
2144 check_ambiguity,
override, 0, 0,
2153 if (update_arg( (
void *)&(args_info->
rcut_arg),
2155 &(local_args_info.rcut_given), optarg, 0, 0, ARG_DOUBLE,
2156 check_ambiguity,
override, 0, 0,
2165 if (update_arg( (
void *)&(args_info->
zoffset_arg),
2167 &(local_args_info.zoffset_given), optarg, 0,
"0", ARG_DOUBLE,
2168 check_ambiguity,
override, 0, 0,
2179 &(local_args_info.voxelSize_given), optarg, 0, 0, ARG_DOUBLE,
2180 check_ambiguity,
override, 0, 0,
2189 reset_group_staticProps (args_info);
2194 &(local_args_info.gofr_given), optarg, 0, 0, ARG_NO,
2195 check_ambiguity,
override, 0, 0,
2204 reset_group_staticProps (args_info);
2209 &(local_args_info.p2_given), optarg, 0, 0, ARG_NO,
2210 check_ambiguity,
override, 0, 0,
2219 reset_group_staticProps (args_info);
2224 &(local_args_info.scd_given), optarg, 0, 0, ARG_NO,
2225 check_ambiguity,
override, 0, 0,
2234 reset_group_staticProps (args_info);
2239 &(local_args_info.density_given), optarg, 0, 0, ARG_NO,
2240 check_ambiguity,
override, 0, 0,
2249 reset_group_staticProps (args_info);
2254 &(local_args_info.tet_param_given), optarg, 0, 0, ARG_NO,
2255 check_ambiguity,
override, 0, 0,
2264 reset_group_staticProps (args_info);
2269 &(local_args_info.multipole_given), optarg, 0, 0, ARG_NO,
2270 check_ambiguity,
override, 0, 0,
2279 reset_group_staticProps (args_info);
2284 &(local_args_info.kirkwood_given), optarg, 0, 0, ARG_NO,
2285 check_ambiguity,
override, 0, 0,
2294 reset_group_staticProps (args_info);
2299 &(local_args_info.eam_density_given), optarg, 0, 0, ARG_NO,
2300 check_ambiguity,
override, 0, 0,
2309 reset_group_staticProps (args_info);
2314 &(local_args_info.net_charge_given), optarg, 0, 0, ARG_NO,
2315 check_ambiguity,
override, 0, 0,
2324 reset_group_staticProps (args_info);
2329 &(local_args_info.current_density_given), optarg, 0, 0, ARG_NO,
2330 check_ambiguity,
override, 0, 0,
2331 "current_density",
'J',
2339 reset_group_staticProps (args_info);
2344 &(local_args_info.momentum_distribution_given), optarg, 0, 0, ARG_NO,
2345 check_ambiguity,
override, 0, 0,
2346 "momentum_distribution",
'M',
2354 reset_group_staticProps (args_info);
2359 &(local_args_info.dipole_orientation_given), optarg, 0, 0, ARG_NO,
2360 check_ambiguity,
override, 0, 0,
2361 "dipole_orientation",
'S',
2369 if (strcmp (long_options[option_index].name,
"nbins_z") == 0)
2373 if (update_arg( (
void *)&(args_info->
nbins_z_arg),
2375 &(local_args_info.nbins_z_given), optarg, 0,
"100", ARG_INT,
2376 check_ambiguity,
override, 0, 0,
2383 else if (strcmp (long_options[option_index].name,
"binWidth") == 0)
2389 &(local_args_info.binWidth_given), optarg, 0,
"1.0", ARG_DOUBLE,
2390 check_ambiguity,
override, 0, 0,
2397 else if (strcmp (long_options[option_index].name,
"OOcut") == 0)
2401 if (update_arg( (
void *)&(args_info->
OOcut_arg),
2403 &(local_args_info.OOcut_given), optarg, 0,
"3.5", ARG_DOUBLE,
2404 check_ambiguity,
override, 0, 0,
2411 else if (strcmp (long_options[option_index].name,
"thetacut") == 0)
2417 &(local_args_info.thetacut_given), optarg, 0,
"30", ARG_DOUBLE,
2418 check_ambiguity,
override, 0, 0,
2425 else if (strcmp (long_options[option_index].name,
"OHcut") == 0)
2429 if (update_arg( (
void *)&(args_info->
OHcut_arg),
2431 &(local_args_info.OHcut_given), optarg, 0,
"2.45", ARG_DOUBLE,
2432 check_ambiguity,
override, 0, 0,
2439 else if (strcmp (long_options[option_index].name,
"dz") == 0)
2443 if (update_arg( (
void *)&(args_info->
dz_arg),
2445 &(local_args_info.dz_given), optarg, 0, 0, ARG_DOUBLE,
2446 check_ambiguity,
override, 0, 0,
2453 else if (strcmp (long_options[option_index].name,
"length") == 0)
2457 if (update_arg( (
void *)&(args_info->
length_arg),
2459 &(local_args_info.length_given), optarg, 0, 0, ARG_DOUBLE,
2460 check_ambiguity,
override, 0, 0,
2467 else if (strcmp (long_options[option_index].name,
"zlength") == 0)
2471 if (update_arg( (
void *)&(args_info->
zlength_arg),
2473 &(local_args_info.zlength_given), optarg, 0, 0, ARG_DOUBLE,
2474 check_ambiguity,
override, 0, 0,
2481 else if (strcmp (long_options[option_index].name,
"sele1") == 0)
2485 if (update_arg( (
void *)&(args_info->
sele1_arg),
2487 &(local_args_info.sele1_given), optarg, 0, 0, ARG_STRING,
2488 check_ambiguity,
override, 0, 0,
2495 else if (strcmp (long_options[option_index].name,
"sele2") == 0)
2499 if (update_arg( (
void *)&(args_info->
sele2_arg),
2501 &(local_args_info.sele2_given), optarg, 0, 0, ARG_STRING,
2502 check_ambiguity,
override, 0, 0,
2509 else if (strcmp (long_options[option_index].name,
"sele3") == 0)
2513 if (update_arg( (
void *)&(args_info->
sele3_arg),
2515 &(local_args_info.sele3_given), optarg, 0, 0, ARG_STRING,
2516 check_ambiguity,
override, 0, 0,
2523 else if (strcmp (long_options[option_index].name,
"refsele") == 0)
2527 if (update_arg( (
void *)&(args_info->
refsele_arg),
2529 &(local_args_info.refsele_given), optarg, 0, 0, ARG_STRING,
2530 check_ambiguity,
override, 0, 0,
2537 else if (strcmp (long_options[option_index].name,
"comsele") == 0)
2541 if (update_arg( (
void *)&(args_info->
comsele_arg),
2543 &(local_args_info.comsele_given), optarg, 0, 0, ARG_STRING,
2544 check_ambiguity,
override, 0, 0,
2551 else if (strcmp (long_options[option_index].name,
"seleoffset") == 0)
2557 &(local_args_info.seleoffset_given), optarg, 0, 0, ARG_INT,
2558 check_ambiguity,
override, 0, 0,
2565 else if (strcmp (long_options[option_index].name,
"seleoffset2") == 0)
2571 &(local_args_info.seleoffset2_given), optarg, 0, 0, ARG_INT,
2572 check_ambiguity,
override, 0, 0,
2579 else if (strcmp (long_options[option_index].name,
"molname") == 0)
2583 if (update_arg( (
void *)&(args_info->
molname_arg),
2585 &(local_args_info.molname_given), optarg, 0, 0, ARG_STRING,
2586 check_ambiguity,
override, 0, 0,
2593 else if (strcmp (long_options[option_index].name,
"begin") == 0)
2597 if (update_arg( (
void *)&(args_info->
begin_arg),
2599 &(local_args_info.begin_given), optarg, 0, 0, ARG_INT,
2600 check_ambiguity,
override, 0, 0,
2607 else if (strcmp (long_options[option_index].name,
"end") == 0)
2611 if (update_arg( (
void *)&(args_info->
end_arg),
2613 &(local_args_info.end_given), optarg, 0, 0, ARG_INT,
2614 check_ambiguity,
override, 0, 0,
2621 else if (strcmp (long_options[option_index].name,
"radius") == 0)
2625 if (update_arg( (
void *)&(args_info->
radius_arg),
2627 &(local_args_info.radius_given), optarg, 0, 0, ARG_DOUBLE,
2628 check_ambiguity,
override, 0, 0,
2635 else if (strcmp (long_options[option_index].name,
"gaussWidth") == 0)
2641 &(local_args_info.gaussWidth_given), optarg, 0, 0, ARG_DOUBLE,
2642 check_ambiguity,
override, 0, 0,
2649 else if (strcmp (long_options[option_index].name,
"privilegedAxis") == 0)
2655 &(local_args_info.privilegedAxis_given), optarg, cmdline_parser_privilegedAxis_values,
"z", ARG_ENUM,
2656 check_ambiguity,
override, 0, 0,
2657 "privilegedAxis",
'-',
2663 else if (strcmp (long_options[option_index].name,
"privilegedAxis2") == 0)
2669 &(local_args_info.privilegedAxis2_given), optarg, cmdline_parser_privilegedAxis2_values,
"x", ARG_ENUM,
2670 check_ambiguity,
override, 0, 0,
2671 "privilegedAxis2",
'-',
2677 else if (strcmp (long_options[option_index].name,
"momentum") == 0)
2683 &(local_args_info.momentum_given), optarg, cmdline_parser_momentum_values,
"P", ARG_ENUM,
2684 check_ambiguity,
override, 0, 0,
2691 else if (strcmp (long_options[option_index].name,
"component") == 0)
2697 &(local_args_info.component_given), optarg, cmdline_parser_component_values,
"z", ARG_ENUM,
2698 check_ambiguity,
override, 0, 0,
2705 else if (strcmp (long_options[option_index].name,
"dipoleX") == 0)
2709 if (update_arg( (
void *)&(args_info->
dipoleX_arg),
2711 &(local_args_info.dipoleX_given), optarg, 0, 0, ARG_DOUBLE,
2712 check_ambiguity,
override, 0, 0,
2719 else if (strcmp (long_options[option_index].name,
"dipoleY") == 0)
2723 if (update_arg( (
void *)&(args_info->
dipoleY_arg),
2725 &(local_args_info.dipoleY_given), optarg, 0, 0, ARG_DOUBLE,
2726 check_ambiguity,
override, 0, 0,
2733 else if (strcmp (long_options[option_index].name,
"dipoleZ") == 0)
2737 if (update_arg( (
void *)&(args_info->
dipoleZ_arg),
2739 &(local_args_info.dipoleZ_given), optarg, 0, 0, ARG_DOUBLE,
2740 check_ambiguity,
override, 0, 0,
2747 else if (strcmp (long_options[option_index].name,
"v_radius") == 0)
2753 &(local_args_info.v_radius_given), optarg, 0, 0, ARG_DOUBLE,
2754 check_ambiguity,
override, 0, 0,
2761 else if (strcmp (long_options[option_index].name,
"gen_xyz") == 0)
2766 &(local_args_info.gen_xyz_given), optarg, 0, 0, ARG_FLAG,
2767 check_ambiguity,
override, 1, 0,
"gen_xyz",
'-',
2773 else if (strcmp (long_options[option_index].name,
"atom_name") == 0)
2779 &(local_args_info.atom_name_given), optarg, 0, 0, ARG_STRING,
2780 check_ambiguity,
override, 0, 0,
2787 else if (strcmp (long_options[option_index].name,
"bo") == 0)
2791 reset_group_staticProps (args_info);
2796 &(local_args_info.bo_given), optarg, 0, 0, ARG_NO,
2797 check_ambiguity,
override, 0, 0,
2804 else if (strcmp (long_options[option_index].name,
"ior") == 0)
2808 reset_group_staticProps (args_info);
2813 &(local_args_info.ior_given), optarg, 0, 0, ARG_NO,
2814 check_ambiguity,
override, 0, 0,
2821 else if (strcmp (long_options[option_index].name,
"for") == 0)
2825 reset_group_staticProps (args_info);
2830 &(local_args_info.for_given), optarg, 0, 0, ARG_NO,
2831 check_ambiguity,
override, 0, 0,
2838 else if (strcmp (long_options[option_index].name,
"bad") == 0)
2842 reset_group_staticProps (args_info);
2847 &(local_args_info.bad_given), optarg, 0, 0, ARG_NO,
2848 check_ambiguity,
override, 0, 0,
2855 else if (strcmp (long_options[option_index].name,
"count") == 0)
2859 reset_group_staticProps (args_info);
2864 &(local_args_info.count_given), optarg, 0, 0, ARG_NO,
2865 check_ambiguity,
override, 0, 0,
2872 else if (strcmp (long_options[option_index].name,
"mcount") == 0)
2876 reset_group_staticProps (args_info);
2881 &(local_args_info.mcount_given), optarg, 0, 0, ARG_NO,
2882 check_ambiguity,
override, 0, 0,
2889 else if (strcmp (long_options[option_index].name,
"gofz") == 0)
2893 reset_group_staticProps (args_info);
2898 &(local_args_info.gofz_given), optarg, 0, 0, ARG_NO,
2899 check_ambiguity,
override, 0, 0,
2906 else if (strcmp (long_options[option_index].name,
"r_theta") == 0)
2910 reset_group_staticProps (args_info);
2915 &(local_args_info.r_theta_given), optarg, 0, 0, ARG_NO,
2916 check_ambiguity,
override, 0, 0,
2923 else if (strcmp (long_options[option_index].name,
"r_omega") == 0)
2927 reset_group_staticProps (args_info);
2932 &(local_args_info.r_omega_given), optarg, 0, 0, ARG_NO,
2933 check_ambiguity,
override, 0, 0,
2940 else if (strcmp (long_options[option_index].name,
"r_z") == 0)
2944 reset_group_staticProps (args_info);
2949 &(local_args_info.r_z_given), optarg, 0, 0, ARG_NO,
2950 check_ambiguity,
override, 0, 0,
2957 else if (strcmp (long_options[option_index].name,
"theta_omega") == 0)
2961 reset_group_staticProps (args_info);
2966 &(local_args_info.theta_omega_given), optarg, 0, 0, ARG_NO,
2967 check_ambiguity,
override, 0, 0,
2974 else if (strcmp (long_options[option_index].name,
"r_theta_omega") == 0)
2978 reset_group_staticProps (args_info);
2983 &(local_args_info.r_theta_omega_given), optarg, 0, 0, ARG_NO,
2984 check_ambiguity,
override, 0, 0,
2985 "r_theta_omega",
'-',
2991 else if (strcmp (long_options[option_index].name,
"gxyz") == 0)
2995 reset_group_staticProps (args_info);
3000 &(local_args_info.gxyz_given), optarg, 0, 0, ARG_NO,
3001 check_ambiguity,
override, 0, 0,
3008 else if (strcmp (long_options[option_index].name,
"twodgofr") == 0)
3012 reset_group_staticProps (args_info);
3017 &(local_args_info.twodgofr_given), optarg, 0, 0, ARG_NO,
3018 check_ambiguity,
override, 0, 0,
3025 else if (strcmp (long_options[option_index].name,
"kirkwood_buff") == 0)
3029 reset_group_staticProps (args_info);
3034 &(local_args_info.kirkwood_buff_given), optarg, 0, 0, ARG_NO,
3035 check_ambiguity,
override, 0, 0,
3036 "kirkwood_buff",
'-',
3042 else if (strcmp (long_options[option_index].name,
"p2r") == 0)
3046 reset_group_staticProps (args_info);
3051 &(local_args_info.p2r_given), optarg, 0, 0, ARG_NO,
3052 check_ambiguity,
override, 0, 0,
3059 else if (strcmp (long_options[option_index].name,
"p2z") == 0)
3063 reset_group_staticProps (args_info);
3068 &(local_args_info.p2z_given), optarg, 0, 0, ARG_NO,
3069 check_ambiguity,
override, 0, 0,
3076 else if (strcmp (long_options[option_index].name,
"rp2") == 0)
3080 reset_group_staticProps (args_info);
3085 &(local_args_info.rp2_given), optarg, 0, 0, ARG_NO,
3086 check_ambiguity,
override, 0, 0,
3093 else if (strcmp (long_options[option_index].name,
"slab_density") == 0)
3097 reset_group_staticProps (args_info);
3102 &(local_args_info.slab_density_given), optarg, 0, 0, ARG_NO,
3103 check_ambiguity,
override, 0, 0,
3104 "slab_density",
'-',
3110 else if (strcmp (long_options[option_index].name,
"pipe_density") == 0)
3114 reset_group_staticProps (args_info);
3119 &(local_args_info.pipe_density_given), optarg, 0, 0, ARG_NO,
3120 check_ambiguity,
override, 0, 0,
3121 "pipe_density",
'-',
3127 else if (strcmp (long_options[option_index].name,
"p_angle") == 0)
3131 reset_group_staticProps (args_info);
3136 &(local_args_info.p_angle_given), optarg, 0, 0, ARG_NO,
3137 check_ambiguity,
override, 0, 0,
3144 else if (strcmp (long_options[option_index].name,
"hxy") == 0)
3148 reset_group_staticProps (args_info);
3153 &(local_args_info.hxy_given), optarg, 0, 0, ARG_NO,
3154 check_ambiguity,
override, 0, 0,
3161 else if (strcmp (long_options[option_index].name,
"rho_r") == 0)
3165 reset_group_staticProps (args_info);
3170 &(local_args_info.rho_r_given), optarg, 0, 0, ARG_NO,
3171 check_ambiguity,
override, 0, 0,
3178 else if (strcmp (long_options[option_index].name,
"angle_r") == 0)
3182 reset_group_staticProps (args_info);
3187 &(local_args_info.angle_r_given), optarg, 0, 0, ARG_NO,
3188 check_ambiguity,
override, 0, 0,
3195 else if (strcmp (long_options[option_index].name,
"hullvol") == 0)
3199 reset_group_staticProps (args_info);
3204 &(local_args_info.hullvol_given), optarg, 0, 0, ARG_NO,
3205 check_ambiguity,
override, 0, 0,
3212 else if (strcmp (long_options[option_index].name,
"rodlength") == 0)
3216 reset_group_staticProps (args_info);
3221 &(local_args_info.rodlength_given), optarg, 0, 0, ARG_NO,
3222 check_ambiguity,
override, 0, 0,
3229 else if (strcmp (long_options[option_index].name,
"tet_param_z") == 0)
3233 reset_group_staticProps (args_info);
3238 &(local_args_info.tet_param_z_given), optarg, 0, 0, ARG_NO,
3239 check_ambiguity,
override, 0, 0,
3246 else if (strcmp (long_options[option_index].name,
"tet_param_r") == 0)
3250 reset_group_staticProps (args_info);
3255 &(local_args_info.tet_param_r_given), optarg, 0, 0, ARG_NO,
3256 check_ambiguity,
override, 0, 0,
3263 else if (strcmp (long_options[option_index].name,
"tet_param_dens") == 0)
3267 reset_group_staticProps (args_info);
3272 &(local_args_info.tet_param_dens_given), optarg, 0, 0, ARG_NO,
3273 check_ambiguity,
override, 0, 0,
3274 "tet_param_dens",
'-',
3280 else if (strcmp (long_options[option_index].name,
"tet_param_xyz") == 0)
3284 reset_group_staticProps (args_info);
3289 &(local_args_info.tet_param_xyz_given), optarg, 0, 0, ARG_NO,
3290 check_ambiguity,
override, 0, 0,
3291 "tet_param_xyz",
'-',
3297 else if (strcmp (long_options[option_index].name,
"trans_param_z") == 0)
3301 reset_group_staticProps (args_info);
3306 &(local_args_info.trans_param_z_given), optarg, 0, 0, ARG_NO,
3307 check_ambiguity,
override, 0, 0,
3308 "trans_param_z",
'-',
3314 else if (strcmp (long_options[option_index].name,
"rnemdz") == 0)
3318 reset_group_staticProps (args_info);
3323 &(local_args_info.rnemdz_given), optarg, 0, 0, ARG_NO,
3324 check_ambiguity,
override, 0, 0,
3331 else if (strcmp (long_options[option_index].name,
"rnemdr") == 0)
3335 reset_group_staticProps (args_info);
3340 &(local_args_info.rnemdr_given), optarg, 0, 0, ARG_NO,
3341 check_ambiguity,
override, 0, 0,
3348 else if (strcmp (long_options[option_index].name,
"rnemdrt") == 0)
3352 reset_group_staticProps (args_info);
3357 &(local_args_info.rnemdrt_given), optarg, 0, 0, ARG_NO,
3358 check_ambiguity,
override, 0, 0,
3365 else if (strcmp (long_options[option_index].name,
"nitrile") == 0)
3369 reset_group_staticProps (args_info);
3374 &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO,
3375 check_ambiguity,
override, 0, 0,
3382 else if (strcmp (long_options[option_index].name,
"surfDiffusion") == 0)
3386 reset_group_staticProps (args_info);
3391 &(local_args_info.surfDiffusion_given), optarg, 0, 0, ARG_NO,
3392 check_ambiguity,
override, 0, 0,
3393 "surfDiffusion",
'-',
3399 else if (strcmp (long_options[option_index].name,
"cn") == 0)
3403 reset_group_staticProps (args_info);
3408 &(local_args_info.cn_given), optarg, 0, 0, ARG_NO,
3409 check_ambiguity,
override, 0, 0,
3416 else if (strcmp (long_options[option_index].name,
"scn") == 0)
3420 reset_group_staticProps (args_info);
3425 &(local_args_info.scn_given), optarg, 0, 0, ARG_NO,
3426 check_ambiguity,
override, 0, 0,
3433 else if (strcmp (long_options[option_index].name,
"gcn") == 0)
3437 reset_group_staticProps (args_info);
3442 &(local_args_info.gcn_given), optarg, 0, 0, ARG_NO,
3443 check_ambiguity,
override, 0, 0,
3450 else if (strcmp (long_options[option_index].name,
"hbond") == 0)
3454 reset_group_staticProps (args_info);
3459 &(local_args_info.hbond_given), optarg, 0, 0, ARG_NO,
3460 check_ambiguity,
override, 0, 0,
3467 else if (strcmp (long_options[option_index].name,
"hbondz") == 0)
3471 reset_group_staticProps (args_info);
3476 &(local_args_info.hbondz_given), optarg, 0, 0, ARG_NO,
3477 check_ambiguity,
override, 0, 0,
3484 else if (strcmp (long_options[option_index].name,
"hbondzvol") == 0)
3488 reset_group_staticProps (args_info);
3493 &(local_args_info.hbondzvol_given), optarg, 0, 0, ARG_NO,
3494 check_ambiguity,
override, 0, 0,
3501 else if (strcmp (long_options[option_index].name,
"hbondr") == 0)
3505 reset_group_staticProps (args_info);
3510 &(local_args_info.hbondr_given), optarg, 0, 0, ARG_NO,
3511 check_ambiguity,
override, 0, 0,
3518 else if (strcmp (long_options[option_index].name,
"hbondrvol") == 0)
3522 reset_group_staticProps (args_info);
3527 &(local_args_info.hbondrvol_given), optarg, 0, 0, ARG_NO,
3528 check_ambiguity,
override, 0, 0,
3535 else if (strcmp (long_options[option_index].name,
"potDiff") == 0)
3539 reset_group_staticProps (args_info);
3544 &(local_args_info.potDiff_given), optarg, 0, 0, ARG_NO,
3545 check_ambiguity,
override, 0, 0,
3552 else if (strcmp (long_options[option_index].name,
"tet_hb") == 0)
3556 reset_group_staticProps (args_info);
3561 &(local_args_info.tet_hb_given), optarg, 0, 0, ARG_NO,
3562 check_ambiguity,
override, 0, 0,
3569 else if (strcmp (long_options[option_index].name,
"kirkwoodQ") == 0)
3573 reset_group_staticProps (args_info);
3578 &(local_args_info.kirkwoodQ_given), optarg, 0, 0, ARG_NO,
3579 check_ambiguity,
override, 0, 0,
3586 else if (strcmp (long_options[option_index].name,
"densityfield") == 0)
3590 reset_group_staticProps (args_info);
3595 &(local_args_info.densityfield_given), optarg, 0, 0, ARG_NO,
3596 check_ambiguity,
override, 0, 0,
3597 "densityfield",
'-',
3603 else if (strcmp (long_options[option_index].name,
"velocityfield") == 0)
3607 reset_group_staticProps (args_info);
3612 &(local_args_info.velocityfield_given), optarg, 0, 0, ARG_NO,
3613 check_ambiguity,
override, 0, 0,
3614 "velocityfield",
'-',
3620 else if (strcmp (long_options[option_index].name,
"velocityZ") == 0)
3624 reset_group_staticProps (args_info);
3629 &(local_args_info.velocityZ_given), optarg, 0, 0, ARG_NO,
3630 check_ambiguity,
override, 0, 0,
3637 else if (strcmp (long_options[option_index].name,
"chargez") == 0)
3641 reset_group_staticProps (args_info);
3646 &(local_args_info.chargez_given), optarg, 0, 0, ARG_NO,
3647 check_ambiguity,
override, 0, 0,
3654 else if (strcmp (long_options[option_index].name,
"charger") == 0)
3658 reset_group_staticProps (args_info);
3663 &(local_args_info.charger_given), optarg, 0, 0, ARG_NO,
3664 check_ambiguity,
override, 0, 0,
3671 else if (strcmp (long_options[option_index].name,
"massdensityz") == 0)
3675 reset_group_staticProps (args_info);
3680 &(local_args_info.massdensityz_given), optarg, 0, 0, ARG_NO,
3681 check_ambiguity,
override, 0, 0,
3682 "massdensityz",
'-',
3688 else if (strcmp (long_options[option_index].name,
"massdensityr") == 0)
3692 reset_group_staticProps (args_info);
3697 &(local_args_info.massdensityr_given), optarg, 0, 0, ARG_NO,
3698 check_ambiguity,
override, 0, 0,
3699 "massdensityr",
'-',
3705 else if (strcmp (long_options[option_index].name,
"numberz") == 0)
3709 reset_group_staticProps (args_info);
3714 &(local_args_info.numberz_given), optarg, 0, 0, ARG_NO,
3715 check_ambiguity,
override, 0, 0,
3722 else if (strcmp (long_options[option_index].name,
"numberr") == 0)
3726 reset_group_staticProps (args_info);
3731 &(local_args_info.numberr_given), optarg, 0, 0, ARG_NO,
3732 check_ambiguity,
override, 0, 0,
3739 else if (strcmp (long_options[option_index].name,
"charge_density_z") == 0)
3743 reset_group_staticProps (args_info);
3748 &(local_args_info.charge_density_z_given), optarg, 0, 0, ARG_NO,
3749 check_ambiguity,
override, 0, 0,
3750 "charge_density_z",
'-',
3756 else if (strcmp (long_options[option_index].name,
"countz") == 0)
3760 reset_group_staticProps (args_info);
3765 &(local_args_info.countz_given), optarg, 0, 0, ARG_NO,
3766 check_ambiguity,
override, 0, 0,
3773 else if (strcmp (long_options[option_index].name,
"order_prob") == 0)
3777 reset_group_staticProps (args_info);
3782 &(local_args_info.order_prob_given), optarg, 0, 0, ARG_NO,
3783 check_ambiguity,
override, 0, 0,
3796 fprintf (stderr,
"%s: option unknown: %c%s\n",
CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error :
""));
3803 fprintf (stderr,
"%s: %d options of group staticProps were given. One is required%s.\n", argv[0], args_info->
staticProps_group_counter, (additional_error ? additional_error :
""));
3811 error_occurred += cmdline_parser_required2 (args_info, argv[0], additional_error);
3814 cmdline_parser_release (&local_args_info);
3816 if ( error_occurred )
3817 return (EXIT_FAILURE);
3822 int found_prog_name = 0;
3828 args_info->
inputs_num = argc - optind - found_prog_name;
3830 (
char **)(malloc ((args_info->
inputs_num)*
sizeof(
char *))) ;
3831 while (optind < argc)
3832 args_info->
inputs[ i++ ] = gengetopt_strdup (argv[optind++]) ;
3839 cmdline_parser_release (&local_args_info);
3840 return (EXIT_FAILURE);
#define CMDLINE_PARSER_VERSION
the program version
#define CMDLINE_PARSER_PACKAGE_NAME
the complete program name (used for help and version)
#define CMDLINE_PARSER_PACKAGE
the program name (used for printing errors)
The header file for the command line option parser generated by GNU Gengetopt version 2....
The additional parameters to pass to parser functions.
int print_errors
whether getopt_long should print an error message for a bad option (default 1)
int check_required
whether to check that all required options were provided (default 1)
int check_ambiguity
whether to check for options already specified in the option structure gengetopt_args_info (default 0...
int initialize
whether to initialize the option structure gengetopt_args_info (default 1)
int override
whether to override possibly already present options (default 0)
Where the command line options are stored.
unsigned int zoffset_given
Whether zoffset was given.
char * seleoffset_orig
global index offset for a second object (used to define a vector between sites in molecule) original ...
unsigned int nanglebins_given
Whether nanglebins was given.
unsigned int momentum_given
Whether momentum was given.
char * voxelSize_orig
voxel size (angstroms) original value given at command line.
const char * tet_param_z_help
spatially-resolved tetrahedrality order parameter Qk(z) help description.
unsigned int seleoffset2_given
Whether seleoffset2 was given.
char * sele2_arg
select second stuntdouble set (if sele2 is not set, use script from sele1).
const char * r_omega_help
g(r, cos(omega)) help description.
char * nbins_orig
Number of bins original value given at command line.
unsigned int pipe_density_given
Whether pipe_density was given.
const char * p2z_help
p2 order parameter using z (or privilegedAxis) as director axis help description.
unsigned int surfDiffusion_given
Whether surfDiffusion was given.
const char * gxyz_help
g(x, y, z) help description.
const char * nbins_x_help
number of bins in x axis help description.
unsigned int tet_param_r_given
Whether tet_param_r was given.
char * dipoleX_orig
X-component of the dipole with respect to body frame original value given at command line.
unsigned int output_given
Whether output was given.
double gaussWidth_arg
Gaussian width (angstroms).
unsigned int multipole_given
Whether multipole was given.
int nanglebins_arg
number of bins for cos(angle) (default='50').
const char * tet_param_dens_help
computes density of the tetrahedrality order parameter Qk help description.
const char * scd_help
scd order parameter (either –sele1, –sele2, –sele3 are specified or –molname, –begin,...
unsigned int privilegedAxis_given
Whether privilegedAxis was given.
unsigned int OHcut_given
Whether OHcut was given.
char * molname_orig
molecule name original value given at command line.
unsigned int density_given
Whether density was given.
const char * velocityZ_help
computes an average two-dimensional velocity map help description.
const char * theta_omega_help
g(cos(theta), cos(omega)) help description.
const char * rcut_help
cutoff radius (angstroms) help description.
unsigned int comsele_given
Whether comsele was given.
unsigned int for_given
Whether for was given.
unsigned int thetacut_given
Whether thetacut was given.
const char * radius_help
Nanoparticle radius in Angstroms help description.
const char * hullvol_help
hull volume of nanoparticle help description.
const char * rnemdr_help
shell-resolved RNEMD statistics (temperature, density, angular velocity) help description.
char * atom_name_arg
name of atom for with average charge to be generated.
unsigned int scd_given
Whether scd was given.
char * output_orig
output file name original value given at command line.
const char * p2r_help
p2 order parameter using r as director axis help description.
const char * output_help
output file name help description.
const char * nbins_help
Number of bins help description.
const char * massdensityz_help
computes the mass density of the selection along selected axis help description.
unsigned int step_given
Whether step was given.
unsigned int rho_r_given
Whether rho_r was given.
unsigned int hullvol_given
Whether hullvol was given.
unsigned int net_charge_given
Whether net_charge was given.
const char * slab_density_help
slab density, rho(z) help description.
const char * dipoleZ_help
Z-component of the dipole with respect to body frame help description.
const char * numberr_help
computes the number density as a function of the radius and selected molecule help description.
const char * twodgofr_help
2D g(r) (Slab width –dz must be specified) help description.
unsigned int end_given
Whether end was given.
char * binWidth_orig
width of radial bins in angstroms original value given at command line.
unsigned int ior_given
Whether ior was given.
unsigned int sele3_given
Whether sele3 was given.
double dipoleZ_arg
Z-component of the dipole with respect to body frame (default='-1.0').
const char * p_angle_help
p(cos(theta)) (–sele1 must be specified, –sele2 is optional) help description.
double binWidth_arg
width of radial bins in angstroms (default='1.0').
unsigned int tet_hb_given
Whether tet_hb was given.
unsigned int chargez_given
Whether chargez was given.
const char * kirkwood_buff_help
Kirkwood-Buff integrals (–sele1 and –sele2 must both be specified) help description.
unsigned int velocityZ_given
Whether velocityZ was given.
const char * sele1_help
select first stuntdouble set help description.
char * molname_arg
molecule name.
char * comsele_arg
select stunt doubles for center-of-mass reference point.
unsigned int voxelSize_given
Whether voxelSize was given.
unsigned int kirkwood_given
Whether kirkwood was given.
unsigned int gofr_given
Whether gofr was given.
unsigned int r_theta_omega_given
Whether r_theta_omega was given.
unsigned int potDiff_given
Whether potDiff was given.
const char * seleoffset_help
global index offset for a second object (used to define a vector between sites in molecule) help desc...
const char * rho_r_help
rho(R) help description.
const char * charger_help
computes the charge density as a function of the radius and selected atom help description.
unsigned int massdensityz_given
Whether massdensityz was given.
unsigned int binWidth_given
Whether binWidth was given.
unsigned int molname_given
Whether molname was given.
int nbins_x_arg
number of bins in x axis (default='100').
char * dipoleY_orig
Y-component of the dipole with respect to body frame original value given at command line.
const char * gaussWidth_help
Gaussian width (angstroms) help description.
char * sele3_orig
select third stuntdouble set original value given at command line.
const char * OHcut_help
Oxygen-Hydrogen cutoff radius (angstroms) help description.
const char * sele2_help
select second stuntdouble set (if sele2 is not set, use script from sele1) help description.
unsigned int tet_param_z_given
Whether tet_param_z was given.
const char * current_density_help
computes the current density for the selected atom help description.
char * zlength_orig
maximum length (Defaults to 1/2 smallest length of first frame) original value given at command line.
unsigned int gxyz_given
Whether gxyz was given.
unsigned inputs_num
unamed options number
unsigned int bo_given
Whether bo was given.
unsigned int kirkwoodQ_given
Whether kirkwoodQ was given.
unsigned int begin_given
Whether begin was given.
const char * bo_help
bond order parameter (–rcut must be specified) help description.
char * privilegedAxis_orig
which axis is special for spatial analysis (default = z axis) original value given at command line.
unsigned int OOcut_given
Whether OOcut was given.
unsigned int p2z_given
Whether p2z was given.
const char * gcn_help
Generalized Coordinate Number help description.
unsigned int gen_xyz_given
Whether gen_xyz was given.
unsigned int nbins_y_given
Whether nbins_y was given.
char * gaussWidth_orig
Gaussian width (angstroms) original value given at command line.
const char * voxelSize_help
voxel size (angstroms) help description.
double dipoleY_arg
Y-component of the dipole with respect to body frame (default='0.0').
const char * rp2_help
rp2 order parameter (–sele1 and –sele2 must be specified) help description.
const char * mcount_help
count of molecules matching selection criteria (and associated statistics) help description.
const char * comsele_help
select stunt doubles for center-of-mass reference point help description.
int begin_arg
begin internal index.
unsigned int charge_density_z_given
Whether charge_density_z was given.
unsigned int cn_given
Whether cn was given.
const char * zoffset_help
Where to set the zero for the slab_density calculation help description.
unsigned int tet_param_given
Whether tet_param was given.
unsigned int component_given
Whether component was given.
const char * hbondz_help
Hydrogen Bonding density binned by z (rcut and thetacut must be specified) help description.
const char * ior_help
icosahedral bond order parameter as a function of radius (–rcut must be specified) help description.
unsigned int dipole_orientation_given
Whether dipole_orientation was given.
unsigned int hbond_given
Whether hbond was given.
const char * rnemdz_help
slab-resolved RNEMD statistics (temperature, density, velocity) help description.
const char * privilegedAxis2_help
which axis is special for spatial analysis (default = x axis) help description.
int nbins_y_arg
number of bins in y axis (default='100').
const char * gofz_help
g(z) help description.
unsigned int hbondr_given
Whether hbondr was given.
const char * thetacut_help
HOO cutoff angle (degrees) help description.
unsigned int refsele_given
Whether refsele was given.
const char * seleoffset2_help
global index offset for a third object (used to define a vector between sites in molecule) help descr...
unsigned int bad_given
Whether bad was given.
const char * hbondr_help
Hydrogen Bonding density binned by r (rcut and thetacut must be specified) help description.
unsigned int hbondrvol_given
Whether hbondrvol was given.
unsigned int charger_given
Whether charger was given.
unsigned int p2_given
Whether p2 was given.
char * OOcut_orig
Oxygen-Oxygen cutoff radius (angstroms) original value given at command line.
unsigned int gaussWidth_given
Whether gaussWidth was given.
double length_arg
maximum length (default='100').
const char * begin_help
begin internal index help description.
const char * help_help
Print help and exit help description.
unsigned int rnemdr_given
Whether rnemdr was given.
char * sele3_arg
select third stuntdouble set.
const char * rnemdrt_help
shell and angle-resolved RNEMD statistics (temperature, density, angular velocity) help description.
unsigned int dipoleX_given
Whether dipoleX was given.
char * output_arg
output file name.
unsigned int eam_density_given
Whether eam_density was given.
unsigned int velocityfield_given
Whether velocityfield was given.
double zoffset_arg
Where to set the zero for the slab_density calculation (default='0').
unsigned int tet_param_dens_given
Whether tet_param_dens was given.
char ** inputs
unamed options (options without names)
const char * v_radius_help
VanderWaals radiius for fictious atoms used in model eg.
int staticProps_group_counter
Counter for group staticProps.
const char * atom_name_help
name of atom for with average charge to be generated help description.
unsigned int r_z_given
Whether r_z was given.
unsigned int v_radius_given
Whether v_radius was given.
char * nanglebins_orig
number of bins for cos(angle) original value given at command line.
const char * trans_param_z_help
spatially-resolved translational order parameter t(z) help description.
char * input_arg
input dump file.
char * nbins_z_orig
number of bins in z axis original value given at command line.
unsigned int hbondz_given
Whether hbondz was given.
int nbins_z_arg
number of bins in z axis (default='100').
char * nbins_x_orig
number of bins in x axis original value given at command line.
double thetacut_arg
HOO cutoff angle (degrees) (default='30').
unsigned int dipoleZ_given
Whether dipoleZ was given.
char * thetacut_orig
HOO cutoff angle (degrees) original value given at command line.
const char * dipole_orientation_help
spatially-resolved dipole order parameter S(z), S = (3 Cos^2\theta - 1)/2 help description.
const char * for_help
FCC bond order parameter as a function of radius (–rcut must be specified) help description.
const char * nanglebins_help
number of bins for cos(angle) help description.
unsigned int sele1_given
Whether sele1 was given.
const char * chargez_help
computes the charge distribution along selected axis and selected atom help description.
unsigned int gcn_given
Whether gcn was given.
unsigned int length_given
Whether length was given.
const char * momentum_help
Type of momentum whose distribtution is required (default = Liner Momentum) help description.
int seleoffset_arg
global index offset for a second object (used to define a vector between sites in molecule).
const char * hbondzvol_help
Hydrogen Bonding density binned by z and normalized by bin volume (rcut and thetacut must be specifie...
unsigned int countz_given
Whether countz was given.
unsigned int rnemdrt_given
Whether rnemdrt was given.
char * momentum_orig
Type of momentum whose distribtution is required (default = Liner Momentum) original value given at c...
unsigned int current_density_given
Whether current_density was given.
double rcut_arg
cutoff radius (angstroms).
unsigned int slab_density_given
Whether slab_density was given.
const char * densityfield_help
computes an average density field help description.
int gen_xyz_flag
generates xyz file (default=off).
unsigned int kirkwood_buff_given
Whether kirkwood_buff was given.
unsigned int p_angle_given
Whether p_angle was given.
unsigned int trans_param_z_given
Whether trans_param_z was given.
unsigned int densityfield_given
Whether densityfield was given.
const char * privilegedAxis_help
which axis is special for spatial analysis (default = z axis) help description.
char * sele2_orig
select second stuntdouble set (if sele2 is not set, use script from sele1) original value given at co...
const char * scn_help
Secondary Coordination Number Distribution help description.
const char * tet_hb_help
hydrogen bond statistics binned by tetrahedrality of donor and acceptor molecules help description.
enum enum_momentum momentum_arg
Type of momentum whose distribtution is required (default = Liner Momentum) (default='P').
const char * momentum_distribution_help
computes the momentum distribution for the selected atom help description.
const char * dz_help
slab width (dz) help description.
char * refsele_arg
select reference.
const char * count_help
count of objects matching selection criteria (and associated statistics) help description.
const char * nrbins_help
number of radial bins (usually duplicates functionality of nbins) help description.
const char * bad_help
N(theta) bond angle density within (–rcut must be specified) help description.
const char * net_charge_help
computes an average charge profile of the selected atom help description.
char * sele1_orig
select first stuntdouble set original value given at command line.
double dz_arg
slab width (dz).
unsigned int twodgofr_given
Whether twodgofr was given.
enum enum_component component_arg
component of momentum for the momemtum distribution (default = z axis) (default='z').
char * step_orig
process every n frame original value given at command line.
double OHcut_arg
Oxygen-Hydrogen cutoff radius (angstroms) (default='2.45').
char * begin_orig
begin internal index original value given at command line.
const char * end_help
ending affine scale help description.
double voxelSize_arg
voxel size (angstroms).
const char * angle_r_help
angle of R help description.
char * length_orig
maximum length original value given at command line.
const char * countz_help
computes the number of selected atoms along selected axis help description.
const char * hxy_help
hxy help description.
const char * hbond_help
Hydrogen Bonding statistics using geometric criteria (rcut and thetacut must be specified) help descr...
const char * charge_density_z_help
computes the continuous charge distribution along selected axis and selected atom help description.
char * end_orig
ending affine scale original value given at command line.
char * sele1_arg
select first stuntdouble set.
const char * cn_help
Coordination Number Distribution help description.
double radius_arg
Nanoparticle radius in Angstroms.
const char * nitrile_help
electrostatic potential to frequency map based on the Cho nitrile fits help description.
const char * tet_param_r_help
spatially-resolved tetrahedrality order parameter Qk(r) around a third selection help description.
unsigned int dipoleY_given
Whether dipoleY was given.
const char * r_theta_help
g(r, cos(theta)) help description.
const char * rodlength_help
length of nanorod help description.
unsigned int order_prob_given
Whether order_prob was given.
const char * eam_density_help
computes an average eam density profile of the selected atom help description.
char * atom_name_orig
name of atom for with average charge to be generated original value given at command line.
char * refsele_orig
select reference original value given at command line.
double dipoleX_arg
X-component of the dipole with respect to body frame (default='0.0').
unsigned int rcut_given
Whether rcut was given.
char * nbins_y_orig
number of bins in y axis original value given at command line.
const char * kirkwood_help
distance-dependent Kirkwood factor help description.
char * OHcut_orig
Oxygen-Hydrogen cutoff radius (angstroms) original value given at command line.
unsigned int r_theta_given
Whether r_theta was given.
unsigned int help_given
Whether help was given.
const char * gofr_help
g(r) help description.
const char * zlength_help
maximum length (Defaults to 1/2 smallest length of first frame) help description.
const char * sele3_help
select third stuntdouble set help description.
const char * surfDiffusion_help
X, Y, and R (surface diffusion if Z exposed and bulk immobile) diffusion help description.
const char * component_help
component of momentum for the momemtum distribution (default = z axis) help description.
unsigned int nitrile_given
Whether nitrile was given.
const char * hbondrvol_help
Hydrogen Bonding density binned by r and normalized by bin volume (rcut and thetacut must be specifie...
unsigned int gofz_given
Whether gofz was given.
char * v_radius_orig
VanderWaals radiius for fictious atoms used in model eg.
const char * refsele_help
select reference help description.
unsigned int input_given
Whether input was given.
unsigned int rodlength_given
Whether rodlength was given.
char * nrbins_orig
number of radial bins (usually duplicates functionality of nbins) original value given at command lin...
char * comsele_orig
select stunt doubles for center-of-mass reference point original value given at command line.
unsigned int numberz_given
Whether numberz was given.
unsigned int radius_given
Whether radius was given.
const char * step_help
process every n frame help description.
unsigned int scn_given
Whether scn was given.
int nbins_arg
Number of bins (default='100').
unsigned int rp2_given
Whether rp2 was given.
char * radius_orig
Nanoparticle radius in Angstroms original value given at command line.
unsigned int nrbins_given
Whether nrbins was given.
const char * p2_help
p2 order parameter (–sele1 must be specified, –sele2 is optional) help description.
const char * multipole_help
average multipole moments contained within cutoff spheres as a function of radius help description.
unsigned int p2r_given
Whether p2r was given.
const char * tet_param_xyz_help
volume-resolved tetrahedrality order parameter Qk(x,y,z).
enum enum_privilegedAxis privilegedAxis_arg
which axis is special for spatial analysis (default = z axis) (default='z').
unsigned int version_given
Whether version was given.
char * dipoleZ_orig
Z-component of the dipole with respect to body frame original value given at command line.
unsigned int numberr_given
Whether numberr was given.
const char * length_help
maximum length help description.
unsigned int hbondzvol_given
Whether hbondzvol was given.
const char * dipoleX_help
X-component of the dipole with respect to body frame help description.
unsigned int sele2_given
Whether sele2 was given.
const char * pipe_density_help
pipe density, rho(axis1, axis2) help description.
double end_arg
ending affine scale (default='1.2').
char * dz_orig
slab width (dz) original value given at command line.
char * seleoffset2_orig
global index offset for a third object (used to define a vector between sites in molecule) original v...
unsigned int hxy_given
Whether hxy was given.
const char * tet_param_help
tetrahedrality order parameter (Qk) help description.
const char * version_help
Print version and exit help description.
const char * nbins_y_help
number of bins in y axis help description.
const char * binWidth_help
width of radial bins in angstroms help description.
const char * velocityfield_help
computes an average velocity field help description.
enum enum_privilegedAxis2 privilegedAxis2_arg
which axis is special for spatial analysis (default = x axis) (default='x').
char * input_orig
input dump file original value given at command line.
const char * potDiff_help
potential energy difference when charge on selection is set to zero help description.
const char * r_theta_omega_help
g(r, cos(theta), cos(omega)) help description.
unsigned int privilegedAxis2_given
Whether privilegedAxis2 was given.
unsigned int nbins_given
Whether nbins was given.
unsigned int nbins_x_given
Whether nbins_x was given.
unsigned int atom_name_given
Whether atom_name was given.
const char * nbins_z_help
number of bins in z axis help description.
unsigned int zlength_given
Whether zlength was given.
int seleoffset2_arg
global index offset for a third object (used to define a vector between sites in molecule).
const char * massdensityr_help
computes the mass density of the selection as a function of the radius from the center of mass help d...
double zlength_arg
maximum length (Defaults to 1/2 smallest length of first frame).
unsigned int r_omega_given
Whether r_omega was given.
unsigned int count_given
Whether count was given.
unsigned int momentum_distribution_given
Whether momentum_distribution was given.
const char * r_z_help
g(r, z) help description.
const char * OOcut_help
Oxygen-Oxygen cutoff radius (angstroms) help description.
unsigned int angle_r_given
Whether angle_r was given.
const char * density_help
density (g/cm^3) help description.
const char * gen_xyz_help
generates xyz file help description.
const char * order_prob_help
probability of order parameter for given selection help description.
unsigned int tet_param_xyz_given
Whether tet_param_xyz was given.
double OOcut_arg
Oxygen-Oxygen cutoff radius (angstroms) (default='3.5').
int nrbins_arg
number of radial bins (usually duplicates functionality of nbins) (default='100').
const char * molname_help
molecule name help description.
unsigned int nbins_z_given
Whether nbins_z was given.
char * rcut_orig
cutoff radius (angstroms) original value given at command line.
unsigned int theta_omega_given
Whether theta_omega was given.
char * component_orig
component of momentum for the momemtum distribution (default = z axis) original value given at comman...
unsigned int seleoffset_given
Whether seleoffset was given.
const char * input_help
input dump file help description.
unsigned int rnemdz_given
Whether rnemdz was given.
const char * kirkwoodQ_help
distance-dependent Kirkwood factor for quadrupoles help description.
unsigned int massdensityr_given
Whether massdensityr was given.
double v_radius_arg
VanderWaals radiius for fictious atoms used in model eg.
unsigned int dz_given
Whether dz was given.
char * zoffset_orig
Where to set the zero for the slab_density calculation original value given at command line.
char * privilegedAxis2_orig
which axis is special for spatial analysis (default = x axis) original value given at command line.
const char * dipoleY_help
Y-component of the dipole with respect to body frame help description.
unsigned int mcount_given
Whether mcount was given.
const char * numberz_help
computes the number density along selected axis and selected molcule help description.
int step_arg
process every n frame (default='1').
int cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
Save the contents of the option struct into an already open FILE stream.
int cmdline_parser(int argc, char **argv, struct gengetopt_args_info *args_info)
The command line parser.
int cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
Save the contents of the option struct into a (text) file.
int cmdline_parser2(int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
The command line parser (version with additional parameters - deprecated)
int cmdline_parser_required(struct gengetopt_args_info *args_info, const char *prog_name)
Checks that all the required options were specified.
struct cmdline_parser_params * cmdline_parser_params_create(void)
Allocates dynamically a cmdline_parser_params structure and initializes all its fields to their defau...
int cmdline_parser_ext(int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params)
The command line parser (version with additional parameters)
void cmdline_parser_init(struct gengetopt_args_info *args_info)
Initializes the passed gengetopt_args_info structure's fields (also set default values for options th...
void cmdline_parser_free(struct gengetopt_args_info *args_info)
Deallocates the string fields of the gengetopt_args_info structure (but does not deallocate the struc...
void cmdline_parser_params_init(struct cmdline_parser_params *params)
Initializes all the fields a cmdline_parser_params structure to their default values.