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 molecules matching selection criteria\n (and associated statistics)",
87 " --r_theta g(r, cos(theta))",
88 " --r_omega g(r, cos(omega))",
90 " --theta_omega g(cos(theta), cos(omega))",
91 " --r_theta_omega g(r, cos(theta), cos(omega))",
93 " --twodgofr 2D g(r) (Slab width --dz must be specified)",
94 " --kirkwood_buff Kirkwood-Buff integrals (--sele1 and --sele2\n must both be specified)",
95 " -p, --p2 p2 order parameter (--sele1 must be specified,\n --sele2 is optional)",
96 " --p2r p2 order parameter using r as director axis",
97 " --rp2 rp2 order parameter (--sele1 and --sele2 must\n be specified)",
98 " -s, --scd scd order parameter (either --sele1, --sele2,\n --sele3 are specified or --molname, --begin,\n --end are specified)",
99 " -d, --density density plot",
100 " --slab_density slab density, rho(z)",
101 " --pipe_density pipe density, rho(axis1, axis2)",
102 " --p_angle p(cos(theta)) (--sele1 must be specified,\n --sele2 is optional)",
105 " --angle_r angle of R",
106 " --hullvol hull volume of nanoparticle",
107 " --rodlength length of nanorod",
108 " -Q, --tet_param tetrahedrality order parameter (Qk)",
109 " --tet_param_z spatially-resolved tetrahedrality order\n parameter Qk(z)",
110 " --tet_param_r spatially-resolved tetrahedrality order\n parameter Qk(r) around a third selection",
111 " --tet_param_dens computes density of the tetrahedrality order\n parameter Qk",
112 " --tet_param_xyz volume-resolved tetrahedrality order parameter\n Qk(x,y,z). (voxelSize, rcut, and gaussWidth\n must be specified)",
113 " --rnemdz slab-resolved RNEMD statistics (temperature,\n density, velocity)",
114 " --rnemdr shell-resolved RNEMD statistics (temperature,\n density, angular velocity)",
115 " --rnemdrt shell and angle-resolved RNEMD statistics\n (temperature, density, angular velocity)",
116 " --nitrile electrostatic potential to frequency map based\n on the Cho nitrile fits",
117 " -m, --multipole average multipole moments contained within\n cutoff spheres as a function of radius",
118 " --surfDiffusion X, Y, and R (surface diffusion if Z exposed and\n bulk immobile) diffusion",
119 " --cn Coordination Number Distribution",
120 " --scn Secondary Coordination Number Distribution",
121 " --gcn Generalized Coordination Number Distribution",
122 " --hbond Hydrogen Bonding statistics using geometric\n criteria (rcut and thetacut must be\n specified)",
123 " --hbondz Hydrogen Bonding density binned by z (rcut and\n thetacut must be specified)",
124 " --hbondzvol Hydrogen Bonding density binned by z and\n normalized by bin volume (rcut and thetacut\n must be specified)",
125 " --hbondr Hydrogen Bonding density binned by r (rcut and\n thetacut must be specified)",
126 " --hbondrvol Hydrogen Bonding density binned by r and\n normalized by bin volume (rcut and thetacut\n must be specified)",
127 " --potDiff potential energy difference when charge on\n selection is set to zero",
128 " --tet_hb hydrogen bond statistics binned by\n tetrahedrality of donor and acceptor\n molecules",
129 " -k, --kirkwood distance-dependent Kirkwood factor",
130 " --kirkwoodQ distance-dependent Kirkwood factor for\n quadrupoles",
131 " --densityfield computes an average density field",
132 " --velocityfield computes an average velocity field",
133 " --velocityZ computes an average two-dimensional velocity\n map",
134 " -D, --eam_density computes an average eam density profile of the\n selected atom",
135 " -q, --net_charge computes an average charge profile of the\n selected atom",
136 " -J, --current_density computes the current density for the selected\n atom",
137 " --chargez computes the charge distribution along selected\n axis and selected atom",
138 " --charger computes the charge density as a function of\n the radius and selected atom",
139 " --massdensityz computes the mass density of the selection\n along selected axis",
140 " --massdensityr computes the mass density of the selection as a\n function of the radius from the center of\n mass",
141 " --numberz computes the number density along selected axis\n and selected molcule",
142 " --numberr computes the number density as a function of\n the radius and selected molecule",
143 " --charge_density_z computes the continuous charge distribution\n along selected axis and selected atom",
144 " --countz computes the number of selected atoms along\n selected axis",
145 " -M, --momentum_distribution computes the momentum distribution for the\n selected atom",
146 " -S, --dipole_orientation spatially-resolved dipole order parameter S(z),\n S = (3 Cos^2\\theta - 1)/2",
147 " --order_prob probability of order parameter for given\n selection",
157} cmdline_parser_arg_type;
169cmdline_parser_required2 (
struct gengetopt_args_info *args_info,
const char *prog_name,
const char *additional_error);
171const char *cmdline_parser_privilegedAxis_values[] = {
"x",
"y",
"z", 0};
172const char *cmdline_parser_privilegedAxis2_values[] = {
"x",
"y",
"z", 0};
173const char *cmdline_parser_momentum_values[] = {
"P",
"J", 0};
174const char *cmdline_parser_component_values[] = {
"x",
"y",
"z", 0};
177gengetopt_strdup (
const char *s);
299 FIX_UNUSED (args_info);
374 args_info->
help_help = gengetopt_args_info_help[0] ;
376 args_info->
input_help = gengetopt_args_info_help[2] ;
377 args_info->
output_help = gengetopt_args_info_help[3] ;
378 args_info->
step_help = gengetopt_args_info_help[4] ;
379 args_info->
nbins_help = gengetopt_args_info_help[5] ;
383 args_info->
nrbins_help = gengetopt_args_info_help[9] ;
386 args_info->
rcut_help = gengetopt_args_info_help[12] ;
387 args_info->
OOcut_help = gengetopt_args_info_help[13] ;
389 args_info->
OHcut_help = gengetopt_args_info_help[15] ;
390 args_info->
dz_help = gengetopt_args_info_help[16] ;
391 args_info->
length_help = gengetopt_args_info_help[17] ;
392 args_info->
zlength_help = gengetopt_args_info_help[18] ;
393 args_info->
zoffset_help = gengetopt_args_info_help[19] ;
394 args_info->
sele1_help = gengetopt_args_info_help[20] ;
395 args_info->
sele2_help = gengetopt_args_info_help[21] ;
396 args_info->
sele3_help = gengetopt_args_info_help[22] ;
397 args_info->
refsele_help = gengetopt_args_info_help[23] ;
398 args_info->
comsele_help = gengetopt_args_info_help[24] ;
401 args_info->
molname_help = gengetopt_args_info_help[27] ;
402 args_info->
begin_help = gengetopt_args_info_help[28] ;
403 args_info->
end_help = gengetopt_args_info_help[29] ;
404 args_info->
radius_help = gengetopt_args_info_help[30] ;
411 args_info->
dipoleX_help = gengetopt_args_info_help[37] ;
412 args_info->
dipoleY_help = gengetopt_args_info_help[38] ;
413 args_info->
dipoleZ_help = gengetopt_args_info_help[39] ;
415 args_info->
gen_xyz_help = gengetopt_args_info_help[41] ;
417 args_info->
bo_help = gengetopt_args_info_help[44] ;
418 args_info->
ior_help = gengetopt_args_info_help[45] ;
419 args_info->
for_help = gengetopt_args_info_help[46] ;
420 args_info->
bad_help = gengetopt_args_info_help[47] ;
421 args_info->
count_help = gengetopt_args_info_help[48] ;
422 args_info->
gofr_help = gengetopt_args_info_help[49] ;
423 args_info->
gofz_help = gengetopt_args_info_help[50] ;
424 args_info->
r_theta_help = gengetopt_args_info_help[51] ;
425 args_info->
r_omega_help = gengetopt_args_info_help[52] ;
426 args_info->
r_z_help = gengetopt_args_info_help[53] ;
429 args_info->
gxyz_help = gengetopt_args_info_help[56] ;
432 args_info->
p2_help = gengetopt_args_info_help[59] ;
433 args_info->
p2r_help = gengetopt_args_info_help[60] ;
434 args_info->
rp2_help = gengetopt_args_info_help[61] ;
435 args_info->
scd_help = gengetopt_args_info_help[62] ;
436 args_info->
density_help = gengetopt_args_info_help[63] ;
439 args_info->
p_angle_help = gengetopt_args_info_help[66] ;
440 args_info->
hxy_help = gengetopt_args_info_help[67] ;
441 args_info->
rho_r_help = gengetopt_args_info_help[68] ;
442 args_info->
angle_r_help = gengetopt_args_info_help[69] ;
443 args_info->
hullvol_help = gengetopt_args_info_help[70] ;
450 args_info->
rnemdz_help = gengetopt_args_info_help[77] ;
451 args_info->
rnemdr_help = gengetopt_args_info_help[78] ;
452 args_info->
rnemdrt_help = gengetopt_args_info_help[79] ;
453 args_info->
nitrile_help = gengetopt_args_info_help[80] ;
456 args_info->
cn_help = gengetopt_args_info_help[83] ;
457 args_info->
scn_help = gengetopt_args_info_help[84] ;
458 args_info->
gcn_help = gengetopt_args_info_help[85] ;
459 args_info->
hbond_help = gengetopt_args_info_help[86] ;
460 args_info->
hbondz_help = gengetopt_args_info_help[87] ;
462 args_info->
hbondr_help = gengetopt_args_info_help[89] ;
464 args_info->
potDiff_help = gengetopt_args_info_help[91] ;
465 args_info->
tet_hb_help = gengetopt_args_info_help[92] ;
474 args_info->
chargez_help = gengetopt_args_info_help[101] ;
475 args_info->
charger_help = gengetopt_args_info_help[102] ;
478 args_info->
numberz_help = gengetopt_args_info_help[105] ;
479 args_info->
numberr_help = gengetopt_args_info_help[106] ;
481 args_info->
countz_help = gengetopt_args_info_help[108] ;
489cmdline_parser_print_version (
void)
495 if (strlen(gengetopt_args_info_versiontext) > 0)
496 printf(
"\n%s\n", gengetopt_args_info_versiontext);
499static void print_help_common(
void)
501 size_t len_purpose = strlen(gengetopt_args_info_purpose);
502 size_t len_usage = strlen(gengetopt_args_info_usage);
505 printf(
"%s\n", gengetopt_args_info_usage);
507 if (len_purpose > 0) {
508 printf(
"%s\n", gengetopt_args_info_purpose);
511 if (len_usage || len_purpose) {
515 if (strlen(gengetopt_args_info_description) > 0) {
516 printf(
"%s\n\n", gengetopt_args_info_description);
521cmdline_parser_print_help (
void)
525 while (gengetopt_args_info_help[i])
526 printf(
"%s\n", gengetopt_args_info_help[i++]);
532 clear_given (args_info);
533 clear_args (args_info);
534 init_args_info (args_info);
563free_string_field (
char **s)
577 free_string_field (&(args_info->
input_arg));
581 free_string_field (&(args_info->
step_orig));
589 free_string_field (&(args_info->
rcut_orig));
593 free_string_field (&(args_info->
dz_orig));
597 free_string_field (&(args_info->
sele1_arg));
599 free_string_field (&(args_info->
sele2_arg));
601 free_string_field (&(args_info->
sele3_arg));
612 free_string_field (&(args_info->
end_orig));
629 free (args_info->
inputs [i]);
634 clear_given (args_info);
645check_possible_values(
const char *val,
const char *values[])
655 for (i = 0, len = strlen(val); values[i]; ++i)
657 if (strncmp(val, values[i], len) == 0)
661 if (strlen(values[i]) == len)
669 return (found ? -2 : -1);
674write_into_file(FILE *outfile,
const char *opt,
const char *arg,
const char *values[])
679 found = check_possible_values(arg, values);
682 fprintf(outfile,
"%s=\"%s\" # %s\n", opt, arg, values[found]);
684 fprintf(outfile,
"%s=\"%s\"\n", opt, arg);
686 fprintf(outfile,
"%s\n", opt);
703 write_into_file(outfile,
"help", 0, 0 );
705 write_into_file(outfile,
"version", 0, 0 );
707 write_into_file(outfile,
"input", args_info->
input_orig, 0);
709 write_into_file(outfile,
"output", args_info->
output_orig, 0);
711 write_into_file(outfile,
"step", args_info->
step_orig, 0);
713 write_into_file(outfile,
"nbins", args_info->
nbins_orig, 0);
715 write_into_file(outfile,
"nbins_x", args_info->
nbins_x_orig, 0);
717 write_into_file(outfile,
"nbins_y", args_info->
nbins_y_orig, 0);
719 write_into_file(outfile,
"nbins_z", args_info->
nbins_z_orig, 0);
721 write_into_file(outfile,
"nrbins", args_info->
nrbins_orig, 0);
723 write_into_file(outfile,
"binWidth", args_info->
binWidth_orig, 0);
727 write_into_file(outfile,
"rcut", args_info->
rcut_orig, 0);
729 write_into_file(outfile,
"OOcut", args_info->
OOcut_orig, 0);
731 write_into_file(outfile,
"thetacut", args_info->
thetacut_orig, 0);
733 write_into_file(outfile,
"OHcut", args_info->
OHcut_orig, 0);
735 write_into_file(outfile,
"dz", args_info->
dz_orig, 0);
737 write_into_file(outfile,
"length", args_info->
length_orig, 0);
739 write_into_file(outfile,
"zlength", args_info->
zlength_orig, 0);
741 write_into_file(outfile,
"zoffset", args_info->
zoffset_orig, 0);
743 write_into_file(outfile,
"sele1", args_info->
sele1_orig, 0);
745 write_into_file(outfile,
"sele2", args_info->
sele2_orig, 0);
747 write_into_file(outfile,
"sele3", args_info->
sele3_orig, 0);
749 write_into_file(outfile,
"refsele", args_info->
refsele_orig, 0);
751 write_into_file(outfile,
"comsele", args_info->
comsele_orig, 0);
757 write_into_file(outfile,
"molname", args_info->
molname_orig, 0);
759 write_into_file(outfile,
"begin", args_info->
begin_orig, 0);
761 write_into_file(outfile,
"end", args_info->
end_orig, 0);
763 write_into_file(outfile,
"radius", args_info->
radius_orig, 0);
765 write_into_file(outfile,
"voxelSize", args_info->
voxelSize_orig, 0);
769 write_into_file(outfile,
"privilegedAxis", args_info->
privilegedAxis_orig, cmdline_parser_privilegedAxis_values);
771 write_into_file(outfile,
"privilegedAxis2", args_info->
privilegedAxis2_orig, cmdline_parser_privilegedAxis2_values);
773 write_into_file(outfile,
"momentum", args_info->
momentum_orig, cmdline_parser_momentum_values);
775 write_into_file(outfile,
"component", args_info->
component_orig, cmdline_parser_component_values);
777 write_into_file(outfile,
"dipoleX", args_info->
dipoleX_orig, 0);
779 write_into_file(outfile,
"dipoleY", args_info->
dipoleY_orig, 0);
781 write_into_file(outfile,
"dipoleZ", args_info->
dipoleZ_orig, 0);
783 write_into_file(outfile,
"v_radius", args_info->
v_radius_orig, 0);
785 write_into_file(outfile,
"gen_xyz", 0, 0 );
787 write_into_file(outfile,
"atom_name", args_info->
atom_name_orig, 0);
789 write_into_file(outfile,
"bo", 0, 0 );
791 write_into_file(outfile,
"ior", 0, 0 );
793 write_into_file(outfile,
"for", 0, 0 );
795 write_into_file(outfile,
"bad", 0, 0 );
797 write_into_file(outfile,
"count", 0, 0 );
799 write_into_file(outfile,
"gofr", 0, 0 );
801 write_into_file(outfile,
"gofz", 0, 0 );
803 write_into_file(outfile,
"r_theta", 0, 0 );
805 write_into_file(outfile,
"r_omega", 0, 0 );
807 write_into_file(outfile,
"r_z", 0, 0 );
809 write_into_file(outfile,
"theta_omega", 0, 0 );
811 write_into_file(outfile,
"r_theta_omega", 0, 0 );
813 write_into_file(outfile,
"gxyz", 0, 0 );
815 write_into_file(outfile,
"twodgofr", 0, 0 );
817 write_into_file(outfile,
"kirkwood_buff", 0, 0 );
819 write_into_file(outfile,
"p2", 0, 0 );
821 write_into_file(outfile,
"p2r", 0, 0 );
823 write_into_file(outfile,
"rp2", 0, 0 );
825 write_into_file(outfile,
"scd", 0, 0 );
827 write_into_file(outfile,
"density", 0, 0 );
829 write_into_file(outfile,
"slab_density", 0, 0 );
831 write_into_file(outfile,
"pipe_density", 0, 0 );
833 write_into_file(outfile,
"p_angle", 0, 0 );
835 write_into_file(outfile,
"hxy", 0, 0 );
837 write_into_file(outfile,
"rho_r", 0, 0 );
839 write_into_file(outfile,
"angle_r", 0, 0 );
841 write_into_file(outfile,
"hullvol", 0, 0 );
843 write_into_file(outfile,
"rodlength", 0, 0 );
845 write_into_file(outfile,
"tet_param", 0, 0 );
847 write_into_file(outfile,
"tet_param_z", 0, 0 );
849 write_into_file(outfile,
"tet_param_r", 0, 0 );
851 write_into_file(outfile,
"tet_param_dens", 0, 0 );
853 write_into_file(outfile,
"tet_param_xyz", 0, 0 );
855 write_into_file(outfile,
"rnemdz", 0, 0 );
857 write_into_file(outfile,
"rnemdr", 0, 0 );
859 write_into_file(outfile,
"rnemdrt", 0, 0 );
861 write_into_file(outfile,
"nitrile", 0, 0 );
863 write_into_file(outfile,
"multipole", 0, 0 );
865 write_into_file(outfile,
"surfDiffusion", 0, 0 );
867 write_into_file(outfile,
"cn", 0, 0 );
869 write_into_file(outfile,
"scn", 0, 0 );
871 write_into_file(outfile,
"gcn", 0, 0 );
873 write_into_file(outfile,
"hbond", 0, 0 );
875 write_into_file(outfile,
"hbondz", 0, 0 );
877 write_into_file(outfile,
"hbondzvol", 0, 0 );
879 write_into_file(outfile,
"hbondr", 0, 0 );
881 write_into_file(outfile,
"hbondrvol", 0, 0 );
883 write_into_file(outfile,
"potDiff", 0, 0 );
885 write_into_file(outfile,
"tet_hb", 0, 0 );
887 write_into_file(outfile,
"kirkwood", 0, 0 );
889 write_into_file(outfile,
"kirkwoodQ", 0, 0 );
891 write_into_file(outfile,
"densityfield", 0, 0 );
893 write_into_file(outfile,
"velocityfield", 0, 0 );
895 write_into_file(outfile,
"velocityZ", 0, 0 );
897 write_into_file(outfile,
"eam_density", 0, 0 );
899 write_into_file(outfile,
"net_charge", 0, 0 );
901 write_into_file(outfile,
"current_density", 0, 0 );
903 write_into_file(outfile,
"chargez", 0, 0 );
905 write_into_file(outfile,
"charger", 0, 0 );
907 write_into_file(outfile,
"massdensityz", 0, 0 );
909 write_into_file(outfile,
"massdensityr", 0, 0 );
911 write_into_file(outfile,
"numberz", 0, 0 );
913 write_into_file(outfile,
"numberr", 0, 0 );
915 write_into_file(outfile,
"charge_density_z", 0, 0 );
917 write_into_file(outfile,
"countz", 0, 0 );
919 write_into_file(outfile,
"momentum_distribution", 0, 0 );
921 write_into_file(outfile,
"dipole_orientation", 0, 0 );
923 write_into_file(outfile,
"order_prob", 0, 0 );
936 outfile = fopen(filename,
"w");
953 cmdline_parser_release (args_info);
958gengetopt_strdup (
const char *s)
964 result = (
char*)malloc(strlen(s) + 1);
965 if (result == (
char*)0)
1060 result = cmdline_parser_internal (argc, argv, args_info, params, 0);
1077 result = cmdline_parser_internal (argc, argv, args_info, ¶ms, 0);
1085 int result = EXIT_SUCCESS;
1087 if (cmdline_parser_required2(args_info, prog_name, 0) > 0)
1088 result = EXIT_FAILURE;
1094cmdline_parser_required2 (
struct gengetopt_args_info *args_info,
const char *prog_name,
const char *additional_error)
1096 int error_occurred = 0;
1097 FIX_UNUSED (additional_error);
1102 fprintf (stderr,
"%s: '--input' ('-i') option required%s\n", prog_name, (additional_error ? additional_error :
""));
1108 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 :
""));
1115 return error_occurred;
1170#define no_argument 0
1173#ifndef required_argument
1174#define required_argument 1
1177#ifndef optional_argument
1178#define optional_argument 2
1181struct custom_getopt_data {
1189 char *custom_optarg;
1223static char *custom_optarg;
1240static int custom_optind = 1;
1246static int custom_opterr = 1;
1252static int custom_optopt =
'?';
1262static void exchange(
char **argv,
struct custom_getopt_data *d)
1264 int bottom = d->first_nonopt;
1265 int middle = d->last_nonopt;
1266 int top = d->custom_optind;
1275 while (top > middle && middle > bottom) {
1276 if (top - middle > middle - bottom) {
1278 int len = middle - bottom;
1282 for (i = 0; i < len; i++) {
1283 tem = argv[bottom + i];
1285 argv[top - (middle - bottom) + i];
1286 argv[top - (middle - bottom) + i] = tem;
1292 int len = top - middle;
1296 for (i = 0; i < len; i++) {
1297 tem = argv[bottom + i];
1298 argv[bottom + i] = argv[middle + i];
1299 argv[middle + i] = tem;
1306 d->first_nonopt += (d->custom_optind - d->last_nonopt);
1307 d->last_nonopt = d->custom_optind;
1311static void custom_getopt_initialize(
struct custom_getopt_data *d)
1318 d->first_nonopt = d->last_nonopt = d->custom_optind;
1323#define NONOPTION_P (argv[d->custom_optind][0] != '-' || argv[d->custom_optind][1] == '\0')
1326static int shuffle_argv(
int argc,
char *
const *argv,
const struct option *longopts,
1327 struct custom_getopt_data *d)
1333 if (d->last_nonopt > d->custom_optind)
1334 d->last_nonopt = d->custom_optind;
1335 if (d->first_nonopt > d->custom_optind)
1336 d->first_nonopt = d->custom_optind;
1341 if (d->first_nonopt != d->last_nonopt &&
1342 d->last_nonopt != d->custom_optind)
1343 exchange((
char **) argv, d);
1344 else if (d->last_nonopt != d->custom_optind)
1345 d->first_nonopt = d->custom_optind;
1350 while (d->custom_optind < argc && NONOPTION_P)
1352 d->last_nonopt = d->custom_optind;
1358 if (d->custom_optind != argc && !strcmp(argv[d->custom_optind],
"--")) {
1360 if (d->first_nonopt != d->last_nonopt
1361 && d->last_nonopt != d->custom_optind)
1362 exchange((
char **) argv, d);
1363 else if (d->first_nonopt == d->last_nonopt)
1364 d->first_nonopt = d->custom_optind;
1365 d->last_nonopt = argc;
1366 d->custom_optind = argc;
1372 if (d->custom_optind == argc) {
1377 if (d->first_nonopt != d->last_nonopt)
1378 d->custom_optind = d->first_nonopt;
1386 d->custom_optarg = argv[d->custom_optind++];
1393 d->nextchar = (argv[d->custom_optind] + 1 + (longopts != NULL && argv[d->custom_optind][1] ==
'-'));
1407static int check_long_opt(
int argc,
char *
const *argv,
const char *optstring,
1408 const struct option *longopts,
int *longind,
1409 int print_errors,
struct custom_getopt_data *d)
1412 const struct option *p;
1413 const struct option *pfound = NULL;
1419 for (nameend = d->nextchar; *nameend && *nameend !=
'='; nameend++)
1423 for (p = longopts, option_index = 0; p->name; p++, option_index++)
1424 if (!strncmp(p->name, d->nextchar, nameend - d->nextchar)) {
1425 if ((
unsigned int) (nameend - d->nextchar)
1426 == (
unsigned int) strlen(p->name)) {
1429 indfound = option_index;
1432 }
else if (pfound == NULL) {
1435 indfound = option_index;
1436 }
else if (pfound->has_arg != p->has_arg
1437 || pfound->flag != p->flag
1438 || pfound->val != p->val)
1442 if (ambig && !exact) {
1445 "%s: option `%s' is ambiguous\n",
1446 argv[0], argv[d->custom_optind]);
1448 d->nextchar += strlen(d->nextchar);
1450 d->custom_optopt = 0;
1454 option_index = indfound;
1457 if (pfound->has_arg != no_argument)
1458 d->custom_optarg = nameend + 1;
1461 if (argv[d->custom_optind - 1][1] ==
'-') {
1463 fprintf(stderr,
"%s: option `--%s' doesn't allow an argument\n",
1464 argv[0], pfound->name);
1467 fprintf(stderr,
"%s: option `%c%s' doesn't allow an argument\n",
1468 argv[0], argv[d->custom_optind - 1][0], pfound->name);
1472 d->nextchar += strlen(d->nextchar);
1473 d->custom_optopt = pfound->val;
1476 }
else if (pfound->has_arg == required_argument) {
1477 if (d->custom_optind < argc)
1478 d->custom_optarg = argv[d->custom_optind++];
1482 "%s: option `%s' requires an argument\n",
1484 argv[d->custom_optind - 1]);
1486 d->nextchar += strlen(d->nextchar);
1487 d->custom_optopt = pfound->val;
1488 return optstring[0] ==
':' ?
':' :
'?';
1491 d->nextchar += strlen(d->nextchar);
1492 if (longind != NULL)
1493 *longind = option_index;
1495 *(pfound->flag) = pfound->val;
1506 if (argv[d->custom_optind][1] ==
'-') {
1509 "%s: unrecognized option `--%s'\n",
1510 argv[0], d->nextchar);
1514 "%s: unrecognized option `%c%s'\n",
1515 argv[0], argv[d->custom_optind][0],
1519 d->nextchar = (
char *)
"";
1521 d->custom_optopt = 0;
1525static int check_short_opt(
int argc,
char *
const *argv,
const char *optstring,
1526 int print_errors,
struct custom_getopt_data *d)
1528 char c = *d->nextchar++;
1529 const char *temp = strchr(optstring, c);
1532 if (*d->nextchar ==
'\0')
1534 if (!temp || c ==
':') {
1536 fprintf(stderr,
"%s: invalid option -- %c\n", argv[0], c);
1538 d->custom_optopt = c;
1541 if (temp[1] ==
':') {
1542 if (temp[2] ==
':') {
1544 if (*d->nextchar !=
'\0') {
1545 d->custom_optarg = d->nextchar;
1548 d->custom_optarg = NULL;
1552 if (*d->nextchar !=
'\0') {
1553 d->custom_optarg = d->nextchar;
1560 }
else if (d->custom_optind == argc) {
1563 "%s: option requires an argument -- %c\n",
1566 d->custom_optopt = c;
1567 if (optstring[0] ==
':')
1577 d->custom_optarg = argv[d->custom_optind++];
1654static int getopt_internal_r(
int argc,
char *
const *argv,
const char *optstring,
1655 const struct option *longopts,
int *longind,
1656 struct custom_getopt_data *d)
1658 int ret, print_errors = d->custom_opterr;
1660 if (optstring[0] ==
':')
1664 d->custom_optarg = NULL;
1670 if (d->custom_optind == 0 || !d->initialized) {
1671 if (d->custom_optind == 0)
1672 d->custom_optind = 1;
1673 custom_getopt_initialize(d);
1675 if (d->nextchar == NULL || *d->nextchar ==
'\0') {
1676 ret = shuffle_argv(argc, argv, longopts, d);
1680 if (longopts && (argv[d->custom_optind][1] ==
'-' ))
1681 return check_long_opt(argc, argv, optstring, longopts,
1682 longind, print_errors, d);
1683 return check_short_opt(argc, argv, optstring, print_errors, d);
1686static int custom_getopt_internal(
int argc,
char *
const *argv,
const char *optstring,
1687 const struct option *longopts,
int *longind)
1691 static struct custom_getopt_data d;
1693 d.custom_optind = custom_optind;
1694 d.custom_opterr = custom_opterr;
1695 result = getopt_internal_r(argc, argv, optstring, longopts,
1697 custom_optind = d.custom_optind;
1698 custom_optarg = d.custom_optarg;
1699 custom_optopt = d.custom_optopt;
1703static int custom_getopt_long (
int argc,
char *
const *argv,
const char *options,
1704 const struct option *long_options,
int *opt_index)
1706 return custom_getopt_internal(argc, argv, options, long_options,
1711static char *package_name = 0;
1732int update_arg(
void *field,
char **orig_field,
1733 unsigned int *field_given,
unsigned int *prev_given,
1734 char *value,
const char *possible_values[],
1735 const char *default_value,
1736 cmdline_parser_arg_type arg_type,
1737 int check_ambiguity,
int override,
1738 int no_free,
int multiple_option,
1739 const char *long_opt,
char short_opt,
1740 const char *additional_error)
1742 char *stop_char = 0;
1743 const char *val = value;
1745 char **string_field;
1751 if (!multiple_option && prev_given && (*prev_given || (check_ambiguity && *field_given)))
1753 if (short_opt !=
'-')
1754 fprintf (stderr,
"%s: `--%s' (`-%c') option given more than once%s\n",
1755 package_name, long_opt, short_opt,
1756 (additional_error ? additional_error :
""));
1758 fprintf (stderr,
"%s: `--%s' option given more than once%s\n",
1759 package_name, long_opt,
1760 (additional_error ? additional_error :
""));
1764 if (possible_values && (found = check_possible_values((value ? value : default_value), possible_values)) < 0)
1766 if (short_opt !=
'-')
1767 fprintf (stderr,
"%s: %s argument, \"%s\", for option `--%s' (`-%c')%s\n",
1768 package_name, (found == -2) ?
"ambiguous" :
"invalid", value, long_opt, short_opt,
1769 (additional_error ? additional_error :
""));
1771 fprintf (stderr,
"%s: %s argument, \"%s\", for option `--%s'%s\n",
1772 package_name, (found == -2) ?
"ambiguous" :
"invalid", value, long_opt,
1773 (additional_error ? additional_error :
""));
1777 if (field_given && *field_given && !
override)
1783 if (possible_values)
1784 val = possible_values[found];
1788 *((
int *)field) = !*((
int *)field);
1791 if (val) *((
int *)field) = strtol (val, &stop_char, 0);
1794 if (val) *((
double *)field) = strtod (val, &stop_char);
1797 if (val) *((
int *)field) = found;
1801 string_field = (
char **)field;
1802 if (!no_free && *string_field)
1803 free (*string_field);
1804 *string_field = gengetopt_strdup (val);
1815 if (val && !(stop_char && *stop_char ==
'\0')) {
1816 fprintf(stderr,
"%s: invalid numeric value: %s\n", package_name, val);
1830 if (value && orig_field) {
1832 *orig_field = value;
1836 *orig_field = gengetopt_strdup (value);
1846cmdline_parser_internal (
1852 int error_occurred = 0;
1858 int check_ambiguity;
1865 package_name = argv[0];
1869 FIX_UNUSED(
override);
1876 FIX_UNUSED(check_ambiguity);
1890 int option_index = 0;
1892 static struct option long_options[] = {
1893 {
"help", 0, NULL,
'h' },
1894 {
"version", 0, NULL,
'V' },
1895 {
"input", 1, NULL,
'i' },
1896 {
"output", 1, NULL,
'o' },
1897 {
"step", 1, NULL,
'n' },
1898 {
"nbins", 1, NULL,
'b' },
1899 {
"nbins_x", 1, NULL,
'x' },
1900 {
"nbins_y", 1, NULL,
'y' },
1901 {
"nbins_z", 1, NULL, 0 },
1902 {
"nrbins", 1, NULL,
'r' },
1903 {
"binWidth", 1, NULL, 0 },
1904 {
"nanglebins", 1, NULL,
'a' },
1905 {
"rcut", 1, NULL,
'c' },
1906 {
"OOcut", 1, NULL, 0 },
1907 {
"thetacut", 1, NULL, 0 },
1908 {
"OHcut", 1, NULL, 0 },
1909 {
"dz", 1, NULL, 0 },
1910 {
"length", 1, NULL, 0 },
1911 {
"zlength", 1, NULL, 0 },
1912 {
"zoffset", 1, NULL,
'z' },
1913 {
"sele1", 1, NULL, 0 },
1914 {
"sele2", 1, NULL, 0 },
1915 {
"sele3", 1, NULL, 0 },
1916 {
"refsele", 1, NULL, 0 },
1917 {
"comsele", 1, NULL, 0 },
1918 {
"seleoffset", 1, NULL, 0 },
1919 {
"seleoffset2", 1, NULL, 0 },
1920 {
"molname", 1, NULL, 0 },
1921 {
"begin", 1, NULL, 0 },
1922 {
"end", 1, NULL, 0 },
1923 {
"radius", 1, NULL, 0 },
1924 {
"voxelSize", 1, NULL,
'v' },
1925 {
"gaussWidth", 1, NULL, 0 },
1926 {
"privilegedAxis", 1, NULL, 0 },
1927 {
"privilegedAxis2", 1, NULL, 0 },
1928 {
"momentum", 1, NULL, 0 },
1929 {
"component", 1, NULL, 0 },
1930 {
"dipoleX", 1, NULL, 0 },
1931 {
"dipoleY", 1, NULL, 0 },
1932 {
"dipoleZ", 1, NULL, 0 },
1933 {
"v_radius", 1, NULL, 0 },
1934 {
"gen_xyz", 0, NULL, 0 },
1935 {
"atom_name", 1, NULL, 0 },
1936 {
"bo", 0, NULL, 0 },
1937 {
"ior", 0, NULL, 0 },
1938 {
"for", 0, NULL, 0 },
1939 {
"bad", 0, NULL, 0 },
1940 {
"count", 0, NULL, 0 },
1941 {
"gofr", 0, NULL,
'g' },
1942 {
"gofz", 0, NULL, 0 },
1943 {
"r_theta", 0, NULL, 0 },
1944 {
"r_omega", 0, NULL, 0 },
1945 {
"r_z", 0, NULL, 0 },
1946 {
"theta_omega", 0, NULL, 0 },
1947 {
"r_theta_omega", 0, NULL, 0 },
1948 {
"gxyz", 0, NULL, 0 },
1949 {
"twodgofr", 0, NULL, 0 },
1950 {
"kirkwood_buff", 0, NULL, 0 },
1951 {
"p2", 0, NULL,
'p' },
1952 {
"p2r", 0, NULL, 0 },
1953 {
"rp2", 0, NULL, 0 },
1954 {
"scd", 0, NULL,
's' },
1955 {
"density", 0, NULL,
'd' },
1956 {
"slab_density", 0, NULL, 0 },
1957 {
"pipe_density", 0, NULL, 0 },
1958 {
"p_angle", 0, NULL, 0 },
1959 {
"hxy", 0, NULL, 0 },
1960 {
"rho_r", 0, NULL, 0 },
1961 {
"angle_r", 0, NULL, 0 },
1962 {
"hullvol", 0, NULL, 0 },
1963 {
"rodlength", 0, NULL, 0 },
1964 {
"tet_param", 0, NULL,
'Q' },
1965 {
"tet_param_z", 0, NULL, 0 },
1966 {
"tet_param_r", 0, NULL, 0 },
1967 {
"tet_param_dens", 0, NULL, 0 },
1968 {
"tet_param_xyz", 0, NULL, 0 },
1969 {
"rnemdz", 0, NULL, 0 },
1970 {
"rnemdr", 0, NULL, 0 },
1971 {
"rnemdrt", 0, NULL, 0 },
1972 {
"nitrile", 0, NULL, 0 },
1973 {
"multipole", 0, NULL,
'm' },
1974 {
"surfDiffusion", 0, NULL, 0 },
1975 {
"cn", 0, NULL, 0 },
1976 {
"scn", 0, NULL, 0 },
1977 {
"gcn", 0, NULL, 0 },
1978 {
"hbond", 0, NULL, 0 },
1979 {
"hbondz", 0, NULL, 0 },
1980 {
"hbondzvol", 0, NULL, 0 },
1981 {
"hbondr", 0, NULL, 0 },
1982 {
"hbondrvol", 0, NULL, 0 },
1983 {
"potDiff", 0, NULL, 0 },
1984 {
"tet_hb", 0, NULL, 0 },
1985 {
"kirkwood", 0, NULL,
'k' },
1986 {
"kirkwoodQ", 0, NULL, 0 },
1987 {
"densityfield", 0, NULL, 0 },
1988 {
"velocityfield", 0, NULL, 0 },
1989 {
"velocityZ", 0, NULL, 0 },
1990 {
"eam_density", 0, NULL,
'D' },
1991 {
"net_charge", 0, NULL,
'q' },
1992 {
"current_density", 0, NULL,
'J' },
1993 {
"chargez", 0, NULL, 0 },
1994 {
"charger", 0, NULL, 0 },
1995 {
"massdensityz", 0, NULL, 0 },
1996 {
"massdensityr", 0, NULL, 0 },
1997 {
"numberz", 0, NULL, 0 },
1998 {
"numberr", 0, NULL, 0 },
1999 {
"charge_density_z", 0, NULL, 0 },
2000 {
"countz", 0, NULL, 0 },
2001 {
"momentum_distribution", 0, NULL,
'M' },
2002 {
"dipole_orientation", 0, NULL,
'S' },
2003 {
"order_prob", 0, NULL, 0 },
2007 custom_optarg = optarg;
2008 custom_optind = optind;
2009 custom_opterr = opterr;
2010 custom_optopt = optopt;
2012 c = custom_getopt_long (argc, argv,
"hVi:o:n:b:x:y:r:a:c:z:v:gpsdQmkDqJMS", long_options, &option_index);
2014 optarg = custom_optarg;
2015 optind = custom_optind;
2016 opterr = custom_opterr;
2017 optopt = custom_optopt;
2024 cmdline_parser_print_help ();
2025 cmdline_parser_free (&local_args_info);
2026 exit (EXIT_SUCCESS);
2029 cmdline_parser_print_version ();
2030 cmdline_parser_free (&local_args_info);
2031 exit (EXIT_SUCCESS);
2036 if (update_arg( (
void *)&(args_info->
input_arg),
2038 &(local_args_info.input_given), optarg, 0, 0, ARG_STRING,
2039 check_ambiguity,
override, 0, 0,
2048 if (update_arg( (
void *)&(args_info->
output_arg),
2050 &(local_args_info.output_given), optarg, 0, 0, ARG_STRING,
2051 check_ambiguity,
override, 0, 0,
2060 if (update_arg( (
void *)&(args_info->
step_arg),
2062 &(local_args_info.step_given), optarg, 0,
"1", ARG_INT,
2063 check_ambiguity,
override, 0, 0,
2072 if (update_arg( (
void *)&(args_info->
nbins_arg),
2074 &(local_args_info.nbins_given), optarg, 0,
"100", ARG_INT,
2075 check_ambiguity,
override, 0, 0,
2084 if (update_arg( (
void *)&(args_info->
nbins_x_arg),
2086 &(local_args_info.nbins_x_given), optarg, 0,
"100", ARG_INT,
2087 check_ambiguity,
override, 0, 0,
2096 if (update_arg( (
void *)&(args_info->
nbins_y_arg),
2098 &(local_args_info.nbins_y_given), optarg, 0,
"100", ARG_INT,
2099 check_ambiguity,
override, 0, 0,
2108 if (update_arg( (
void *)&(args_info->
nrbins_arg),
2110 &(local_args_info.nrbins_given), optarg, 0,
"100", ARG_INT,
2111 check_ambiguity,
override, 0, 0,
2122 &(local_args_info.nanglebins_given), optarg, 0,
"50", ARG_INT,
2123 check_ambiguity,
override, 0, 0,
2132 if (update_arg( (
void *)&(args_info->
rcut_arg),
2134 &(local_args_info.rcut_given), optarg, 0, 0, ARG_DOUBLE,
2135 check_ambiguity,
override, 0, 0,
2144 if (update_arg( (
void *)&(args_info->
zoffset_arg),
2146 &(local_args_info.zoffset_given), optarg, 0,
"0", ARG_DOUBLE,
2147 check_ambiguity,
override, 0, 0,
2158 &(local_args_info.voxelSize_given), optarg, 0, 0, ARG_DOUBLE,
2159 check_ambiguity,
override, 0, 0,
2168 reset_group_staticProps (args_info);
2173 &(local_args_info.gofr_given), optarg, 0, 0, ARG_NO,
2174 check_ambiguity,
override, 0, 0,
2183 reset_group_staticProps (args_info);
2188 &(local_args_info.p2_given), optarg, 0, 0, ARG_NO,
2189 check_ambiguity,
override, 0, 0,
2198 reset_group_staticProps (args_info);
2203 &(local_args_info.scd_given), optarg, 0, 0, ARG_NO,
2204 check_ambiguity,
override, 0, 0,
2213 reset_group_staticProps (args_info);
2218 &(local_args_info.density_given), optarg, 0, 0, ARG_NO,
2219 check_ambiguity,
override, 0, 0,
2228 reset_group_staticProps (args_info);
2233 &(local_args_info.tet_param_given), optarg, 0, 0, ARG_NO,
2234 check_ambiguity,
override, 0, 0,
2243 reset_group_staticProps (args_info);
2248 &(local_args_info.multipole_given), optarg, 0, 0, ARG_NO,
2249 check_ambiguity,
override, 0, 0,
2258 reset_group_staticProps (args_info);
2263 &(local_args_info.kirkwood_given), optarg, 0, 0, ARG_NO,
2264 check_ambiguity,
override, 0, 0,
2273 reset_group_staticProps (args_info);
2278 &(local_args_info.eam_density_given), optarg, 0, 0, ARG_NO,
2279 check_ambiguity,
override, 0, 0,
2288 reset_group_staticProps (args_info);
2293 &(local_args_info.net_charge_given), optarg, 0, 0, ARG_NO,
2294 check_ambiguity,
override, 0, 0,
2303 reset_group_staticProps (args_info);
2308 &(local_args_info.current_density_given), optarg, 0, 0, ARG_NO,
2309 check_ambiguity,
override, 0, 0,
2310 "current_density",
'J',
2318 reset_group_staticProps (args_info);
2323 &(local_args_info.momentum_distribution_given), optarg, 0, 0, ARG_NO,
2324 check_ambiguity,
override, 0, 0,
2325 "momentum_distribution",
'M',
2333 reset_group_staticProps (args_info);
2338 &(local_args_info.dipole_orientation_given), optarg, 0, 0, ARG_NO,
2339 check_ambiguity,
override, 0, 0,
2340 "dipole_orientation",
'S',
2348 if (strcmp (long_options[option_index].name,
"nbins_z") == 0)
2352 if (update_arg( (
void *)&(args_info->
nbins_z_arg),
2354 &(local_args_info.nbins_z_given), optarg, 0,
"100", ARG_INT,
2355 check_ambiguity,
override, 0, 0,
2362 else if (strcmp (long_options[option_index].name,
"binWidth") == 0)
2368 &(local_args_info.binWidth_given), optarg, 0,
"1.0", ARG_DOUBLE,
2369 check_ambiguity,
override, 0, 0,
2376 else if (strcmp (long_options[option_index].name,
"OOcut") == 0)
2380 if (update_arg( (
void *)&(args_info->
OOcut_arg),
2382 &(local_args_info.OOcut_given), optarg, 0,
"3.5", ARG_DOUBLE,
2383 check_ambiguity,
override, 0, 0,
2390 else if (strcmp (long_options[option_index].name,
"thetacut") == 0)
2396 &(local_args_info.thetacut_given), optarg, 0,
"30", ARG_DOUBLE,
2397 check_ambiguity,
override, 0, 0,
2404 else if (strcmp (long_options[option_index].name,
"OHcut") == 0)
2408 if (update_arg( (
void *)&(args_info->
OHcut_arg),
2410 &(local_args_info.OHcut_given), optarg, 0,
"2.45", ARG_DOUBLE,
2411 check_ambiguity,
override, 0, 0,
2418 else if (strcmp (long_options[option_index].name,
"dz") == 0)
2422 if (update_arg( (
void *)&(args_info->
dz_arg),
2424 &(local_args_info.dz_given), optarg, 0, 0, ARG_DOUBLE,
2425 check_ambiguity,
override, 0, 0,
2432 else if (strcmp (long_options[option_index].name,
"length") == 0)
2436 if (update_arg( (
void *)&(args_info->
length_arg),
2438 &(local_args_info.length_given), optarg, 0, 0, ARG_DOUBLE,
2439 check_ambiguity,
override, 0, 0,
2446 else if (strcmp (long_options[option_index].name,
"zlength") == 0)
2450 if (update_arg( (
void *)&(args_info->
zlength_arg),
2452 &(local_args_info.zlength_given), optarg, 0, 0, ARG_DOUBLE,
2453 check_ambiguity,
override, 0, 0,
2460 else if (strcmp (long_options[option_index].name,
"sele1") == 0)
2464 if (update_arg( (
void *)&(args_info->
sele1_arg),
2466 &(local_args_info.sele1_given), optarg, 0, 0, ARG_STRING,
2467 check_ambiguity,
override, 0, 0,
2474 else if (strcmp (long_options[option_index].name,
"sele2") == 0)
2478 if (update_arg( (
void *)&(args_info->
sele2_arg),
2480 &(local_args_info.sele2_given), optarg, 0, 0, ARG_STRING,
2481 check_ambiguity,
override, 0, 0,
2488 else if (strcmp (long_options[option_index].name,
"sele3") == 0)
2492 if (update_arg( (
void *)&(args_info->
sele3_arg),
2494 &(local_args_info.sele3_given), optarg, 0, 0, ARG_STRING,
2495 check_ambiguity,
override, 0, 0,
2502 else if (strcmp (long_options[option_index].name,
"refsele") == 0)
2506 if (update_arg( (
void *)&(args_info->
refsele_arg),
2508 &(local_args_info.refsele_given), optarg, 0, 0, ARG_STRING,
2509 check_ambiguity,
override, 0, 0,
2516 else if (strcmp (long_options[option_index].name,
"comsele") == 0)
2520 if (update_arg( (
void *)&(args_info->
comsele_arg),
2522 &(local_args_info.comsele_given), optarg, 0, 0, ARG_STRING,
2523 check_ambiguity,
override, 0, 0,
2530 else if (strcmp (long_options[option_index].name,
"seleoffset") == 0)
2536 &(local_args_info.seleoffset_given), optarg, 0, 0, ARG_INT,
2537 check_ambiguity,
override, 0, 0,
2544 else if (strcmp (long_options[option_index].name,
"seleoffset2") == 0)
2550 &(local_args_info.seleoffset2_given), optarg, 0, 0, ARG_INT,
2551 check_ambiguity,
override, 0, 0,
2558 else if (strcmp (long_options[option_index].name,
"molname") == 0)
2562 if (update_arg( (
void *)&(args_info->
molname_arg),
2564 &(local_args_info.molname_given), optarg, 0, 0, ARG_STRING,
2565 check_ambiguity,
override, 0, 0,
2572 else if (strcmp (long_options[option_index].name,
"begin") == 0)
2576 if (update_arg( (
void *)&(args_info->
begin_arg),
2578 &(local_args_info.begin_given), optarg, 0, 0, ARG_INT,
2579 check_ambiguity,
override, 0, 0,
2586 else if (strcmp (long_options[option_index].name,
"end") == 0)
2590 if (update_arg( (
void *)&(args_info->
end_arg),
2592 &(local_args_info.end_given), optarg, 0, 0, ARG_INT,
2593 check_ambiguity,
override, 0, 0,
2600 else if (strcmp (long_options[option_index].name,
"radius") == 0)
2604 if (update_arg( (
void *)&(args_info->
radius_arg),
2606 &(local_args_info.radius_given), optarg, 0, 0, ARG_DOUBLE,
2607 check_ambiguity,
override, 0, 0,
2614 else if (strcmp (long_options[option_index].name,
"gaussWidth") == 0)
2620 &(local_args_info.gaussWidth_given), optarg, 0, 0, ARG_DOUBLE,
2621 check_ambiguity,
override, 0, 0,
2628 else if (strcmp (long_options[option_index].name,
"privilegedAxis") == 0)
2634 &(local_args_info.privilegedAxis_given), optarg, cmdline_parser_privilegedAxis_values,
"z", ARG_ENUM,
2635 check_ambiguity,
override, 0, 0,
2636 "privilegedAxis",
'-',
2642 else if (strcmp (long_options[option_index].name,
"privilegedAxis2") == 0)
2648 &(local_args_info.privilegedAxis2_given), optarg, cmdline_parser_privilegedAxis2_values,
"x", ARG_ENUM,
2649 check_ambiguity,
override, 0, 0,
2650 "privilegedAxis2",
'-',
2656 else if (strcmp (long_options[option_index].name,
"momentum") == 0)
2662 &(local_args_info.momentum_given), optarg, cmdline_parser_momentum_values,
"P", ARG_ENUM,
2663 check_ambiguity,
override, 0, 0,
2670 else if (strcmp (long_options[option_index].name,
"component") == 0)
2676 &(local_args_info.component_given), optarg, cmdline_parser_component_values,
"z", ARG_ENUM,
2677 check_ambiguity,
override, 0, 0,
2684 else if (strcmp (long_options[option_index].name,
"dipoleX") == 0)
2688 if (update_arg( (
void *)&(args_info->
dipoleX_arg),
2690 &(local_args_info.dipoleX_given), optarg, 0, 0, ARG_DOUBLE,
2691 check_ambiguity,
override, 0, 0,
2698 else if (strcmp (long_options[option_index].name,
"dipoleY") == 0)
2702 if (update_arg( (
void *)&(args_info->
dipoleY_arg),
2704 &(local_args_info.dipoleY_given), optarg, 0, 0, ARG_DOUBLE,
2705 check_ambiguity,
override, 0, 0,
2712 else if (strcmp (long_options[option_index].name,
"dipoleZ") == 0)
2716 if (update_arg( (
void *)&(args_info->
dipoleZ_arg),
2718 &(local_args_info.dipoleZ_given), optarg, 0, 0, ARG_DOUBLE,
2719 check_ambiguity,
override, 0, 0,
2726 else if (strcmp (long_options[option_index].name,
"v_radius") == 0)
2732 &(local_args_info.v_radius_given), optarg, 0, 0, ARG_DOUBLE,
2733 check_ambiguity,
override, 0, 0,
2740 else if (strcmp (long_options[option_index].name,
"gen_xyz") == 0)
2745 &(local_args_info.gen_xyz_given), optarg, 0, 0, ARG_FLAG,
2746 check_ambiguity,
override, 1, 0,
"gen_xyz",
'-',
2752 else if (strcmp (long_options[option_index].name,
"atom_name") == 0)
2758 &(local_args_info.atom_name_given), optarg, 0, 0, ARG_STRING,
2759 check_ambiguity,
override, 0, 0,
2766 else if (strcmp (long_options[option_index].name,
"bo") == 0)
2770 reset_group_staticProps (args_info);
2775 &(local_args_info.bo_given), optarg, 0, 0, ARG_NO,
2776 check_ambiguity,
override, 0, 0,
2783 else if (strcmp (long_options[option_index].name,
"ior") == 0)
2787 reset_group_staticProps (args_info);
2792 &(local_args_info.ior_given), optarg, 0, 0, ARG_NO,
2793 check_ambiguity,
override, 0, 0,
2800 else if (strcmp (long_options[option_index].name,
"for") == 0)
2804 reset_group_staticProps (args_info);
2809 &(local_args_info.for_given), optarg, 0, 0, ARG_NO,
2810 check_ambiguity,
override, 0, 0,
2817 else if (strcmp (long_options[option_index].name,
"bad") == 0)
2821 reset_group_staticProps (args_info);
2826 &(local_args_info.bad_given), optarg, 0, 0, ARG_NO,
2827 check_ambiguity,
override, 0, 0,
2834 else if (strcmp (long_options[option_index].name,
"count") == 0)
2838 reset_group_staticProps (args_info);
2843 &(local_args_info.count_given), optarg, 0, 0, ARG_NO,
2844 check_ambiguity,
override, 0, 0,
2851 else if (strcmp (long_options[option_index].name,
"gofz") == 0)
2855 reset_group_staticProps (args_info);
2860 &(local_args_info.gofz_given), optarg, 0, 0, ARG_NO,
2861 check_ambiguity,
override, 0, 0,
2868 else if (strcmp (long_options[option_index].name,
"r_theta") == 0)
2872 reset_group_staticProps (args_info);
2877 &(local_args_info.r_theta_given), optarg, 0, 0, ARG_NO,
2878 check_ambiguity,
override, 0, 0,
2885 else if (strcmp (long_options[option_index].name,
"r_omega") == 0)
2889 reset_group_staticProps (args_info);
2894 &(local_args_info.r_omega_given), optarg, 0, 0, ARG_NO,
2895 check_ambiguity,
override, 0, 0,
2902 else if (strcmp (long_options[option_index].name,
"r_z") == 0)
2906 reset_group_staticProps (args_info);
2911 &(local_args_info.r_z_given), optarg, 0, 0, ARG_NO,
2912 check_ambiguity,
override, 0, 0,
2919 else if (strcmp (long_options[option_index].name,
"theta_omega") == 0)
2923 reset_group_staticProps (args_info);
2928 &(local_args_info.theta_omega_given), optarg, 0, 0, ARG_NO,
2929 check_ambiguity,
override, 0, 0,
2936 else if (strcmp (long_options[option_index].name,
"r_theta_omega") == 0)
2940 reset_group_staticProps (args_info);
2945 &(local_args_info.r_theta_omega_given), optarg, 0, 0, ARG_NO,
2946 check_ambiguity,
override, 0, 0,
2947 "r_theta_omega",
'-',
2953 else if (strcmp (long_options[option_index].name,
"gxyz") == 0)
2957 reset_group_staticProps (args_info);
2962 &(local_args_info.gxyz_given), optarg, 0, 0, ARG_NO,
2963 check_ambiguity,
override, 0, 0,
2970 else if (strcmp (long_options[option_index].name,
"twodgofr") == 0)
2974 reset_group_staticProps (args_info);
2979 &(local_args_info.twodgofr_given), optarg, 0, 0, ARG_NO,
2980 check_ambiguity,
override, 0, 0,
2987 else if (strcmp (long_options[option_index].name,
"kirkwood_buff") == 0)
2991 reset_group_staticProps (args_info);
2996 &(local_args_info.kirkwood_buff_given), optarg, 0, 0, ARG_NO,
2997 check_ambiguity,
override, 0, 0,
2998 "kirkwood_buff",
'-',
3004 else if (strcmp (long_options[option_index].name,
"p2r") == 0)
3008 reset_group_staticProps (args_info);
3013 &(local_args_info.p2r_given), optarg, 0, 0, ARG_NO,
3014 check_ambiguity,
override, 0, 0,
3021 else if (strcmp (long_options[option_index].name,
"rp2") == 0)
3025 reset_group_staticProps (args_info);
3030 &(local_args_info.rp2_given), optarg, 0, 0, ARG_NO,
3031 check_ambiguity,
override, 0, 0,
3038 else if (strcmp (long_options[option_index].name,
"slab_density") == 0)
3042 reset_group_staticProps (args_info);
3047 &(local_args_info.slab_density_given), optarg, 0, 0, ARG_NO,
3048 check_ambiguity,
override, 0, 0,
3049 "slab_density",
'-',
3055 else if (strcmp (long_options[option_index].name,
"pipe_density") == 0)
3059 reset_group_staticProps (args_info);
3064 &(local_args_info.pipe_density_given), optarg, 0, 0, ARG_NO,
3065 check_ambiguity,
override, 0, 0,
3066 "pipe_density",
'-',
3072 else if (strcmp (long_options[option_index].name,
"p_angle") == 0)
3076 reset_group_staticProps (args_info);
3081 &(local_args_info.p_angle_given), optarg, 0, 0, ARG_NO,
3082 check_ambiguity,
override, 0, 0,
3089 else if (strcmp (long_options[option_index].name,
"hxy") == 0)
3093 reset_group_staticProps (args_info);
3098 &(local_args_info.hxy_given), optarg, 0, 0, ARG_NO,
3099 check_ambiguity,
override, 0, 0,
3106 else if (strcmp (long_options[option_index].name,
"rho_r") == 0)
3110 reset_group_staticProps (args_info);
3115 &(local_args_info.rho_r_given), optarg, 0, 0, ARG_NO,
3116 check_ambiguity,
override, 0, 0,
3123 else if (strcmp (long_options[option_index].name,
"angle_r") == 0)
3127 reset_group_staticProps (args_info);
3132 &(local_args_info.angle_r_given), optarg, 0, 0, ARG_NO,
3133 check_ambiguity,
override, 0, 0,
3140 else if (strcmp (long_options[option_index].name,
"hullvol") == 0)
3144 reset_group_staticProps (args_info);
3149 &(local_args_info.hullvol_given), optarg, 0, 0, ARG_NO,
3150 check_ambiguity,
override, 0, 0,
3157 else if (strcmp (long_options[option_index].name,
"rodlength") == 0)
3161 reset_group_staticProps (args_info);
3166 &(local_args_info.rodlength_given), optarg, 0, 0, ARG_NO,
3167 check_ambiguity,
override, 0, 0,
3174 else if (strcmp (long_options[option_index].name,
"tet_param_z") == 0)
3178 reset_group_staticProps (args_info);
3183 &(local_args_info.tet_param_z_given), optarg, 0, 0, ARG_NO,
3184 check_ambiguity,
override, 0, 0,
3191 else if (strcmp (long_options[option_index].name,
"tet_param_r") == 0)
3195 reset_group_staticProps (args_info);
3200 &(local_args_info.tet_param_r_given), optarg, 0, 0, ARG_NO,
3201 check_ambiguity,
override, 0, 0,
3208 else if (strcmp (long_options[option_index].name,
"tet_param_dens") == 0)
3212 reset_group_staticProps (args_info);
3217 &(local_args_info.tet_param_dens_given), optarg, 0, 0, ARG_NO,
3218 check_ambiguity,
override, 0, 0,
3219 "tet_param_dens",
'-',
3225 else if (strcmp (long_options[option_index].name,
"tet_param_xyz") == 0)
3229 reset_group_staticProps (args_info);
3234 &(local_args_info.tet_param_xyz_given), optarg, 0, 0, ARG_NO,
3235 check_ambiguity,
override, 0, 0,
3236 "tet_param_xyz",
'-',
3242 else if (strcmp (long_options[option_index].name,
"rnemdz") == 0)
3246 reset_group_staticProps (args_info);
3251 &(local_args_info.rnemdz_given), optarg, 0, 0, ARG_NO,
3252 check_ambiguity,
override, 0, 0,
3259 else if (strcmp (long_options[option_index].name,
"rnemdr") == 0)
3263 reset_group_staticProps (args_info);
3268 &(local_args_info.rnemdr_given), optarg, 0, 0, ARG_NO,
3269 check_ambiguity,
override, 0, 0,
3276 else if (strcmp (long_options[option_index].name,
"rnemdrt") == 0)
3280 reset_group_staticProps (args_info);
3285 &(local_args_info.rnemdrt_given), optarg, 0, 0, ARG_NO,
3286 check_ambiguity,
override, 0, 0,
3293 else if (strcmp (long_options[option_index].name,
"nitrile") == 0)
3297 reset_group_staticProps (args_info);
3302 &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO,
3303 check_ambiguity,
override, 0, 0,
3310 else if (strcmp (long_options[option_index].name,
"surfDiffusion") == 0)
3314 reset_group_staticProps (args_info);
3319 &(local_args_info.surfDiffusion_given), optarg, 0, 0, ARG_NO,
3320 check_ambiguity,
override, 0, 0,
3321 "surfDiffusion",
'-',
3327 else if (strcmp (long_options[option_index].name,
"cn") == 0)
3331 reset_group_staticProps (args_info);
3336 &(local_args_info.cn_given), optarg, 0, 0, ARG_NO,
3337 check_ambiguity,
override, 0, 0,
3344 else if (strcmp (long_options[option_index].name,
"scn") == 0)
3348 reset_group_staticProps (args_info);
3353 &(local_args_info.scn_given), optarg, 0, 0, ARG_NO,
3354 check_ambiguity,
override, 0, 0,
3361 else if (strcmp (long_options[option_index].name,
"gcn") == 0)
3365 reset_group_staticProps (args_info);
3370 &(local_args_info.gcn_given), optarg, 0, 0, ARG_NO,
3371 check_ambiguity,
override, 0, 0,
3378 else if (strcmp (long_options[option_index].name,
"hbond") == 0)
3382 reset_group_staticProps (args_info);
3387 &(local_args_info.hbond_given), optarg, 0, 0, ARG_NO,
3388 check_ambiguity,
override, 0, 0,
3395 else if (strcmp (long_options[option_index].name,
"hbondz") == 0)
3399 reset_group_staticProps (args_info);
3404 &(local_args_info.hbondz_given), optarg, 0, 0, ARG_NO,
3405 check_ambiguity,
override, 0, 0,
3412 else if (strcmp (long_options[option_index].name,
"hbondzvol") == 0)
3416 reset_group_staticProps (args_info);
3421 &(local_args_info.hbondzvol_given), optarg, 0, 0, ARG_NO,
3422 check_ambiguity,
override, 0, 0,
3429 else if (strcmp (long_options[option_index].name,
"hbondr") == 0)
3433 reset_group_staticProps (args_info);
3438 &(local_args_info.hbondr_given), optarg, 0, 0, ARG_NO,
3439 check_ambiguity,
override, 0, 0,
3446 else if (strcmp (long_options[option_index].name,
"hbondrvol") == 0)
3450 reset_group_staticProps (args_info);
3455 &(local_args_info.hbondrvol_given), optarg, 0, 0, ARG_NO,
3456 check_ambiguity,
override, 0, 0,
3463 else if (strcmp (long_options[option_index].name,
"potDiff") == 0)
3467 reset_group_staticProps (args_info);
3472 &(local_args_info.potDiff_given), optarg, 0, 0, ARG_NO,
3473 check_ambiguity,
override, 0, 0,
3480 else if (strcmp (long_options[option_index].name,
"tet_hb") == 0)
3484 reset_group_staticProps (args_info);
3489 &(local_args_info.tet_hb_given), optarg, 0, 0, ARG_NO,
3490 check_ambiguity,
override, 0, 0,
3497 else if (strcmp (long_options[option_index].name,
"kirkwoodQ") == 0)
3501 reset_group_staticProps (args_info);
3506 &(local_args_info.kirkwoodQ_given), optarg, 0, 0, ARG_NO,
3507 check_ambiguity,
override, 0, 0,
3514 else if (strcmp (long_options[option_index].name,
"densityfield") == 0)
3518 reset_group_staticProps (args_info);
3523 &(local_args_info.densityfield_given), optarg, 0, 0, ARG_NO,
3524 check_ambiguity,
override, 0, 0,
3525 "densityfield",
'-',
3531 else if (strcmp (long_options[option_index].name,
"velocityfield") == 0)
3535 reset_group_staticProps (args_info);
3540 &(local_args_info.velocityfield_given), optarg, 0, 0, ARG_NO,
3541 check_ambiguity,
override, 0, 0,
3542 "velocityfield",
'-',
3548 else if (strcmp (long_options[option_index].name,
"velocityZ") == 0)
3552 reset_group_staticProps (args_info);
3557 &(local_args_info.velocityZ_given), optarg, 0, 0, ARG_NO,
3558 check_ambiguity,
override, 0, 0,
3565 else if (strcmp (long_options[option_index].name,
"chargez") == 0)
3569 reset_group_staticProps (args_info);
3574 &(local_args_info.chargez_given), optarg, 0, 0, ARG_NO,
3575 check_ambiguity,
override, 0, 0,
3582 else if (strcmp (long_options[option_index].name,
"charger") == 0)
3586 reset_group_staticProps (args_info);
3591 &(local_args_info.charger_given), optarg, 0, 0, ARG_NO,
3592 check_ambiguity,
override, 0, 0,
3599 else if (strcmp (long_options[option_index].name,
"massdensityz") == 0)
3603 reset_group_staticProps (args_info);
3608 &(local_args_info.massdensityz_given), optarg, 0, 0, ARG_NO,
3609 check_ambiguity,
override, 0, 0,
3610 "massdensityz",
'-',
3616 else if (strcmp (long_options[option_index].name,
"massdensityr") == 0)
3620 reset_group_staticProps (args_info);
3625 &(local_args_info.massdensityr_given), optarg, 0, 0, ARG_NO,
3626 check_ambiguity,
override, 0, 0,
3627 "massdensityr",
'-',
3633 else if (strcmp (long_options[option_index].name,
"numberz") == 0)
3637 reset_group_staticProps (args_info);
3642 &(local_args_info.numberz_given), optarg, 0, 0, ARG_NO,
3643 check_ambiguity,
override, 0, 0,
3650 else if (strcmp (long_options[option_index].name,
"numberr") == 0)
3654 reset_group_staticProps (args_info);
3659 &(local_args_info.numberr_given), optarg, 0, 0, ARG_NO,
3660 check_ambiguity,
override, 0, 0,
3667 else if (strcmp (long_options[option_index].name,
"charge_density_z") == 0)
3671 reset_group_staticProps (args_info);
3676 &(local_args_info.charge_density_z_given), optarg, 0, 0, ARG_NO,
3677 check_ambiguity,
override, 0, 0,
3678 "charge_density_z",
'-',
3684 else if (strcmp (long_options[option_index].name,
"countz") == 0)
3688 reset_group_staticProps (args_info);
3693 &(local_args_info.countz_given), optarg, 0, 0, ARG_NO,
3694 check_ambiguity,
override, 0, 0,
3701 else if (strcmp (long_options[option_index].name,
"order_prob") == 0)
3705 reset_group_staticProps (args_info);
3710 &(local_args_info.order_prob_given), optarg, 0, 0, ARG_NO,
3711 check_ambiguity,
override, 0, 0,
3724 fprintf (stderr,
"%s: option unknown: %c%s\n",
CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error :
""));
3731 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 :
""));
3739 error_occurred += cmdline_parser_required2 (args_info, argv[0], additional_error);
3742 cmdline_parser_release (&local_args_info);
3744 if ( error_occurred )
3745 return (EXIT_FAILURE);
3750 int found_prog_name = 0;
3756 args_info->
inputs_num = argc - optind - found_prog_name;
3758 (
char **)(malloc ((args_info->
inputs_num)*
sizeof(
char *))) ;
3759 while (optind < argc)
3760 args_info->
inputs[ i++ ] = gengetopt_strdup (argv[optind++]) ;
3767 cmdline_parser_release (&local_args_info);
3768 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.
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.
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 * 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.
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 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 molecules 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.
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.