ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/applications/staticProps/StaticPropsCmd.cpp
(Generate patch)

Comparing:
branches/development/src/applications/staticProps/StaticPropsCmd.c (file contents), Revision 1465 by chuckv, Fri Jul 9 23:08:25 2010 UTC vs.
trunk/src/applications/staticProps/StaticPropsCmd.cpp (file contents), Revision 2015 by gezelter, Wed Aug 13 20:42:43 2014 UTC

# Line 1 | Line 1
1   /*
2 <  File autogenerated by gengetopt version 2.22
2 >  File autogenerated by gengetopt version 2.22.4
3    generated with the following command:
4 <  gengetopt -F StaticPropsCmd -u
4 >  gengetopt --file-name=StaticPropsCmd --unamed-opts
5  
6    The developers of gengetopt consider the fixed text that goes in all
7    gengetopt output files to be in the public domain:
# Line 17 | Line 17
17   #include <stdlib.h>
18   #include <string.h>
19  
20 < #include "getopt.h"
20 > #ifndef FIX_UNUSED
21 > #define FIX_UNUSED(X) (void) (X) /* avoid warnings for unused params */
22 > #endif
23  
24 + #ifdef WIN32
25 + #include "utils/wingetopt.h"
26 + #else
27 + #include <getopt.h>
28 + #endif
29 +
30   #include "StaticPropsCmd.h"
31  
32   const char *gengetopt_args_info_purpose = "";
# Line 48 | Line 56 | const char *gengetopt_args_info_help[] = {
56    "      --sele3=selection script  select the third stuntdouble set",
57    "      --refsele=selection script\n                                select reference (use and only use with --gxyz)",
58    "      --comsele=selection script\n                                select stunt doubles for center-of-mass \n                                  reference point",
59 +  "      --seleoffset=INT          global index offset for a second object (used \n                                  to define a vector between sites in molecule)",
60 +  "      --seleoffset2=INT         global index offset for a third object (used to \n                                  define a vector between sites in molecule)",
61    "      --molname=STRING          molecule name",
62    "      --begin=INT               begin internal index",
63    "      --end=INT                 end internal index",
64    "      --radius=DOUBLE           nanoparticle radius",
65 +  "  -v, --voxelSize=DOUBLE        voxel size (angstroms)",
66 +  "      --gaussWidth=DOUBLE       Gaussian width (angstroms)",
67    "\n Group: staticProps\n   an option of this group is required",
68    "      --bo                      bond order parameter (--rcut must be specified)",
69 <  "      --bor                     bond order parameter as a function of radius \n                                  (--rcut must be specified)",
69 >  "      --ior                     icosahedral bond order parameter as a function \n                                  of radius (--rcut must be specified)",
70 >  "      --for                     FCC bond order parameter as a function of \n                                  radius (--rcut must be specified)",
71    "      --bad                     N(theta) bond angle density within (--rcut must \n                                  be specified)",
72 +  "      --count                   count of molecules matching selection criteria \n                                  (and associated statistics)",
73    "  -g, --gofr                    g(r)",
74    "      --gofz                    g(z)",
75    "      --r_theta                 g(r, cos(theta))",
# Line 64 | Line 78 | const char *gengetopt_args_info_help[] = {
78    "      --theta_omega             g(cos(theta), cos(omega))",
79    "      --gxyz                    g(x, y, z)",
80    "      --twodgofr                2D g(r) (Slab width --dz must be specified)",
81 <  "  -p, --p2                      p2 order parameter (--sele1 and --sele2 must be \n                                  specified)",
81 >  "  -p, --p2                      p2 order parameter (--sele1 must be specified, \n                                  --sele2 is optional)",
82    "      --rp2                     rp2 order parameter (--sele1 and --sele2 must \n                                  be specified)",
83    "  -s, --scd                     scd order parameter (either --sele1, --sele2, \n                                  --sele3 are specified or --molname, --begin, \n                                  --end are specified)",
84    "  -d, --density                 density plot",
85    "      --slab_density            slab density",
86 <  "      --p_angle                 p(cos(theta))",
86 >  "      --p_angle                 p(cos(theta)) (--sele1 must be specified, \n                                  --sele2 is optional)",
87    "      --hxy                     hxy",
88    "      --rho_r                   rho of R",
89 +  "      --angle_r                 angle of R",
90    "      --hullvol                 hull volume of nanoparticle",
91 +  "      --rodlength               length of nanorod",
92 +  "  -Q, --tet_param               tetrahedrality order parameter (Qk)",
93 +  "      --tet_param_z             spatially-resolved tetrahedrality order \n                                  parameter Qk(z)",
94 +  "      --tet_param_xyz           volume-resolved tetrahedrality order parameter \n                                  Qk(x,y,z).  (voxelSize, rcut, and gaussWidth \n                                  must be specified)",
95 +  "      --rnemdz                  slab-resolved RNEMD statistics (temperature, \n                                  density, velocity)",
96 +  "      --rnemdr                  shell-resolved RNEMD statistics (temperature, \n                                  density, angular velocity)",
97 +  "      --rnemdrt                 shell and angle-resolved RNEMD statistics \n                                  (temperature, density, angular velocity)",
98 +  "      --nitrile                 electrostatic potential to frequency map based \n                                  on the Cho nitrile fits",
99 +  "  -m, --multipole               average multipole moments contained within \n                                  cutoff spheres as a function of radius",
100      0
101   };
102  
# Line 88 | Line 112 | static int
112   void clear_args (struct gengetopt_args_info *args_info);
113  
114   static int
115 < cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
115 > cmdline_parser_internal (int argc, char **argv, struct gengetopt_args_info *args_info,
116                          struct cmdline_parser_params *params, const char *additional_error);
117  
118   static int
# Line 120 | Line 144 | void clear_given (struct gengetopt_args_info *args_inf
144    args_info->sele3_given = 0 ;
145    args_info->refsele_given = 0 ;
146    args_info->comsele_given = 0 ;
147 +  args_info->seleoffset_given = 0 ;
148 +  args_info->seleoffset2_given = 0 ;
149    args_info->molname_given = 0 ;
150    args_info->begin_given = 0 ;
151    args_info->end_given = 0 ;
152    args_info->radius_given = 0 ;
153 +  args_info->voxelSize_given = 0 ;
154 +  args_info->gaussWidth_given = 0 ;
155    args_info->bo_given = 0 ;
156 <  args_info->bor_given = 0 ;
156 >  args_info->ior_given = 0 ;
157 >  args_info->for_given = 0 ;
158    args_info->bad_given = 0 ;
159 +  args_info->count_given = 0 ;
160    args_info->gofr_given = 0 ;
161    args_info->gofz_given = 0 ;
162    args_info->r_theta_given = 0 ;
# Line 143 | Line 173 | void clear_given (struct gengetopt_args_info *args_inf
173    args_info->p_angle_given = 0 ;
174    args_info->hxy_given = 0 ;
175    args_info->rho_r_given = 0 ;
176 +  args_info->angle_r_given = 0 ;
177    args_info->hullvol_given = 0 ;
178 +  args_info->rodlength_given = 0 ;
179 +  args_info->tet_param_given = 0 ;
180 +  args_info->tet_param_z_given = 0 ;
181 +  args_info->tet_param_xyz_given = 0 ;
182 +  args_info->rnemdz_given = 0 ;
183 +  args_info->rnemdr_given = 0 ;
184 +  args_info->rnemdrt_given = 0 ;
185 +  args_info->nitrile_given = 0 ;
186 +  args_info->multipole_given = 0 ;
187    args_info->staticProps_group_counter = 0 ;
188   }
189  
190   static
191   void clear_args (struct gengetopt_args_info *args_info)
192   {
193 +  FIX_UNUSED (args_info);
194    args_info->input_arg = NULL;
195    args_info->input_orig = NULL;
196    args_info->output_arg = NULL;
# Line 182 | Line 223 | void clear_args (struct gengetopt_args_info *args_info
223    args_info->refsele_orig = NULL;
224    args_info->comsele_arg = NULL;
225    args_info->comsele_orig = NULL;
226 +  args_info->seleoffset_orig = NULL;
227 +  args_info->seleoffset2_orig = NULL;
228    args_info->molname_arg = NULL;
229    args_info->molname_orig = NULL;
230    args_info->begin_orig = NULL;
231    args_info->end_orig = NULL;
232    args_info->radius_orig = NULL;
233 +  args_info->voxelSize_orig = NULL;
234 +  args_info->gaussWidth_orig = NULL;
235    
236   }
237  
# Line 215 | Line 260 | void init_args_info(struct gengetopt_args_info *args_i
260    args_info->sele3_help = gengetopt_args_info_help[17] ;
261    args_info->refsele_help = gengetopt_args_info_help[18] ;
262    args_info->comsele_help = gengetopt_args_info_help[19] ;
263 <  args_info->molname_help = gengetopt_args_info_help[20] ;
264 <  args_info->begin_help = gengetopt_args_info_help[21] ;
265 <  args_info->end_help = gengetopt_args_info_help[22] ;
266 <  args_info->radius_help = gengetopt_args_info_help[23] ;
267 <  args_info->bo_help = gengetopt_args_info_help[25] ;
268 <  args_info->bor_help = gengetopt_args_info_help[26] ;
269 <  args_info->bad_help = gengetopt_args_info_help[27] ;
270 <  args_info->gofr_help = gengetopt_args_info_help[28] ;
271 <  args_info->gofz_help = gengetopt_args_info_help[29] ;
272 <  args_info->r_theta_help = gengetopt_args_info_help[30] ;
273 <  args_info->r_omega_help = gengetopt_args_info_help[31] ;
274 <  args_info->r_z_help = gengetopt_args_info_help[32] ;
275 <  args_info->theta_omega_help = gengetopt_args_info_help[33] ;
276 <  args_info->gxyz_help = gengetopt_args_info_help[34] ;
277 <  args_info->twodgofr_help = gengetopt_args_info_help[35] ;
278 <  args_info->p2_help = gengetopt_args_info_help[36] ;
279 <  args_info->rp2_help = gengetopt_args_info_help[37] ;
280 <  args_info->scd_help = gengetopt_args_info_help[38] ;
281 <  args_info->density_help = gengetopt_args_info_help[39] ;
282 <  args_info->slab_density_help = gengetopt_args_info_help[40] ;
283 <  args_info->p_angle_help = gengetopt_args_info_help[41] ;
284 <  args_info->hxy_help = gengetopt_args_info_help[42] ;
285 <  args_info->rho_r_help = gengetopt_args_info_help[43] ;
286 <  args_info->hullvol_help = gengetopt_args_info_help[44] ;
263 >  args_info->seleoffset_help = gengetopt_args_info_help[20] ;
264 >  args_info->seleoffset2_help = gengetopt_args_info_help[21] ;
265 >  args_info->molname_help = gengetopt_args_info_help[22] ;
266 >  args_info->begin_help = gengetopt_args_info_help[23] ;
267 >  args_info->end_help = gengetopt_args_info_help[24] ;
268 >  args_info->radius_help = gengetopt_args_info_help[25] ;
269 >  args_info->voxelSize_help = gengetopt_args_info_help[26] ;
270 >  args_info->gaussWidth_help = gengetopt_args_info_help[27] ;
271 >  args_info->bo_help = gengetopt_args_info_help[29] ;
272 >  args_info->ior_help = gengetopt_args_info_help[30] ;
273 >  args_info->for_help = gengetopt_args_info_help[31] ;
274 >  args_info->bad_help = gengetopt_args_info_help[32] ;
275 >  args_info->count_help = gengetopt_args_info_help[33] ;
276 >  args_info->gofr_help = gengetopt_args_info_help[34] ;
277 >  args_info->gofz_help = gengetopt_args_info_help[35] ;
278 >  args_info->r_theta_help = gengetopt_args_info_help[36] ;
279 >  args_info->r_omega_help = gengetopt_args_info_help[37] ;
280 >  args_info->r_z_help = gengetopt_args_info_help[38] ;
281 >  args_info->theta_omega_help = gengetopt_args_info_help[39] ;
282 >  args_info->gxyz_help = gengetopt_args_info_help[40] ;
283 >  args_info->twodgofr_help = gengetopt_args_info_help[41] ;
284 >  args_info->p2_help = gengetopt_args_info_help[42] ;
285 >  args_info->rp2_help = gengetopt_args_info_help[43] ;
286 >  args_info->scd_help = gengetopt_args_info_help[44] ;
287 >  args_info->density_help = gengetopt_args_info_help[45] ;
288 >  args_info->slab_density_help = gengetopt_args_info_help[46] ;
289 >  args_info->p_angle_help = gengetopt_args_info_help[47] ;
290 >  args_info->hxy_help = gengetopt_args_info_help[48] ;
291 >  args_info->rho_r_help = gengetopt_args_info_help[49] ;
292 >  args_info->angle_r_help = gengetopt_args_info_help[50] ;
293 >  args_info->hullvol_help = gengetopt_args_info_help[51] ;
294 >  args_info->rodlength_help = gengetopt_args_info_help[52] ;
295 >  args_info->tet_param_help = gengetopt_args_info_help[53] ;
296 >  args_info->tet_param_z_help = gengetopt_args_info_help[54] ;
297 >  args_info->tet_param_xyz_help = gengetopt_args_info_help[55] ;
298 >  args_info->rnemdz_help = gengetopt_args_info_help[56] ;
299 >  args_info->rnemdr_help = gengetopt_args_info_help[57] ;
300 >  args_info->rnemdrt_help = gengetopt_args_info_help[58] ;
301 >  args_info->nitrile_help = gengetopt_args_info_help[59] ;
302 >  args_info->multipole_help = gengetopt_args_info_help[60] ;
303    
304   }
305  
306   void
307   cmdline_parser_print_version (void)
308   {
309 <  printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION);
309 >  printf ("%s %s\n",
310 >     (strlen(CMDLINE_PARSER_PACKAGE_NAME) ? CMDLINE_PARSER_PACKAGE_NAME : CMDLINE_PARSER_PACKAGE),
311 >     CMDLINE_PARSER_VERSION);
312   }
313  
314   static void print_help_common(void) {
# Line 260 | Line 323 | static void print_help_common(void) {
323    printf("\n");
324  
325    if (strlen(gengetopt_args_info_description) > 0)
326 <    printf("%s\n", gengetopt_args_info_description);
326 >    printf("%s\n\n", gengetopt_args_info_description);
327   }
328  
329   void
# Line 279 | Line 342 | cmdline_parser_init (struct gengetopt_args_info *args_
342    clear_args (args_info);
343    init_args_info (args_info);
344  
345 <  args_info->inputs = NULL;
345 >  args_info->inputs = 0;
346    args_info->inputs_num = 0;
347   }
348  
# Line 345 | Line 408 | cmdline_parser_release (struct gengetopt_args_info *ar
408    free_string_field (&(args_info->refsele_orig));
409    free_string_field (&(args_info->comsele_arg));
410    free_string_field (&(args_info->comsele_orig));
411 +  free_string_field (&(args_info->seleoffset_orig));
412 +  free_string_field (&(args_info->seleoffset2_orig));
413    free_string_field (&(args_info->molname_arg));
414    free_string_field (&(args_info->molname_orig));
415    free_string_field (&(args_info->begin_orig));
416    free_string_field (&(args_info->end_orig));
417    free_string_field (&(args_info->radius_orig));
418 +  free_string_field (&(args_info->voxelSize_orig));
419 +  free_string_field (&(args_info->gaussWidth_orig));
420    
421    
422    for (i = 0; i < args_info->inputs_num; ++i)
# Line 363 | Line 430 | static void
430  
431  
432   static void
433 < write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[])
433 > write_into_file(FILE *outfile, const char *opt, const char *arg, const char *values[])
434   {
435 +  FIX_UNUSED (values);
436    if (arg) {
437      fprintf(outfile, "%s=\"%s\"\n", opt, arg);
438    } else {
# Line 424 | Line 492 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
492      write_into_file(outfile, "refsele", args_info->refsele_orig, 0);
493    if (args_info->comsele_given)
494      write_into_file(outfile, "comsele", args_info->comsele_orig, 0);
495 +  if (args_info->seleoffset_given)
496 +    write_into_file(outfile, "seleoffset", args_info->seleoffset_orig, 0);
497 +  if (args_info->seleoffset2_given)
498 +    write_into_file(outfile, "seleoffset2", args_info->seleoffset2_orig, 0);
499    if (args_info->molname_given)
500      write_into_file(outfile, "molname", args_info->molname_orig, 0);
501    if (args_info->begin_given)
# Line 432 | Line 504 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
504      write_into_file(outfile, "end", args_info->end_orig, 0);
505    if (args_info->radius_given)
506      write_into_file(outfile, "radius", args_info->radius_orig, 0);
507 +  if (args_info->voxelSize_given)
508 +    write_into_file(outfile, "voxelSize", args_info->voxelSize_orig, 0);
509 +  if (args_info->gaussWidth_given)
510 +    write_into_file(outfile, "gaussWidth", args_info->gaussWidth_orig, 0);
511    if (args_info->bo_given)
512      write_into_file(outfile, "bo", 0, 0 );
513 <  if (args_info->bor_given)
514 <    write_into_file(outfile, "bor", 0, 0 );
513 >  if (args_info->ior_given)
514 >    write_into_file(outfile, "ior", 0, 0 );
515 >  if (args_info->for_given)
516 >    write_into_file(outfile, "for", 0, 0 );
517    if (args_info->bad_given)
518      write_into_file(outfile, "bad", 0, 0 );
519 +  if (args_info->count_given)
520 +    write_into_file(outfile, "count", 0, 0 );
521    if (args_info->gofr_given)
522      write_into_file(outfile, "gofr", 0, 0 );
523    if (args_info->gofz_given)
# Line 470 | Line 550 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
550      write_into_file(outfile, "hxy", 0, 0 );
551    if (args_info->rho_r_given)
552      write_into_file(outfile, "rho_r", 0, 0 );
553 +  if (args_info->angle_r_given)
554 +    write_into_file(outfile, "angle_r", 0, 0 );
555    if (args_info->hullvol_given)
556      write_into_file(outfile, "hullvol", 0, 0 );
557 +  if (args_info->rodlength_given)
558 +    write_into_file(outfile, "rodlength", 0, 0 );
559 +  if (args_info->tet_param_given)
560 +    write_into_file(outfile, "tet_param", 0, 0 );
561 +  if (args_info->tet_param_z_given)
562 +    write_into_file(outfile, "tet_param_z", 0, 0 );
563 +  if (args_info->tet_param_xyz_given)
564 +    write_into_file(outfile, "tet_param_xyz", 0, 0 );
565 +  if (args_info->rnemdz_given)
566 +    write_into_file(outfile, "rnemdz", 0, 0 );
567 +  if (args_info->rnemdr_given)
568 +    write_into_file(outfile, "rnemdr", 0, 0 );
569 +  if (args_info->rnemdrt_given)
570 +    write_into_file(outfile, "rnemdrt", 0, 0 );
571 +  if (args_info->nitrile_given)
572 +    write_into_file(outfile, "nitrile", 0, 0 );
573 +  if (args_info->multipole_given)
574 +    write_into_file(outfile, "multipole", 0, 0 );
575    
576  
577    i = EXIT_SUCCESS;
# Line 508 | Line 608 | gengetopt_strdup (const char *s)
608   char *
609   gengetopt_strdup (const char *s)
610   {
611 <  char *result = NULL;
611 >  char *result = 0;
612    if (!s)
613      return result;
614  
# Line 526 | Line 626 | reset_group_staticProps(struct gengetopt_args_info *ar
626      return;
627    
628    args_info->bo_given = 0 ;
629 <  args_info->bor_given = 0 ;
629 >  args_info->ior_given = 0 ;
630 >  args_info->for_given = 0 ;
631    args_info->bad_given = 0 ;
632 +  args_info->count_given = 0 ;
633    args_info->gofr_given = 0 ;
634    args_info->gofz_given = 0 ;
635    args_info->r_theta_given = 0 ;
# Line 544 | Line 646 | reset_group_staticProps(struct gengetopt_args_info *ar
646    args_info->p_angle_given = 0 ;
647    args_info->hxy_given = 0 ;
648    args_info->rho_r_given = 0 ;
649 +  args_info->angle_r_given = 0 ;
650    args_info->hullvol_given = 0 ;
651 +  args_info->rodlength_given = 0 ;
652 +  args_info->tet_param_given = 0 ;
653 +  args_info->tet_param_z_given = 0 ;
654 +  args_info->tet_param_xyz_given = 0 ;
655 +  args_info->rnemdz_given = 0 ;
656 +  args_info->rnemdr_given = 0 ;
657 +  args_info->rnemdrt_given = 0 ;
658 +  args_info->nitrile_given = 0 ;
659 +  args_info->multipole_given = 0 ;
660  
661    args_info->staticProps_group_counter = 0;
662   }
663  
664   int
665 < cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info)
665 > cmdline_parser (int argc, char **argv, struct gengetopt_args_info *args_info)
666   {
667    return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
668   }
669  
670   int
671 < cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info,
671 > cmdline_parser_ext (int argc, char **argv, struct gengetopt_args_info *args_info,
672                     struct cmdline_parser_params *params)
673   {
674    int result;
675 <  result = cmdline_parser_internal (argc, argv, args_info, params, NULL);
675 >  result = cmdline_parser_internal (argc, argv, args_info, params, 0);
676  
677    if (result == EXIT_FAILURE)
678      {
# Line 572 | Line 684 | int
684   }
685  
686   int
687 < cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
687 > cmdline_parser2 (int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
688   {
689    int result;
690    struct cmdline_parser_params params;
# Line 583 | Line 695 | cmdline_parser2 (int argc, char * const *argv, struct
695    params.check_ambiguity = 0;
696    params.print_errors = 1;
697  
698 <  result = cmdline_parser_internal (argc, argv, args_info, &params, NULL);
698 >  result = cmdline_parser_internal (argc, argv, args_info, &params, 0);
699  
700    if (result == EXIT_FAILURE)
701      {
# Line 599 | Line 711 | cmdline_parser_required (struct gengetopt_args_info *a
711   {
712    int result = EXIT_SUCCESS;
713  
714 <  if (cmdline_parser_required2(args_info, prog_name, NULL) > 0)
714 >  if (cmdline_parser_required2(args_info, prog_name, 0) > 0)
715      result = EXIT_FAILURE;
716  
717    if (result == EXIT_FAILURE)
# Line 615 | Line 727 | cmdline_parser_required2 (struct gengetopt_args_info *
727   cmdline_parser_required2 (struct gengetopt_args_info *args_info, const char *prog_name, const char *additional_error)
728   {
729    int error = 0;
730 +  FIX_UNUSED (additional_error);
731  
732    /* checks for required options */
733    if (! args_info->input_given)
# Line 625 | Line 738 | cmdline_parser_required2 (struct gengetopt_args_info *
738    
739    if (args_info->staticProps_group_counter == 0)
740      {
741 <      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 : ""));
741 >      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 : ""));
742        error = 1;
743      }
744    
# Line 659 | Line 772 | int update_arg(void *field, char **orig_field,
772   static
773   int update_arg(void *field, char **orig_field,
774                 unsigned int *field_given, unsigned int *prev_given,
775 <               char *value, char *possible_values[], const char *default_value,
775 >               char *value, const char *possible_values[],
776 >               const char *default_value,
777                 cmdline_parser_arg_type arg_type,
778                 int check_ambiguity, int override,
779                 int no_free, int multiple_option,
# Line 670 | Line 784 | int update_arg(void *field, char **orig_field,
784    const char *val = value;
785    int found;
786    char **string_field;
787 +  FIX_UNUSED (field);
788  
789    stop_char = 0;
790    found = 0;
# Line 687 | Line 802 | int update_arg(void *field, char **orig_field,
802        return 1; /* failure */
803      }
804  
805 +  FIX_UNUSED (default_value);
806      
807    if (field_given && *field_given && ! override)
808      return 0;
# Line 750 | Line 866 | int
866  
867  
868   int
869 < cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
869 > cmdline_parser_internal (
870 >  int argc, char **argv, struct gengetopt_args_info *args_info,
871                          struct cmdline_parser_params *params, const char *additional_error)
872   {
873    int c;        /* Character of the parsed option.  */
# Line 805 | Line 922 | cmdline_parser_internal (int argc, char * const *argv,
922          { "sele3",      1, NULL, 0 },
923          { "refsele",    1, NULL, 0 },
924          { "comsele",    1, NULL, 0 },
925 +        { "seleoffset", 1, NULL, 0 },
926 +        { "seleoffset2",        1, NULL, 0 },
927          { "molname",    1, NULL, 0 },
928          { "begin",      1, NULL, 0 },
929          { "end",        1, NULL, 0 },
930          { "radius",     1, NULL, 0 },
931 +        { "voxelSize",  1, NULL, 'v' },
932 +        { "gaussWidth", 1, NULL, 0 },
933          { "bo", 0, NULL, 0 },
934 <        { "bor",        0, NULL, 0 },
934 >        { "ior",        0, NULL, 0 },
935 >        { "for",        0, NULL, 0 },
936          { "bad",        0, NULL, 0 },
937 +        { "count",      0, NULL, 0 },
938          { "gofr",       0, NULL, 'g' },
939          { "gofz",       0, NULL, 0 },
940          { "r_theta",    0, NULL, 0 },
# Line 828 | Line 951 | cmdline_parser_internal (int argc, char * const *argv,
951          { "p_angle",    0, NULL, 0 },
952          { "hxy",        0, NULL, 0 },
953          { "rho_r",      0, NULL, 0 },
954 +        { "angle_r",    0, NULL, 0 },
955          { "hullvol",    0, NULL, 0 },
956 <        { NULL, 0, NULL, 0 }
956 >        { "rodlength",  0, NULL, 0 },
957 >        { "tet_param",  0, NULL, 'Q' },
958 >        { "tet_param_z",        0, NULL, 0 },
959 >        { "tet_param_xyz",      0, NULL, 0 },
960 >        { "rnemdz",     0, NULL, 0 },
961 >        { "rnemdr",     0, NULL, 0 },
962 >        { "rnemdrt",    0, NULL, 0 },
963 >        { "nitrile",    0, NULL, 0 },
964 >        { "multipole",  0, NULL, 'm' },
965 >        { 0,  0, 0, 0 }
966        };
967  
968 <      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:gpsd", long_options, &option_index);
968 >      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:v:gpsdQm", long_options, &option_index);
969  
970        if (c == -1) break;       /* Exit from `while (1)' loop.  */
971  
# Line 956 | Line 1089 | cmdline_parser_internal (int argc, char * const *argv,
1089              goto failure;
1090          
1091            break;
1092 +        case 'v':       /* voxel size (angstroms).  */
1093 +        
1094 +        
1095 +          if (update_arg( (void *)&(args_info->voxelSize_arg),
1096 +               &(args_info->voxelSize_orig), &(args_info->voxelSize_given),
1097 +              &(local_args_info.voxelSize_given), optarg, 0, 0, ARG_DOUBLE,
1098 +              check_ambiguity, override, 0, 0,
1099 +              "voxelSize", 'v',
1100 +              additional_error))
1101 +            goto failure;
1102 +        
1103 +          break;
1104          case 'g':       /* g(r).  */
1105          
1106            if (args_info->staticProps_group_counter && override)
# Line 971 | Line 1116 | cmdline_parser_internal (int argc, char * const *argv,
1116              goto failure;
1117          
1118            break;
1119 <        case 'p':       /* p2 order parameter (--sele1 and --sele2 must be specified).  */
1119 >        case 'p':       /* p2 order parameter (--sele1 must be specified, --sele2 is optional).  */
1120          
1121            if (args_info->staticProps_group_counter && override)
1122              reset_group_staticProps (args_info);
# Line 1016 | Line 1161 | cmdline_parser_internal (int argc, char * const *argv,
1161              goto failure;
1162          
1163            break;
1164 +        case 'Q':       /* tetrahedrality order parameter (Qk).  */
1165 +        
1166 +          if (args_info->staticProps_group_counter && override)
1167 +            reset_group_staticProps (args_info);
1168 +          args_info->staticProps_group_counter += 1;
1169 +        
1170 +          if (update_arg( 0 ,
1171 +               0 , &(args_info->tet_param_given),
1172 +              &(local_args_info.tet_param_given), optarg, 0, 0, ARG_NO,
1173 +              check_ambiguity, override, 0, 0,
1174 +              "tet_param", 'Q',
1175 +              additional_error))
1176 +            goto failure;
1177 +        
1178 +          break;
1179 +        case 'm':       /* average multipole moments contained within cutoff spheres as a function of radius.  */
1180 +        
1181 +          if (args_info->staticProps_group_counter && override)
1182 +            reset_group_staticProps (args_info);
1183 +          args_info->staticProps_group_counter += 1;
1184 +        
1185 +          if (update_arg( 0 ,
1186 +               0 , &(args_info->multipole_given),
1187 +              &(local_args_info.multipole_given), optarg, 0, 0, ARG_NO,
1188 +              check_ambiguity, override, 0, 0,
1189 +              "multipole", 'm',
1190 +              additional_error))
1191 +            goto failure;
1192 +        
1193 +          break;
1194  
1195          case 0: /* Long option with no short option */
1196            /* number of bins in z axis.  */
# Line 1144 | Line 1319 | cmdline_parser_internal (int argc, char * const *argv,
1319                goto failure;
1320            
1321            }
1322 +          /* global index offset for a second object (used to define a vector between sites in molecule).  */
1323 +          else if (strcmp (long_options[option_index].name, "seleoffset") == 0)
1324 +          {
1325 +          
1326 +          
1327 +            if (update_arg( (void *)&(args_info->seleoffset_arg),
1328 +                 &(args_info->seleoffset_orig), &(args_info->seleoffset_given),
1329 +                &(local_args_info.seleoffset_given), optarg, 0, 0, ARG_INT,
1330 +                check_ambiguity, override, 0, 0,
1331 +                "seleoffset", '-',
1332 +                additional_error))
1333 +              goto failure;
1334 +          
1335 +          }
1336 +          /* global index offset for a third object (used to define a vector between sites in molecule).  */
1337 +          else if (strcmp (long_options[option_index].name, "seleoffset2") == 0)
1338 +          {
1339 +          
1340 +          
1341 +            if (update_arg( (void *)&(args_info->seleoffset2_arg),
1342 +                 &(args_info->seleoffset2_orig), &(args_info->seleoffset2_given),
1343 +                &(local_args_info.seleoffset2_given), optarg, 0, 0, ARG_INT,
1344 +                check_ambiguity, override, 0, 0,
1345 +                "seleoffset2", '-',
1346 +                additional_error))
1347 +              goto failure;
1348 +          
1349 +          }
1350            /* molecule name.  */
1351            else if (strcmp (long_options[option_index].name, "molname") == 0)
1352            {
# Line 1196 | Line 1399 | cmdline_parser_internal (int argc, char * const *argv,
1399                  &(local_args_info.radius_given), optarg, 0, 0, ARG_DOUBLE,
1400                  check_ambiguity, override, 0, 0,
1401                  "radius", '-',
1402 +                additional_error))
1403 +              goto failure;
1404 +          
1405 +          }
1406 +          /* Gaussian width (angstroms).  */
1407 +          else if (strcmp (long_options[option_index].name, "gaussWidth") == 0)
1408 +          {
1409 +          
1410 +          
1411 +            if (update_arg( (void *)&(args_info->gaussWidth_arg),
1412 +                 &(args_info->gaussWidth_orig), &(args_info->gaussWidth_given),
1413 +                &(local_args_info.gaussWidth_given), optarg, 0, 0, ARG_DOUBLE,
1414 +                check_ambiguity, override, 0, 0,
1415 +                "gaussWidth", '-',
1416                  additional_error))
1417                goto failure;
1418            
# Line 1217 | Line 1434 | cmdline_parser_internal (int argc, char * const *argv,
1434                goto failure;
1435            
1436            }
1437 <          /* bond order parameter as a function of radius (--rcut must be specified).  */
1438 <          else if (strcmp (long_options[option_index].name, "bor") == 0)
1437 >          /* icosahedral bond order parameter as a function of radius (--rcut must be specified).  */
1438 >          else if (strcmp (long_options[option_index].name, "ior") == 0)
1439            {
1440            
1441              if (args_info->staticProps_group_counter && override)
# Line 1226 | Line 1443 | cmdline_parser_internal (int argc, char * const *argv,
1443              args_info->staticProps_group_counter += 1;
1444            
1445              if (update_arg( 0 ,
1446 <                 0 , &(args_info->bor_given),
1447 <                &(local_args_info.bor_given), optarg, 0, 0, ARG_NO,
1446 >                 0 , &(args_info->ior_given),
1447 >                &(local_args_info.ior_given), optarg, 0, 0, ARG_NO,
1448                  check_ambiguity, override, 0, 0,
1449 <                "bor", '-',
1449 >                "ior", '-',
1450                  additional_error))
1451                goto failure;
1452            
1453            }
1454 +          /* FCC bond order parameter as a function of radius (--rcut must be specified).  */
1455 +          else if (strcmp (long_options[option_index].name, "for") == 0)
1456 +          {
1457 +          
1458 +            if (args_info->staticProps_group_counter && override)
1459 +              reset_group_staticProps (args_info);
1460 +            args_info->staticProps_group_counter += 1;
1461 +          
1462 +            if (update_arg( 0 ,
1463 +                 0 , &(args_info->for_given),
1464 +                &(local_args_info.for_given), optarg, 0, 0, ARG_NO,
1465 +                check_ambiguity, override, 0, 0,
1466 +                "for", '-',
1467 +                additional_error))
1468 +              goto failure;
1469 +          
1470 +          }
1471            /* N(theta) bond angle density within (--rcut must be specified).  */
1472            else if (strcmp (long_options[option_index].name, "bad") == 0)
1473            {
# Line 1251 | Line 1485 | cmdline_parser_internal (int argc, char * const *argv,
1485                goto failure;
1486            
1487            }
1488 +          /* count of molecules matching selection criteria (and associated statistics).  */
1489 +          else if (strcmp (long_options[option_index].name, "count") == 0)
1490 +          {
1491 +          
1492 +            if (args_info->staticProps_group_counter && override)
1493 +              reset_group_staticProps (args_info);
1494 +            args_info->staticProps_group_counter += 1;
1495 +          
1496 +            if (update_arg( 0 ,
1497 +                 0 , &(args_info->count_given),
1498 +                &(local_args_info.count_given), optarg, 0, 0, ARG_NO,
1499 +                check_ambiguity, override, 0, 0,
1500 +                "count", '-',
1501 +                additional_error))
1502 +              goto failure;
1503 +          
1504 +          }
1505            /* g(z).  */
1506            else if (strcmp (long_options[option_index].name, "gofz") == 0)
1507            {
# Line 1404 | Line 1655 | cmdline_parser_internal (int argc, char * const *argv,
1655                goto failure;
1656            
1657            }
1658 <          /* p(cos(theta)).  */
1658 >          /* p(cos(theta)) (--sele1 must be specified, --sele2 is optional).  */
1659            else if (strcmp (long_options[option_index].name, "p_angle") == 0)
1660            {
1661            
# Line 1451 | Line 1702 | cmdline_parser_internal (int argc, char * const *argv,
1702                  &(local_args_info.rho_r_given), optarg, 0, 0, ARG_NO,
1703                  check_ambiguity, override, 0, 0,
1704                  "rho_r", '-',
1705 +                additional_error))
1706 +              goto failure;
1707 +          
1708 +          }
1709 +          /* angle of R.  */
1710 +          else if (strcmp (long_options[option_index].name, "angle_r") == 0)
1711 +          {
1712 +          
1713 +            if (args_info->staticProps_group_counter && override)
1714 +              reset_group_staticProps (args_info);
1715 +            args_info->staticProps_group_counter += 1;
1716 +          
1717 +            if (update_arg( 0 ,
1718 +                 0 , &(args_info->angle_r_given),
1719 +                &(local_args_info.angle_r_given), optarg, 0, 0, ARG_NO,
1720 +                check_ambiguity, override, 0, 0,
1721 +                "angle_r", '-',
1722                  additional_error))
1723                goto failure;
1724            
# Line 1472 | Line 1740 | cmdline_parser_internal (int argc, char * const *argv,
1740                goto failure;
1741            
1742            }
1743 +          /* length of nanorod.  */
1744 +          else if (strcmp (long_options[option_index].name, "rodlength") == 0)
1745 +          {
1746            
1747 +            if (args_info->staticProps_group_counter && override)
1748 +              reset_group_staticProps (args_info);
1749 +            args_info->staticProps_group_counter += 1;
1750 +          
1751 +            if (update_arg( 0 ,
1752 +                 0 , &(args_info->rodlength_given),
1753 +                &(local_args_info.rodlength_given), optarg, 0, 0, ARG_NO,
1754 +                check_ambiguity, override, 0, 0,
1755 +                "rodlength", '-',
1756 +                additional_error))
1757 +              goto failure;
1758 +          
1759 +          }
1760 +          /* spatially-resolved tetrahedrality order parameter Qk(z).  */
1761 +          else if (strcmp (long_options[option_index].name, "tet_param_z") == 0)
1762 +          {
1763 +          
1764 +            if (args_info->staticProps_group_counter && override)
1765 +              reset_group_staticProps (args_info);
1766 +            args_info->staticProps_group_counter += 1;
1767 +          
1768 +            if (update_arg( 0 ,
1769 +                 0 , &(args_info->tet_param_z_given),
1770 +                &(local_args_info.tet_param_z_given), optarg, 0, 0, ARG_NO,
1771 +                check_ambiguity, override, 0, 0,
1772 +                "tet_param_z", '-',
1773 +                additional_error))
1774 +              goto failure;
1775 +          
1776 +          }
1777 +          /* volume-resolved tetrahedrality order parameter Qk(x,y,z).  (voxelSize, rcut, and gaussWidth must be specified).  */
1778 +          else if (strcmp (long_options[option_index].name, "tet_param_xyz") == 0)
1779 +          {
1780 +          
1781 +            if (args_info->staticProps_group_counter && override)
1782 +              reset_group_staticProps (args_info);
1783 +            args_info->staticProps_group_counter += 1;
1784 +          
1785 +            if (update_arg( 0 ,
1786 +                 0 , &(args_info->tet_param_xyz_given),
1787 +                &(local_args_info.tet_param_xyz_given), optarg, 0, 0, ARG_NO,
1788 +                check_ambiguity, override, 0, 0,
1789 +                "tet_param_xyz", '-',
1790 +                additional_error))
1791 +              goto failure;
1792 +          
1793 +          }
1794 +          /* slab-resolved RNEMD statistics (temperature, density, velocity).  */
1795 +          else if (strcmp (long_options[option_index].name, "rnemdz") == 0)
1796 +          {
1797 +          
1798 +            if (args_info->staticProps_group_counter && override)
1799 +              reset_group_staticProps (args_info);
1800 +            args_info->staticProps_group_counter += 1;
1801 +          
1802 +            if (update_arg( 0 ,
1803 +                 0 , &(args_info->rnemdz_given),
1804 +                &(local_args_info.rnemdz_given), optarg, 0, 0, ARG_NO,
1805 +                check_ambiguity, override, 0, 0,
1806 +                "rnemdz", '-',
1807 +                additional_error))
1808 +              goto failure;
1809 +          
1810 +          }
1811 +          /* shell-resolved RNEMD statistics (temperature, density, angular velocity).  */
1812 +          else if (strcmp (long_options[option_index].name, "rnemdr") == 0)
1813 +          {
1814 +          
1815 +            if (args_info->staticProps_group_counter && override)
1816 +              reset_group_staticProps (args_info);
1817 +            args_info->staticProps_group_counter += 1;
1818 +          
1819 +            if (update_arg( 0 ,
1820 +                 0 , &(args_info->rnemdr_given),
1821 +                &(local_args_info.rnemdr_given), optarg, 0, 0, ARG_NO,
1822 +                check_ambiguity, override, 0, 0,
1823 +                "rnemdr", '-',
1824 +                additional_error))
1825 +              goto failure;
1826 +          
1827 +          }
1828 +          /* shell and angle-resolved RNEMD statistics (temperature, density, angular velocity).  */
1829 +          else if (strcmp (long_options[option_index].name, "rnemdrt") == 0)
1830 +          {
1831 +          
1832 +            if (args_info->staticProps_group_counter && override)
1833 +              reset_group_staticProps (args_info);
1834 +            args_info->staticProps_group_counter += 1;
1835 +          
1836 +            if (update_arg( 0 ,
1837 +                 0 , &(args_info->rnemdrt_given),
1838 +                &(local_args_info.rnemdrt_given), optarg, 0, 0, ARG_NO,
1839 +                check_ambiguity, override, 0, 0,
1840 +                "rnemdrt", '-',
1841 +                additional_error))
1842 +              goto failure;
1843 +          
1844 +          }
1845 +          /* electrostatic potential to frequency map based on the Cho nitrile fits.  */
1846 +          else if (strcmp (long_options[option_index].name, "nitrile") == 0)
1847 +          {
1848 +          
1849 +            if (args_info->staticProps_group_counter && override)
1850 +              reset_group_staticProps (args_info);
1851 +            args_info->staticProps_group_counter += 1;
1852 +          
1853 +            if (update_arg( 0 ,
1854 +                 0 , &(args_info->nitrile_given),
1855 +                &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO,
1856 +                check_ambiguity, override, 0, 0,
1857 +                "nitrile", '-',
1858 +                additional_error))
1859 +              goto failure;
1860 +          
1861 +          }
1862 +          
1863            break;
1864          case '?':       /* Invalid option.  */
1865            /* `getopt_long' already printed an error message.  */
# Line 1486 | Line 1873 | cmdline_parser_internal (int argc, char * const *argv,
1873  
1874    if (args_info->staticProps_group_counter > 1)
1875      {
1876 <      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 : ""));
1876 >      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 : ""));
1877        error = 1;
1878      }
1879    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines