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

Comparing trunk/src/applications/staticProps/StaticPropsCmd.cpp (file contents):
Revision 1993 by gezelter, Tue Apr 29 17:32:31 2014 UTC vs.
Revision 2049 by gezelter, Tue Jan 6 21:44:10 2015 UTC

# Line 47 | Line 47 | const char *gengetopt_args_info_help[] = {
47    "      --nbins_z=INT             number of bins in z axis  (default=`100')",
48    "  -a, --nanglebins=INT          number of bins for cos(angle)  (default=`50')",
49    "  -c, --rcut=DOUBLE             cutoff radius (rcut)",
50 +  "      --thetacut=DOUBLE         cutoff angle (thetacut)",
51    "      --dz=DOUBLE               slab width (dz)",
52    "      --length=DOUBLE           maximum length (Defaults to 1/2 smallest length \n                                  of first frame)",
53    "      --zlength=DOUBLE          maximum length (Defaults to 1/2 smallest length \n                                  of first frame)",
# Line 62 | Line 63 | const char *gengetopt_args_info_help[] = {
63    "      --begin=INT               begin internal index",
64    "      --end=INT                 end internal index",
65    "      --radius=DOUBLE           nanoparticle radius",
66 +  "  -v, --voxelSize=DOUBLE        voxel size (angstroms)",
67 +  "      --gaussWidth=DOUBLE       Gaussian width (angstroms)",
68    "\n Group: staticProps\n   an option of this group is required",
69    "      --bo                      bond order parameter (--rcut must be specified)",
70    "      --ior                     icosahedral bond order parameter as a function \n                                  of radius (--rcut must be specified)",
# Line 89 | Line 92 | const char *gengetopt_args_info_help[] = {
92    "      --rodlength               length of nanorod",
93    "  -Q, --tet_param               tetrahedrality order parameter (Qk)",
94    "      --tet_param_z             spatially-resolved tetrahedrality order \n                                  parameter Qk(z)",
95 +  "      --tet_param_xyz           volume-resolved tetrahedrality order parameter \n                                  Qk(x,y,z).  (voxelSize, rcut, and gaussWidth \n                                  must be specified)",
96    "      --rnemdz                  slab-resolved RNEMD statistics (temperature, \n                                  density, velocity)",
97    "      --rnemdr                  shell-resolved RNEMD statistics (temperature, \n                                  density, angular velocity)",
98    "      --rnemdrt                 shell and angle-resolved RNEMD statistics \n                                  (temperature, density, angular velocity)",
99 <  "      --uFreqMap                electrostatic potential to frequency map based \n                                  on the Cho nitrile fits",
99 >  "      --nitrile                 electrostatic potential to frequency map based \n                                  on the Cho nitrile fits",
100 >  "  -m, --multipole               average multipole moments contained within \n                                  cutoff spheres as a function of radius",
101 >  "      --surfDiffusion           X, Y, and R (surface diffusion if Z exposed and \n                                  bulk immobile) diffusion",
102 >  "      --hbond                   Hydrogen Bonding statistics using geometric \n                                  criteria (rcut and thetacut must be \n                                  specified)",
103      0
104   };
105  
# Line 131 | Line 138 | void clear_given (struct gengetopt_args_info *args_inf
138    args_info->nbins_z_given = 0 ;
139    args_info->nanglebins_given = 0 ;
140    args_info->rcut_given = 0 ;
141 +  args_info->thetacut_given = 0 ;
142    args_info->dz_given = 0 ;
143    args_info->length_given = 0 ;
144    args_info->zlength_given = 0 ;
# Line 146 | Line 154 | void clear_given (struct gengetopt_args_info *args_inf
154    args_info->begin_given = 0 ;
155    args_info->end_given = 0 ;
156    args_info->radius_given = 0 ;
157 +  args_info->voxelSize_given = 0 ;
158 +  args_info->gaussWidth_given = 0 ;
159    args_info->bo_given = 0 ;
160    args_info->ior_given = 0 ;
161    args_info->for_given = 0 ;
# Line 172 | Line 182 | void clear_given (struct gengetopt_args_info *args_inf
182    args_info->rodlength_given = 0 ;
183    args_info->tet_param_given = 0 ;
184    args_info->tet_param_z_given = 0 ;
185 +  args_info->tet_param_xyz_given = 0 ;
186    args_info->rnemdz_given = 0 ;
187    args_info->rnemdr_given = 0 ;
188    args_info->rnemdrt_given = 0 ;
189 <  args_info->uFreqMap_given = 0 ;
189 >  args_info->nitrile_given = 0 ;
190 >  args_info->multipole_given = 0 ;
191 >  args_info->surfDiffusion_given = 0 ;
192 >  args_info->hbond_given = 0 ;
193    args_info->staticProps_group_counter = 0 ;
194   }
195  
# Line 200 | Line 214 | void clear_args (struct gengetopt_args_info *args_info
214    args_info->nanglebins_arg = 50;
215    args_info->nanglebins_orig = NULL;
216    args_info->rcut_orig = NULL;
217 +  args_info->thetacut_orig = NULL;
218    args_info->dz_orig = NULL;
219    args_info->length_orig = NULL;
220    args_info->zlength_orig = NULL;
# Line 222 | Line 237 | void clear_args (struct gengetopt_args_info *args_info
237    args_info->begin_orig = NULL;
238    args_info->end_orig = NULL;
239    args_info->radius_orig = NULL;
240 +  args_info->voxelSize_orig = NULL;
241 +  args_info->gaussWidth_orig = NULL;
242    
243   }
244  
# Line 241 | Line 258 | void init_args_info(struct gengetopt_args_info *args_i
258    args_info->nbins_z_help = gengetopt_args_info_help[8] ;
259    args_info->nanglebins_help = gengetopt_args_info_help[9] ;
260    args_info->rcut_help = gengetopt_args_info_help[10] ;
261 <  args_info->dz_help = gengetopt_args_info_help[11] ;
262 <  args_info->length_help = gengetopt_args_info_help[12] ;
263 <  args_info->zlength_help = gengetopt_args_info_help[13] ;
264 <  args_info->zoffset_help = gengetopt_args_info_help[14] ;
265 <  args_info->sele1_help = gengetopt_args_info_help[15] ;
266 <  args_info->sele2_help = gengetopt_args_info_help[16] ;
267 <  args_info->sele3_help = gengetopt_args_info_help[17] ;
268 <  args_info->refsele_help = gengetopt_args_info_help[18] ;
269 <  args_info->comsele_help = gengetopt_args_info_help[19] ;
270 <  args_info->seleoffset_help = gengetopt_args_info_help[20] ;
271 <  args_info->seleoffset2_help = gengetopt_args_info_help[21] ;
272 <  args_info->molname_help = gengetopt_args_info_help[22] ;
273 <  args_info->begin_help = gengetopt_args_info_help[23] ;
274 <  args_info->end_help = gengetopt_args_info_help[24] ;
275 <  args_info->radius_help = gengetopt_args_info_help[25] ;
276 <  args_info->bo_help = gengetopt_args_info_help[27] ;
277 <  args_info->ior_help = gengetopt_args_info_help[28] ;
278 <  args_info->for_help = gengetopt_args_info_help[29] ;
279 <  args_info->bad_help = gengetopt_args_info_help[30] ;
280 <  args_info->count_help = gengetopt_args_info_help[31] ;
281 <  args_info->gofr_help = gengetopt_args_info_help[32] ;
282 <  args_info->gofz_help = gengetopt_args_info_help[33] ;
283 <  args_info->r_theta_help = gengetopt_args_info_help[34] ;
284 <  args_info->r_omega_help = gengetopt_args_info_help[35] ;
285 <  args_info->r_z_help = gengetopt_args_info_help[36] ;
286 <  args_info->theta_omega_help = gengetopt_args_info_help[37] ;
287 <  args_info->gxyz_help = gengetopt_args_info_help[38] ;
288 <  args_info->twodgofr_help = gengetopt_args_info_help[39] ;
289 <  args_info->p2_help = gengetopt_args_info_help[40] ;
290 <  args_info->rp2_help = gengetopt_args_info_help[41] ;
291 <  args_info->scd_help = gengetopt_args_info_help[42] ;
292 <  args_info->density_help = gengetopt_args_info_help[43] ;
293 <  args_info->slab_density_help = gengetopt_args_info_help[44] ;
294 <  args_info->p_angle_help = gengetopt_args_info_help[45] ;
295 <  args_info->hxy_help = gengetopt_args_info_help[46] ;
296 <  args_info->rho_r_help = gengetopt_args_info_help[47] ;
297 <  args_info->angle_r_help = gengetopt_args_info_help[48] ;
298 <  args_info->hullvol_help = gengetopt_args_info_help[49] ;
299 <  args_info->rodlength_help = gengetopt_args_info_help[50] ;
300 <  args_info->tet_param_help = gengetopt_args_info_help[51] ;
301 <  args_info->tet_param_z_help = gengetopt_args_info_help[52] ;
302 <  args_info->rnemdz_help = gengetopt_args_info_help[53] ;
303 <  args_info->rnemdr_help = gengetopt_args_info_help[54] ;
304 <  args_info->rnemdrt_help = gengetopt_args_info_help[55] ;
305 <  args_info->uFreqMap_help = gengetopt_args_info_help[56] ;
261 >  args_info->thetacut_help = gengetopt_args_info_help[11] ;
262 >  args_info->dz_help = gengetopt_args_info_help[12] ;
263 >  args_info->length_help = gengetopt_args_info_help[13] ;
264 >  args_info->zlength_help = gengetopt_args_info_help[14] ;
265 >  args_info->zoffset_help = gengetopt_args_info_help[15] ;
266 >  args_info->sele1_help = gengetopt_args_info_help[16] ;
267 >  args_info->sele2_help = gengetopt_args_info_help[17] ;
268 >  args_info->sele3_help = gengetopt_args_info_help[18] ;
269 >  args_info->refsele_help = gengetopt_args_info_help[19] ;
270 >  args_info->comsele_help = gengetopt_args_info_help[20] ;
271 >  args_info->seleoffset_help = gengetopt_args_info_help[21] ;
272 >  args_info->seleoffset2_help = gengetopt_args_info_help[22] ;
273 >  args_info->molname_help = gengetopt_args_info_help[23] ;
274 >  args_info->begin_help = gengetopt_args_info_help[24] ;
275 >  args_info->end_help = gengetopt_args_info_help[25] ;
276 >  args_info->radius_help = gengetopt_args_info_help[26] ;
277 >  args_info->voxelSize_help = gengetopt_args_info_help[27] ;
278 >  args_info->gaussWidth_help = gengetopt_args_info_help[28] ;
279 >  args_info->bo_help = gengetopt_args_info_help[30] ;
280 >  args_info->ior_help = gengetopt_args_info_help[31] ;
281 >  args_info->for_help = gengetopt_args_info_help[32] ;
282 >  args_info->bad_help = gengetopt_args_info_help[33] ;
283 >  args_info->count_help = gengetopt_args_info_help[34] ;
284 >  args_info->gofr_help = gengetopt_args_info_help[35] ;
285 >  args_info->gofz_help = gengetopt_args_info_help[36] ;
286 >  args_info->r_theta_help = gengetopt_args_info_help[37] ;
287 >  args_info->r_omega_help = gengetopt_args_info_help[38] ;
288 >  args_info->r_z_help = gengetopt_args_info_help[39] ;
289 >  args_info->theta_omega_help = gengetopt_args_info_help[40] ;
290 >  args_info->gxyz_help = gengetopt_args_info_help[41] ;
291 >  args_info->twodgofr_help = gengetopt_args_info_help[42] ;
292 >  args_info->p2_help = gengetopt_args_info_help[43] ;
293 >  args_info->rp2_help = gengetopt_args_info_help[44] ;
294 >  args_info->scd_help = gengetopt_args_info_help[45] ;
295 >  args_info->density_help = gengetopt_args_info_help[46] ;
296 >  args_info->slab_density_help = gengetopt_args_info_help[47] ;
297 >  args_info->p_angle_help = gengetopt_args_info_help[48] ;
298 >  args_info->hxy_help = gengetopt_args_info_help[49] ;
299 >  args_info->rho_r_help = gengetopt_args_info_help[50] ;
300 >  args_info->angle_r_help = gengetopt_args_info_help[51] ;
301 >  args_info->hullvol_help = gengetopt_args_info_help[52] ;
302 >  args_info->rodlength_help = gengetopt_args_info_help[53] ;
303 >  args_info->tet_param_help = gengetopt_args_info_help[54] ;
304 >  args_info->tet_param_z_help = gengetopt_args_info_help[55] ;
305 >  args_info->tet_param_xyz_help = gengetopt_args_info_help[56] ;
306 >  args_info->rnemdz_help = gengetopt_args_info_help[57] ;
307 >  args_info->rnemdr_help = gengetopt_args_info_help[58] ;
308 >  args_info->rnemdrt_help = gengetopt_args_info_help[59] ;
309 >  args_info->nitrile_help = gengetopt_args_info_help[60] ;
310 >  args_info->multipole_help = gengetopt_args_info_help[61] ;
311 >  args_info->surfDiffusion_help = gengetopt_args_info_help[62] ;
312 >  args_info->hbond_help = gengetopt_args_info_help[63] ;
313    
314   }
315  
# Line 380 | Line 404 | cmdline_parser_release (struct gengetopt_args_info *ar
404    free_string_field (&(args_info->nbins_z_orig));
405    free_string_field (&(args_info->nanglebins_orig));
406    free_string_field (&(args_info->rcut_orig));
407 +  free_string_field (&(args_info->thetacut_orig));
408    free_string_field (&(args_info->dz_orig));
409    free_string_field (&(args_info->length_orig));
410    free_string_field (&(args_info->zlength_orig));
# Line 401 | Line 426 | cmdline_parser_release (struct gengetopt_args_info *ar
426    free_string_field (&(args_info->begin_orig));
427    free_string_field (&(args_info->end_orig));
428    free_string_field (&(args_info->radius_orig));
429 +  free_string_field (&(args_info->voxelSize_orig));
430 +  free_string_field (&(args_info->gaussWidth_orig));
431    
432    
433    for (i = 0; i < args_info->inputs_num; ++i)
# Line 458 | Line 485 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
485      write_into_file(outfile, "nanglebins", args_info->nanglebins_orig, 0);
486    if (args_info->rcut_given)
487      write_into_file(outfile, "rcut", args_info->rcut_orig, 0);
488 +  if (args_info->thetacut_given)
489 +    write_into_file(outfile, "thetacut", args_info->thetacut_orig, 0);
490    if (args_info->dz_given)
491      write_into_file(outfile, "dz", args_info->dz_orig, 0);
492    if (args_info->length_given)
# Line 488 | Line 517 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
517      write_into_file(outfile, "end", args_info->end_orig, 0);
518    if (args_info->radius_given)
519      write_into_file(outfile, "radius", args_info->radius_orig, 0);
520 +  if (args_info->voxelSize_given)
521 +    write_into_file(outfile, "voxelSize", args_info->voxelSize_orig, 0);
522 +  if (args_info->gaussWidth_given)
523 +    write_into_file(outfile, "gaussWidth", args_info->gaussWidth_orig, 0);
524    if (args_info->bo_given)
525      write_into_file(outfile, "bo", 0, 0 );
526    if (args_info->ior_given)
# Line 540 | Line 573 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
573      write_into_file(outfile, "tet_param", 0, 0 );
574    if (args_info->tet_param_z_given)
575      write_into_file(outfile, "tet_param_z", 0, 0 );
576 +  if (args_info->tet_param_xyz_given)
577 +    write_into_file(outfile, "tet_param_xyz", 0, 0 );
578    if (args_info->rnemdz_given)
579      write_into_file(outfile, "rnemdz", 0, 0 );
580    if (args_info->rnemdr_given)
581      write_into_file(outfile, "rnemdr", 0, 0 );
582    if (args_info->rnemdrt_given)
583      write_into_file(outfile, "rnemdrt", 0, 0 );
584 <  if (args_info->uFreqMap_given)
585 <    write_into_file(outfile, "uFreqMap", 0, 0 );
584 >  if (args_info->nitrile_given)
585 >    write_into_file(outfile, "nitrile", 0, 0 );
586 >  if (args_info->multipole_given)
587 >    write_into_file(outfile, "multipole", 0, 0 );
588 >  if (args_info->surfDiffusion_given)
589 >    write_into_file(outfile, "surfDiffusion", 0, 0 );
590 >  if (args_info->hbond_given)
591 >    write_into_file(outfile, "hbond", 0, 0 );
592    
593  
594    i = EXIT_SUCCESS;
# Line 627 | Line 668 | reset_group_staticProps(struct gengetopt_args_info *ar
668    args_info->rodlength_given = 0 ;
669    args_info->tet_param_given = 0 ;
670    args_info->tet_param_z_given = 0 ;
671 +  args_info->tet_param_xyz_given = 0 ;
672    args_info->rnemdz_given = 0 ;
673    args_info->rnemdr_given = 0 ;
674    args_info->rnemdrt_given = 0 ;
675 <  args_info->uFreqMap_given = 0 ;
675 >  args_info->nitrile_given = 0 ;
676 >  args_info->multipole_given = 0 ;
677 >  args_info->surfDiffusion_given = 0 ;
678 >  args_info->hbond_given = 0 ;
679  
680    args_info->staticProps_group_counter = 0;
681   }
# Line 887 | Line 932 | cmdline_parser_internal (
932          { "nbins_z",    1, NULL, 0 },
933          { "nanglebins", 1, NULL, 'a' },
934          { "rcut",       1, NULL, 'c' },
935 +        { "thetacut",   1, NULL, 0 },
936          { "dz", 1, NULL, 0 },
937          { "length",     1, NULL, 0 },
938          { "zlength",    1, NULL, 0 },
# Line 902 | Line 948 | cmdline_parser_internal (
948          { "begin",      1, NULL, 0 },
949          { "end",        1, NULL, 0 },
950          { "radius",     1, NULL, 0 },
951 +        { "voxelSize",  1, NULL, 'v' },
952 +        { "gaussWidth", 1, NULL, 0 },
953          { "bo", 0, NULL, 0 },
954          { "ior",        0, NULL, 0 },
955          { "for",        0, NULL, 0 },
# Line 928 | Line 976 | cmdline_parser_internal (
976          { "rodlength",  0, NULL, 0 },
977          { "tet_param",  0, NULL, 'Q' },
978          { "tet_param_z",        0, NULL, 0 },
979 +        { "tet_param_xyz",      0, NULL, 0 },
980          { "rnemdz",     0, NULL, 0 },
981          { "rnemdr",     0, NULL, 0 },
982          { "rnemdrt",    0, NULL, 0 },
983 <        { "uFreqMap",   0, NULL, 0 },
983 >        { "nitrile",    0, NULL, 0 },
984 >        { "multipole",  0, NULL, 'm' },
985 >        { "surfDiffusion",      0, NULL, 0 },
986 >        { "hbond",      0, NULL, 0 },
987          { 0,  0, 0, 0 }
988        };
989  
990 <      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:gpsdQ", long_options, &option_index);
990 >      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:v:gpsdQm", long_options, &option_index);
991  
992        if (c == -1) break;       /* Exit from `while (1)' loop.  */
993  
# Line 1059 | Line 1111 | cmdline_parser_internal (
1111              goto failure;
1112          
1113            break;
1114 +        case 'v':       /* voxel size (angstroms).  */
1115 +        
1116 +        
1117 +          if (update_arg( (void *)&(args_info->voxelSize_arg),
1118 +               &(args_info->voxelSize_orig), &(args_info->voxelSize_given),
1119 +              &(local_args_info.voxelSize_given), optarg, 0, 0, ARG_DOUBLE,
1120 +              check_ambiguity, override, 0, 0,
1121 +              "voxelSize", 'v',
1122 +              additional_error))
1123 +            goto failure;
1124 +        
1125 +          break;
1126          case 'g':       /* g(r).  */
1127          
1128            if (args_info->staticProps_group_counter && override)
# Line 1134 | Line 1198 | cmdline_parser_internal (
1198              goto failure;
1199          
1200            break;
1201 +        case 'm':       /* average multipole moments contained within cutoff spheres as a function of radius.  */
1202 +        
1203 +          if (args_info->staticProps_group_counter && override)
1204 +            reset_group_staticProps (args_info);
1205 +          args_info->staticProps_group_counter += 1;
1206 +        
1207 +          if (update_arg( 0 ,
1208 +               0 , &(args_info->multipole_given),
1209 +              &(local_args_info.multipole_given), optarg, 0, 0, ARG_NO,
1210 +              check_ambiguity, override, 0, 0,
1211 +              "multipole", 'm',
1212 +              additional_error))
1213 +            goto failure;
1214 +        
1215 +          break;
1216  
1217          case 0: /* Long option with no short option */
1218            /* number of bins in z axis.  */
# Line 1150 | Line 1229 | cmdline_parser_internal (
1229                goto failure;
1230            
1231            }
1232 +          /* cutoff angle (thetacut).  */
1233 +          else if (strcmp (long_options[option_index].name, "thetacut") == 0)
1234 +          {
1235 +          
1236 +          
1237 +            if (update_arg( (void *)&(args_info->thetacut_arg),
1238 +                 &(args_info->thetacut_orig), &(args_info->thetacut_given),
1239 +                &(local_args_info.thetacut_given), optarg, 0, 0, ARG_DOUBLE,
1240 +                check_ambiguity, override, 0, 0,
1241 +                "thetacut", '-',
1242 +                additional_error))
1243 +              goto failure;
1244 +          
1245 +          }
1246            /* slab width (dz).  */
1247            else if (strcmp (long_options[option_index].name, "dz") == 0)
1248            {
# Line 1346 | Line 1439 | cmdline_parser_internal (
1439                goto failure;
1440            
1441            }
1442 +          /* Gaussian width (angstroms).  */
1443 +          else if (strcmp (long_options[option_index].name, "gaussWidth") == 0)
1444 +          {
1445 +          
1446 +          
1447 +            if (update_arg( (void *)&(args_info->gaussWidth_arg),
1448 +                 &(args_info->gaussWidth_orig), &(args_info->gaussWidth_given),
1449 +                &(local_args_info.gaussWidth_given), optarg, 0, 0, ARG_DOUBLE,
1450 +                check_ambiguity, override, 0, 0,
1451 +                "gaussWidth", '-',
1452 +                additional_error))
1453 +              goto failure;
1454 +          
1455 +          }
1456            /* bond order parameter (--rcut must be specified).  */
1457            else if (strcmp (long_options[option_index].name, "bo") == 0)
1458            {
# Line 1699 | Line 1806 | cmdline_parser_internal (
1806                  &(local_args_info.tet_param_z_given), optarg, 0, 0, ARG_NO,
1807                  check_ambiguity, override, 0, 0,
1808                  "tet_param_z", '-',
1809 +                additional_error))
1810 +              goto failure;
1811 +          
1812 +          }
1813 +          /* volume-resolved tetrahedrality order parameter Qk(x,y,z).  (voxelSize, rcut, and gaussWidth must be specified).  */
1814 +          else if (strcmp (long_options[option_index].name, "tet_param_xyz") == 0)
1815 +          {
1816 +          
1817 +            if (args_info->staticProps_group_counter && override)
1818 +              reset_group_staticProps (args_info);
1819 +            args_info->staticProps_group_counter += 1;
1820 +          
1821 +            if (update_arg( 0 ,
1822 +                 0 , &(args_info->tet_param_xyz_given),
1823 +                &(local_args_info.tet_param_xyz_given), optarg, 0, 0, ARG_NO,
1824 +                check_ambiguity, override, 0, 0,
1825 +                "tet_param_xyz", '-',
1826                  additional_error))
1827                goto failure;
1828            
# Line 1755 | Line 1879 | cmdline_parser_internal (
1879            
1880            }
1881            /* electrostatic potential to frequency map based on the Cho nitrile fits.  */
1882 <          else if (strcmp (long_options[option_index].name, "uFreqMap") == 0)
1882 >          else if (strcmp (long_options[option_index].name, "nitrile") == 0)
1883            {
1884            
1885              if (args_info->staticProps_group_counter && override)
# Line 1763 | Line 1887 | cmdline_parser_internal (
1887              args_info->staticProps_group_counter += 1;
1888            
1889              if (update_arg( 0 ,
1890 <                 0 , &(args_info->uFreqMap_given),
1891 <                &(local_args_info.uFreqMap_given), optarg, 0, 0, ARG_NO,
1890 >                 0 , &(args_info->nitrile_given),
1891 >                &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO,
1892                  check_ambiguity, override, 0, 0,
1893 <                "uFreqMap", '-',
1893 >                "nitrile", '-',
1894                  additional_error))
1895                goto failure;
1896            
1897            }
1898 +          /* X, Y, and R (surface diffusion if Z exposed and bulk immobile) diffusion.  */
1899 +          else if (strcmp (long_options[option_index].name, "surfDiffusion") == 0)
1900 +          {
1901            
1902 +            if (args_info->staticProps_group_counter && override)
1903 +              reset_group_staticProps (args_info);
1904 +            args_info->staticProps_group_counter += 1;
1905 +          
1906 +            if (update_arg( 0 ,
1907 +                 0 , &(args_info->surfDiffusion_given),
1908 +                &(local_args_info.surfDiffusion_given), optarg, 0, 0, ARG_NO,
1909 +                check_ambiguity, override, 0, 0,
1910 +                "surfDiffusion", '-',
1911 +                additional_error))
1912 +              goto failure;
1913 +          
1914 +          }
1915 +          /* Hydrogen Bonding statistics using geometric criteria (rcut and thetacut must be specified).  */
1916 +          else if (strcmp (long_options[option_index].name, "hbond") == 0)
1917 +          {
1918 +          
1919 +            if (args_info->staticProps_group_counter && override)
1920 +              reset_group_staticProps (args_info);
1921 +            args_info->staticProps_group_counter += 1;
1922 +          
1923 +            if (update_arg( 0 ,
1924 +                 0 , &(args_info->hbond_given),
1925 +                &(local_args_info.hbond_given), optarg, 0, 0, ARG_NO,
1926 +                check_ambiguity, override, 0, 0,
1927 +                "hbond", '-',
1928 +                additional_error))
1929 +              goto failure;
1930 +          
1931 +          }
1932 +          
1933            break;
1934          case '?':       /* Invalid option.  */
1935            /* `getopt_long' already printed an error message.  */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines