| 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 |  | "      --ior                     icosahedral bond order parameter as a function \n                                  of radius (--rcut must be specified)", | 
| 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)", | 
| 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->ior_given = 0 ; | 
| 157 |  | args_info->for_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 ; | 
| 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 |  |  | 
| 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->bo_help = gengetopt_args_info_help[27] ; | 
| 270 | < | args_info->ior_help = gengetopt_args_info_help[28] ; | 
| 271 | < | args_info->for_help = gengetopt_args_info_help[29] ; | 
| 272 | < | args_info->bad_help = gengetopt_args_info_help[30] ; | 
| 273 | < | args_info->count_help = gengetopt_args_info_help[31] ; | 
| 274 | < | args_info->gofr_help = gengetopt_args_info_help[32] ; | 
| 275 | < | args_info->gofz_help = gengetopt_args_info_help[33] ; | 
| 276 | < | args_info->r_theta_help = gengetopt_args_info_help[34] ; | 
| 277 | < | args_info->r_omega_help = gengetopt_args_info_help[35] ; | 
| 278 | < | args_info->r_z_help = gengetopt_args_info_help[36] ; | 
| 279 | < | args_info->theta_omega_help = gengetopt_args_info_help[37] ; | 
| 280 | < | args_info->gxyz_help = gengetopt_args_info_help[38] ; | 
| 281 | < | args_info->twodgofr_help = gengetopt_args_info_help[39] ; | 
| 282 | < | args_info->p2_help = gengetopt_args_info_help[40] ; | 
| 283 | < | args_info->rp2_help = gengetopt_args_info_help[41] ; | 
| 284 | < | args_info->scd_help = gengetopt_args_info_help[42] ; | 
| 285 | < | args_info->density_help = gengetopt_args_info_help[43] ; | 
| 286 | < | args_info->slab_density_help = gengetopt_args_info_help[44] ; | 
| 287 | < | args_info->p_angle_help = gengetopt_args_info_help[45] ; | 
| 288 | < | args_info->hxy_help = gengetopt_args_info_help[46] ; | 
| 289 | < | args_info->rho_r_help = gengetopt_args_info_help[47] ; | 
| 290 | < | args_info->angle_r_help = gengetopt_args_info_help[48] ; | 
| 291 | < | args_info->hullvol_help = gengetopt_args_info_help[49] ; | 
| 292 | < | args_info->rodlength_help = gengetopt_args_info_help[50] ; | 
| 293 | < | args_info->tet_param_help = gengetopt_args_info_help[51] ; | 
| 294 | < | args_info->tet_param_z_help = gengetopt_args_info_help[52] ; | 
| 295 | < | args_info->rnemdz_help = gengetopt_args_info_help[53] ; | 
| 296 | < | args_info->rnemdr_help = gengetopt_args_info_help[54] ; | 
| 297 | < | args_info->rnemdrt_help = gengetopt_args_info_help[55] ; | 
| 298 | < | args_info->nitrile_help = gengetopt_args_info_help[56] ; | 
| 299 | < | args_info->multipole_help = gengetopt_args_info_help[57] ; | 
| 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 |  |  | 
| 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) | 
| 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->ior_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) | 
| 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 ; | 
| 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 |  | { "ior",        0, NULL, 0 }, | 
| 935 |  | { "for",        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 }, | 
| 965 |  | { 0,  0, 0, 0 } | 
| 966 |  | }; | 
| 967 |  |  | 
| 968 | < | c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:gpsdQm", 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 |  |  | 
| 1085 |  | &(local_args_info.zoffset_given), optarg, 0, "0", ARG_DOUBLE, | 
| 1086 |  | check_ambiguity, override, 0, 0, | 
| 1087 |  | "zoffset", 'z', | 
| 1088 | + | additional_error)) | 
| 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 |  |  | 
| 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 | + |  | 
| 1419 | + | } | 
| 1420 |  | /* bond order parameter (--rcut must be specified).  */ | 
| 1421 |  | else if (strcmp (long_options[option_index].name, "bo") == 0) | 
| 1422 |  | { | 
| 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 |  | { |