| 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)", | 
| 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)", | 
| 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 | 
  | 
  "      --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 | 
  | 
 | 
| 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 ; | 
| 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 ; | 
| 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->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 | 
  | 
 | 
| 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; | 
| 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 | 
  | 
 | 
| 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->nitrile_help = gengetopt_args_info_help[56] ; | 
| 306 | 
< | 
  args_info->multipole_help = gengetopt_args_info_help[57] ; | 
| 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 | 
  | 
 | 
| 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)); | 
| 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) | 
| 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) | 
| 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) | 
| 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) | 
| 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; | 
| 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->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 | 
  | 
} | 
| 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 }, | 
| 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 }, | 
| 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 | 
  | 
        { "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:gpsdQm", 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 | 
  | 
 | 
| 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) | 
| 1225 | 
  | 
                &(local_args_info.nbins_z_given), optarg, 0, "100", ARG_INT, | 
| 1226 | 
  | 
                check_ambiguity, override, 0, 0, | 
| 1227 | 
  | 
                "nbins_z", '-', | 
| 1228 | 
+ | 
                additional_error)) | 
| 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 | 
  | 
           | 
| 1435 | 
  | 
                &(local_args_info.radius_given), optarg, 0, 0, ARG_DOUBLE, | 
| 1436 | 
  | 
                check_ambiguity, override, 0, 0, | 
| 1437 | 
  | 
                "radius", '-', | 
| 1438 | 
+ | 
                additional_error)) | 
| 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 | 
  | 
           | 
| 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 | 
  | 
           | 
| 1891 | 
  | 
                &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO, | 
| 1892 | 
  | 
                check_ambiguity, override, 0, 0, | 
| 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.  */ |