| 44 |  | args_info->output_given = 0 ; | 
| 45 |  | args_info->step_given = 0 ; | 
| 46 |  | args_info->nrbins_given = 0 ; | 
| 47 | + | args_info->nbins_x_given = 0 ; | 
| 48 | + | args_info->nbins_y_given = 0 ; | 
| 49 |  | args_info->nanglebins_given = 0 ; | 
| 50 |  | args_info->length_given = 0 ; | 
| 51 |  | args_info->zoffset_given = 0 ; | 
| 62 |  | args_info->theta_omega_given = 0 ; | 
| 63 |  | args_info->gxyz_given = 0 ; | 
| 64 |  | args_info->p2_given = 0 ; | 
| 65 | + | args_info->rp2_given = 0 ; | 
| 66 |  | args_info->scd_given = 0 ; | 
| 67 |  | args_info->density_given = 0 ; | 
| 68 |  | args_info->slab_density_given = 0 ; | 
| 69 | + | args_info->hxy_given = 0 ; | 
| 70 |  | args_info->staticProps_group_counter = 0 ; | 
| 71 |  | } | 
| 72 |  |  | 
| 81 |  | args_info->step_orig = NULL; | 
| 82 |  | args_info->nrbins_arg = 100; | 
| 83 |  | args_info->nrbins_orig = NULL; | 
| 84 | + | args_info->nbins_x_arg = 100; | 
| 85 | + | args_info->nbins_x_orig = NULL; | 
| 86 | + | args_info->nbins_y_arg = 100; | 
| 87 | + | args_info->nbins_y_orig = NULL; | 
| 88 |  | args_info->nanglebins_arg = 50; | 
| 89 |  | args_info->nanglebins_orig = NULL; | 
| 90 |  | args_info->length_orig = NULL; | 
| 122 |  | printf("%s\n","  -o, --output=filename         output file name"); | 
| 123 |  | printf("%s\n","  -n, --step=INT                process every n frame  (default=`1')"); | 
| 124 |  | printf("%s\n","  -r, --nrbins=INT              number of bins for distance  (default=`100')"); | 
| 125 | + | printf("%s\n","  -x, --nbins_x=INT             number of bins in x axis  (default=`100')"); | 
| 126 | + | printf("%s\n","  -y, --nbins_y=INT             number of bins in y axis  (default=`100')"); | 
| 127 |  | printf("%s\n","  -a, --nanglebins=INT          number of bins for cos(angle)  (default=`50')"); | 
| 128 |  | printf("%s\n","  -l, --length=DOUBLE           maximum length (Defaults to 1/2 smallest length \n                                  of first frame)"); | 
| 129 |  | printf("%s\n","  -z, --zoffset=DOUBLE          Where to set the zero for the slab_density \n                                  calculation  (default=`0')"); | 
| 141 |  | printf("%s\n","      --theta_omega             g(cos(theta), cos(omega))"); | 
| 142 |  | printf("%s\n","      --gxyz                    g(x, y, z)"); | 
| 143 |  | printf("%s\n","      --p2                      p2 order parameter (--sele1 and --sele2 must be \n                                  specified)"); | 
| 144 | + | printf("%s\n","      --rp2                     rp2 order parameter (--sele1 and --sele2 must \n                                  be specified)"); | 
| 145 |  | printf("%s\n","      --scd                     scd order parameter(either --sele1, --sele2, \n                                  --sele3 are specified or --molname, --begin, \n                                  --end are specified)"); | 
| 146 |  | printf("%s\n","      --density                 density plot (--sele1 must be specified)"); | 
| 147 |  | printf("%s\n","      --slab_density            slab density (--sele1 must be specified)"); | 
| 148 | + | printf("%s\n","      --hxy                     hxy (--sele1 must be specified)"); | 
| 149 |  |  | 
| 150 |  | } | 
| 151 |  |  | 
| 190 |  | free (args_info->nrbins_orig); /* free previous argument */ | 
| 191 |  | args_info->nrbins_orig = 0; | 
| 192 |  | } | 
| 193 | + | if (args_info->nbins_x_orig) | 
| 194 | + | { | 
| 195 | + | free (args_info->nbins_x_orig); /* free previous argument */ | 
| 196 | + | args_info->nbins_x_orig = 0; | 
| 197 | + | } | 
| 198 | + | if (args_info->nbins_y_orig) | 
| 199 | + | { | 
| 200 | + | free (args_info->nbins_y_orig); /* free previous argument */ | 
| 201 | + | args_info->nbins_y_orig = 0; | 
| 202 | + | } | 
| 203 |  | if (args_info->nanglebins_orig) | 
| 204 |  | { | 
| 205 |  | free (args_info->nanglebins_orig); /* free previous argument */ | 
| 325 |  | fprintf(outfile, "%s=\"%s\"\n", "nrbins", args_info->nrbins_orig); | 
| 326 |  | } else { | 
| 327 |  | fprintf(outfile, "%s\n", "nrbins"); | 
| 328 | + | } | 
| 329 | + | } | 
| 330 | + | if (args_info->nbins_x_given) { | 
| 331 | + | if (args_info->nbins_x_orig) { | 
| 332 | + | fprintf(outfile, "%s=\"%s\"\n", "nbins_x", args_info->nbins_x_orig); | 
| 333 | + | } else { | 
| 334 | + | fprintf(outfile, "%s\n", "nbins_x"); | 
| 335 | + | } | 
| 336 | + | } | 
| 337 | + | if (args_info->nbins_y_given) { | 
| 338 | + | if (args_info->nbins_y_orig) { | 
| 339 | + | fprintf(outfile, "%s=\"%s\"\n", "nbins_y", args_info->nbins_y_orig); | 
| 340 | + | } else { | 
| 341 | + | fprintf(outfile, "%s\n", "nbins_y"); | 
| 342 |  | } | 
| 343 |  | } | 
| 344 |  | if (args_info->nanglebins_given) { | 
| 429 |  | if (args_info->p2_given) { | 
| 430 |  | fprintf(outfile, "%s\n", "p2"); | 
| 431 |  | } | 
| 432 | + | if (args_info->rp2_given) { | 
| 433 | + | fprintf(outfile, "%s\n", "rp2"); | 
| 434 | + | } | 
| 435 |  | if (args_info->scd_given) { | 
| 436 |  | fprintf(outfile, "%s\n", "scd"); | 
| 437 |  | } | 
| 441 |  | if (args_info->slab_density_given) { | 
| 442 |  | fprintf(outfile, "%s\n", "slab_density"); | 
| 443 |  | } | 
| 444 | + | if (args_info->hxy_given) { | 
| 445 | + | fprintf(outfile, "%s\n", "hxy"); | 
| 446 | + | } | 
| 447 |  |  | 
| 448 |  | fclose (outfile); | 
| 449 |  |  | 
| 489 |  | args_info->theta_omega_given = 0 ; | 
| 490 |  | args_info->gxyz_given = 0 ; | 
| 491 |  | args_info->p2_given = 0 ; | 
| 492 | + | args_info->rp2_given = 0 ; | 
| 493 |  | args_info->scd_given = 0 ; | 
| 494 |  | args_info->density_given = 0 ; | 
| 495 |  | args_info->slab_density_given = 0 ; | 
| 496 | + | args_info->hxy_given = 0 ; | 
| 497 |  |  | 
| 498 |  | args_info->staticProps_group_counter = 0; | 
| 499 |  | } | 
| 587 |  | { "output",     1, NULL, 'o' }, | 
| 588 |  | { "step",       1, NULL, 'n' }, | 
| 589 |  | { "nrbins",     1, NULL, 'r' }, | 
| 590 | + | { "nbins_x",    1, NULL, 'x' }, | 
| 591 | + | { "nbins_y",    1, NULL, 'y' }, | 
| 592 |  | { "nanglebins", 1, NULL, 'a' }, | 
| 593 |  | { "length",     1, NULL, 'l' }, | 
| 594 |  | { "zoffset",    1, NULL, 'z' }, | 
| 605 |  | { "theta_omega",        0, NULL, 0 }, | 
| 606 |  | { "gxyz",       0, NULL, 0 }, | 
| 607 |  | { "p2", 0, NULL, 0 }, | 
| 608 | + | { "rp2",        0, NULL, 0 }, | 
| 609 |  | { "scd",        0, NULL, 0 }, | 
| 610 |  | { "density",    0, NULL, 0 }, | 
| 611 |  | { "slab_density",       0, NULL, 0 }, | 
| 612 | + | { "hxy",        0, NULL, 0 }, | 
| 613 |  | { NULL, 0, NULL, 0 } | 
| 614 |  | }; | 
| 615 |  |  | 
| 616 |  | stop_char = 0; | 
| 617 | < | c = getopt_long (argc, argv, "hVi:o:n:r:a:l:z:", long_options, &option_index); | 
| 617 | > | c = getopt_long (argc, argv, "hVi:o:n:r:x:y:a:l:z:", long_options, &option_index); | 
| 618 |  |  | 
| 619 |  | if (c == -1) break;       /* Exit from `while (1)' loop.  */ | 
| 620 |  |  | 
| 704 |  | if (args_info->nrbins_orig) | 
| 705 |  | free (args_info->nrbins_orig); /* free previous string */ | 
| 706 |  | args_info->nrbins_orig = gengetopt_strdup (optarg); | 
| 707 | + | break; | 
| 708 | + |  | 
| 709 | + | case 'x':       /* number of bins in x axis.  */ | 
| 710 | + | if (local_args_info.nbins_x_given) | 
| 711 | + | { | 
| 712 | + | fprintf (stderr, "%s: `--nbins_x' (`-x') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); | 
| 713 | + | goto failure; | 
| 714 | + | } | 
| 715 | + | if (args_info->nbins_x_given && ! override) | 
| 716 | + | continue; | 
| 717 | + | local_args_info.nbins_x_given = 1; | 
| 718 | + | args_info->nbins_x_given = 1; | 
| 719 | + | args_info->nbins_x_arg = strtol (optarg, &stop_char, 0); | 
| 720 | + | if (!(stop_char && *stop_char == '\0')) { | 
| 721 | + | fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg); | 
| 722 | + | goto failure; | 
| 723 | + | } | 
| 724 | + | if (args_info->nbins_x_orig) | 
| 725 | + | free (args_info->nbins_x_orig); /* free previous string */ | 
| 726 | + | args_info->nbins_x_orig = gengetopt_strdup (optarg); | 
| 727 | + | break; | 
| 728 | + |  | 
| 729 | + | case 'y':       /* number of bins in y axis.  */ | 
| 730 | + | if (local_args_info.nbins_y_given) | 
| 731 | + | { | 
| 732 | + | fprintf (stderr, "%s: `--nbins_y' (`-y') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); | 
| 733 | + | goto failure; | 
| 734 | + | } | 
| 735 | + | if (args_info->nbins_y_given && ! override) | 
| 736 | + | continue; | 
| 737 | + | local_args_info.nbins_y_given = 1; | 
| 738 | + | args_info->nbins_y_given = 1; | 
| 739 | + | args_info->nbins_y_arg = strtol (optarg, &stop_char, 0); | 
| 740 | + | if (!(stop_char && *stop_char == '\0')) { | 
| 741 | + | fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg); | 
| 742 | + | goto failure; | 
| 743 | + | } | 
| 744 | + | if (args_info->nbins_y_orig) | 
| 745 | + | free (args_info->nbins_y_orig); /* free previous string */ | 
| 746 | + | args_info->nbins_y_orig = gengetopt_strdup (optarg); | 
| 747 |  | break; | 
| 748 |  |  | 
| 749 |  | case 'a':       /* number of bins for cos(angle).  */ | 
| 1047 |  | args_info->staticProps_group_counter += 1; | 
| 1048 |  | break; | 
| 1049 |  | } | 
| 1050 | + | /* rp2 order parameter (--sele1 and --sele2 must be specified).  */ | 
| 1051 | + | else if (strcmp (long_options[option_index].name, "rp2") == 0) | 
| 1052 | + | { | 
| 1053 | + | if (local_args_info.rp2_given) | 
| 1054 | + | { | 
| 1055 | + | fprintf (stderr, "%s: `--rp2' option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); | 
| 1056 | + | goto failure; | 
| 1057 | + | } | 
| 1058 | + | if (args_info->rp2_given && ! override) | 
| 1059 | + | continue; | 
| 1060 | + | local_args_info.rp2_given = 1; | 
| 1061 | + | args_info->rp2_given = 1; | 
| 1062 | + | if (args_info->staticProps_group_counter && override) | 
| 1063 | + | reset_group_staticProps (args_info); | 
| 1064 | + | args_info->staticProps_group_counter += 1; | 
| 1065 | + | break; | 
| 1066 | + | } | 
| 1067 |  | /* scd order parameter(either --sele1, --sele2, --sele3 are specified or --molname, --begin, --end are specified).  */ | 
| 1068 |  | else if (strcmp (long_options[option_index].name, "scd") == 0) | 
| 1069 |  | { | 
| 1115 |  | args_info->staticProps_group_counter += 1; | 
| 1116 |  | break; | 
| 1117 |  | } | 
| 1118 | + | /* hxy (--sele1 must be specified).  */ | 
| 1119 | + | else if (strcmp (long_options[option_index].name, "hxy") == 0) | 
| 1120 | + | { | 
| 1121 | + | if (local_args_info.hxy_given) | 
| 1122 | + | { | 
| 1123 | + | fprintf (stderr, "%s: `--hxy' option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); | 
| 1124 | + | goto failure; | 
| 1125 | + | } | 
| 1126 | + | if (args_info->hxy_given && ! override) | 
| 1127 | + | continue; | 
| 1128 | + | local_args_info.hxy_given = 1; | 
| 1129 | + | args_info->hxy_given = 1; | 
| 1130 | + | if (args_info->staticProps_group_counter && override) | 
| 1131 | + | reset_group_staticProps (args_info); | 
| 1132 | + | args_info->staticProps_group_counter += 1; | 
| 1133 | + | break; | 
| 1134 | + | } | 
| 1135 |  |  | 
| 1136 |  | break; | 
| 1137 |  | case '?':       /* Invalid option.  */ |