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 1879 by gezelter, Sun Jun 16 15:15:42 2013 UTC vs.
Revision 1998 by gezelter, Fri May 30 19:48:35 2014 UTC

# Line 57 | Line 57 | const char *gengetopt_args_info_help[] = {
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    "\n Group: staticProps\n   an option of this group is required",
66    "      --bo                      bond order parameter (--rcut must be specified)",
67 <  "      --bor                     bond order parameter as a function of radius \n                                  (--rcut must be specified)",
67 >  "      --ior                     icosahedral bond order parameter as a function \n                                  of radius (--rcut must be specified)",
68 >  "      --for                     FCC bond order parameter as a function of \n                                  radius (--rcut must be specified)",
69    "      --bad                     N(theta) bond angle density within (--rcut must \n                                  be specified)",
70    "      --count                   count of molecules matching selection criteria \n                                  (and associated statistics)",
71    "  -g, --gofr                    g(r)",
# Line 79 | Line 81 | const char *gengetopt_args_info_help[] = {
81    "  -s, --scd                     scd order parameter (either --sele1, --sele2, \n                                  --sele3 are specified or --molname, --begin, \n                                  --end are specified)",
82    "  -d, --density                 density plot",
83    "      --slab_density            slab density",
84 <  "      --p_angle                 p(cos(theta))",
84 >  "      --p_angle                 p(cos(theta)) (--sele1 must be specified, \n                                  --sele2 is optional)",
85    "      --hxy                     hxy",
86    "      --rho_r                   rho of R",
87    "      --angle_r                 angle of R",
# Line 89 | Line 91 | const char *gengetopt_args_info_help[] = {
91    "      --tet_param_z             spatially-resolved tetrahedrality order \n                                  parameter Qk(z)",
92    "      --rnemdz                  slab-resolved RNEMD statistics (temperature, \n                                  density, velocity)",
93    "      --rnemdr                  shell-resolved RNEMD statistics (temperature, \n                                  density, angular velocity)",
94 +  "      --rnemdrt                 shell and angle-resolved RNEMD statistics \n                                  (temperature, density, angular velocity)",
95 +  "      --nitrile                 electrostatic potential to frequency map based \n                                  on the Cho nitrile fits",
96 +  "  -m, --multipole               average multipole moment contained within a \n                                  cutoff sphere",
97      0
98   };
99  
# Line 137 | Line 142 | void clear_given (struct gengetopt_args_info *args_inf
142    args_info->refsele_given = 0 ;
143    args_info->comsele_given = 0 ;
144    args_info->seleoffset_given = 0 ;
145 +  args_info->seleoffset2_given = 0 ;
146    args_info->molname_given = 0 ;
147    args_info->begin_given = 0 ;
148    args_info->end_given = 0 ;
149    args_info->radius_given = 0 ;
150    args_info->bo_given = 0 ;
151 <  args_info->bor_given = 0 ;
151 >  args_info->ior_given = 0 ;
152 >  args_info->for_given = 0 ;
153    args_info->bad_given = 0 ;
154    args_info->count_given = 0 ;
155    args_info->gofr_given = 0 ;
# Line 168 | Line 175 | void clear_given (struct gengetopt_args_info *args_inf
175    args_info->tet_param_z_given = 0 ;
176    args_info->rnemdz_given = 0 ;
177    args_info->rnemdr_given = 0 ;
178 +  args_info->rnemdrt_given = 0 ;
179 +  args_info->nitrile_given = 0 ;
180 +  args_info->multipole_given = 0 ;
181    args_info->staticProps_group_counter = 0 ;
182   }
183  
# Line 208 | Line 218 | void clear_args (struct gengetopt_args_info *args_info
218    args_info->comsele_arg = NULL;
219    args_info->comsele_orig = NULL;
220    args_info->seleoffset_orig = NULL;
221 +  args_info->seleoffset2_orig = NULL;
222    args_info->molname_arg = NULL;
223    args_info->molname_orig = NULL;
224    args_info->begin_orig = NULL;
# Line 242 | Line 253 | void init_args_info(struct gengetopt_args_info *args_i
253    args_info->refsele_help = gengetopt_args_info_help[18] ;
254    args_info->comsele_help = gengetopt_args_info_help[19] ;
255    args_info->seleoffset_help = gengetopt_args_info_help[20] ;
256 <  args_info->molname_help = gengetopt_args_info_help[21] ;
257 <  args_info->begin_help = gengetopt_args_info_help[22] ;
258 <  args_info->end_help = gengetopt_args_info_help[23] ;
259 <  args_info->radius_help = gengetopt_args_info_help[24] ;
260 <  args_info->bo_help = gengetopt_args_info_help[26] ;
261 <  args_info->bor_help = gengetopt_args_info_help[27] ;
262 <  args_info->bad_help = gengetopt_args_info_help[28] ;
263 <  args_info->count_help = gengetopt_args_info_help[29] ;
264 <  args_info->gofr_help = gengetopt_args_info_help[30] ;
265 <  args_info->gofz_help = gengetopt_args_info_help[31] ;
266 <  args_info->r_theta_help = gengetopt_args_info_help[32] ;
267 <  args_info->r_omega_help = gengetopt_args_info_help[33] ;
268 <  args_info->r_z_help = gengetopt_args_info_help[34] ;
269 <  args_info->theta_omega_help = gengetopt_args_info_help[35] ;
270 <  args_info->gxyz_help = gengetopt_args_info_help[36] ;
271 <  args_info->twodgofr_help = gengetopt_args_info_help[37] ;
272 <  args_info->p2_help = gengetopt_args_info_help[38] ;
273 <  args_info->rp2_help = gengetopt_args_info_help[39] ;
274 <  args_info->scd_help = gengetopt_args_info_help[40] ;
275 <  args_info->density_help = gengetopt_args_info_help[41] ;
276 <  args_info->slab_density_help = gengetopt_args_info_help[42] ;
277 <  args_info->p_angle_help = gengetopt_args_info_help[43] ;
278 <  args_info->hxy_help = gengetopt_args_info_help[44] ;
279 <  args_info->rho_r_help = gengetopt_args_info_help[45] ;
280 <  args_info->angle_r_help = gengetopt_args_info_help[46] ;
281 <  args_info->hullvol_help = gengetopt_args_info_help[47] ;
282 <  args_info->rodlength_help = gengetopt_args_info_help[48] ;
283 <  args_info->tet_param_help = gengetopt_args_info_help[49] ;
284 <  args_info->tet_param_z_help = gengetopt_args_info_help[50] ;
285 <  args_info->rnemdz_help = gengetopt_args_info_help[51] ;
286 <  args_info->rnemdr_help = gengetopt_args_info_help[52] ;
256 >  args_info->seleoffset2_help = gengetopt_args_info_help[21] ;
257 >  args_info->molname_help = gengetopt_args_info_help[22] ;
258 >  args_info->begin_help = gengetopt_args_info_help[23] ;
259 >  args_info->end_help = gengetopt_args_info_help[24] ;
260 >  args_info->radius_help = gengetopt_args_info_help[25] ;
261 >  args_info->bo_help = gengetopt_args_info_help[27] ;
262 >  args_info->ior_help = gengetopt_args_info_help[28] ;
263 >  args_info->for_help = gengetopt_args_info_help[29] ;
264 >  args_info->bad_help = gengetopt_args_info_help[30] ;
265 >  args_info->count_help = gengetopt_args_info_help[31] ;
266 >  args_info->gofr_help = gengetopt_args_info_help[32] ;
267 >  args_info->gofz_help = gengetopt_args_info_help[33] ;
268 >  args_info->r_theta_help = gengetopt_args_info_help[34] ;
269 >  args_info->r_omega_help = gengetopt_args_info_help[35] ;
270 >  args_info->r_z_help = gengetopt_args_info_help[36] ;
271 >  args_info->theta_omega_help = gengetopt_args_info_help[37] ;
272 >  args_info->gxyz_help = gengetopt_args_info_help[38] ;
273 >  args_info->twodgofr_help = gengetopt_args_info_help[39] ;
274 >  args_info->p2_help = gengetopt_args_info_help[40] ;
275 >  args_info->rp2_help = gengetopt_args_info_help[41] ;
276 >  args_info->scd_help = gengetopt_args_info_help[42] ;
277 >  args_info->density_help = gengetopt_args_info_help[43] ;
278 >  args_info->slab_density_help = gengetopt_args_info_help[44] ;
279 >  args_info->p_angle_help = gengetopt_args_info_help[45] ;
280 >  args_info->hxy_help = gengetopt_args_info_help[46] ;
281 >  args_info->rho_r_help = gengetopt_args_info_help[47] ;
282 >  args_info->angle_r_help = gengetopt_args_info_help[48] ;
283 >  args_info->hullvol_help = gengetopt_args_info_help[49] ;
284 >  args_info->rodlength_help = gengetopt_args_info_help[50] ;
285 >  args_info->tet_param_help = gengetopt_args_info_help[51] ;
286 >  args_info->tet_param_z_help = gengetopt_args_info_help[52] ;
287 >  args_info->rnemdz_help = gengetopt_args_info_help[53] ;
288 >  args_info->rnemdr_help = gengetopt_args_info_help[54] ;
289 >  args_info->rnemdrt_help = gengetopt_args_info_help[55] ;
290 >  args_info->nitrile_help = gengetopt_args_info_help[56] ;
291 >  args_info->multipole_help = gengetopt_args_info_help[57] ;
292    
293   }
294  
# Line 382 | Line 398 | cmdline_parser_release (struct gengetopt_args_info *ar
398    free_string_field (&(args_info->comsele_arg));
399    free_string_field (&(args_info->comsele_orig));
400    free_string_field (&(args_info->seleoffset_orig));
401 +  free_string_field (&(args_info->seleoffset2_orig));
402    free_string_field (&(args_info->molname_arg));
403    free_string_field (&(args_info->molname_orig));
404    free_string_field (&(args_info->begin_orig));
# Line 464 | Line 481 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
481      write_into_file(outfile, "comsele", args_info->comsele_orig, 0);
482    if (args_info->seleoffset_given)
483      write_into_file(outfile, "seleoffset", args_info->seleoffset_orig, 0);
484 +  if (args_info->seleoffset2_given)
485 +    write_into_file(outfile, "seleoffset2", args_info->seleoffset2_orig, 0);
486    if (args_info->molname_given)
487      write_into_file(outfile, "molname", args_info->molname_orig, 0);
488    if (args_info->begin_given)
# Line 474 | Line 493 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
493      write_into_file(outfile, "radius", args_info->radius_orig, 0);
494    if (args_info->bo_given)
495      write_into_file(outfile, "bo", 0, 0 );
496 <  if (args_info->bor_given)
497 <    write_into_file(outfile, "bor", 0, 0 );
496 >  if (args_info->ior_given)
497 >    write_into_file(outfile, "ior", 0, 0 );
498 >  if (args_info->for_given)
499 >    write_into_file(outfile, "for", 0, 0 );
500    if (args_info->bad_given)
501      write_into_file(outfile, "bad", 0, 0 );
502    if (args_info->count_given)
# Line 526 | Line 547 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
547      write_into_file(outfile, "rnemdz", 0, 0 );
548    if (args_info->rnemdr_given)
549      write_into_file(outfile, "rnemdr", 0, 0 );
550 +  if (args_info->rnemdrt_given)
551 +    write_into_file(outfile, "rnemdrt", 0, 0 );
552 +  if (args_info->nitrile_given)
553 +    write_into_file(outfile, "nitrile", 0, 0 );
554 +  if (args_info->multipole_given)
555 +    write_into_file(outfile, "multipole", 0, 0 );
556    
557  
558    i = EXIT_SUCCESS;
# Line 580 | Line 607 | reset_group_staticProps(struct gengetopt_args_info *ar
607      return;
608    
609    args_info->bo_given = 0 ;
610 <  args_info->bor_given = 0 ;
610 >  args_info->ior_given = 0 ;
611 >  args_info->for_given = 0 ;
612    args_info->bad_given = 0 ;
613    args_info->count_given = 0 ;
614    args_info->gofr_given = 0 ;
# Line 606 | Line 634 | reset_group_staticProps(struct gengetopt_args_info *ar
634    args_info->tet_param_z_given = 0 ;
635    args_info->rnemdz_given = 0 ;
636    args_info->rnemdr_given = 0 ;
637 +  args_info->rnemdrt_given = 0 ;
638 +  args_info->nitrile_given = 0 ;
639 +  args_info->multipole_given = 0 ;
640  
641    args_info->staticProps_group_counter = 0;
642   }
# Line 872 | Line 903 | cmdline_parser_internal (
903          { "refsele",    1, NULL, 0 },
904          { "comsele",    1, NULL, 0 },
905          { "seleoffset", 1, NULL, 0 },
906 +        { "seleoffset2",        1, NULL, 0 },
907          { "molname",    1, NULL, 0 },
908          { "begin",      1, NULL, 0 },
909          { "end",        1, NULL, 0 },
910          { "radius",     1, NULL, 0 },
911          { "bo", 0, NULL, 0 },
912 <        { "bor",        0, NULL, 0 },
912 >        { "ior",        0, NULL, 0 },
913 >        { "for",        0, NULL, 0 },
914          { "bad",        0, NULL, 0 },
915          { "count",      0, NULL, 0 },
916          { "gofr",       0, NULL, 'g' },
# Line 903 | Line 936 | cmdline_parser_internal (
936          { "tet_param_z",        0, NULL, 0 },
937          { "rnemdz",     0, NULL, 0 },
938          { "rnemdr",     0, NULL, 0 },
939 +        { "rnemdrt",    0, NULL, 0 },
940 +        { "nitrile",    0, NULL, 0 },
941 +        { "multipole",  0, NULL, 'm' },
942          { 0,  0, 0, 0 }
943        };
944  
945 <      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:gpsdQ", long_options, &option_index);
945 >      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:gpsdQm", long_options, &option_index);
946  
947        if (c == -1) break;       /* Exit from `while (1)' loop.  */
948  
# Line 1101 | Line 1137 | cmdline_parser_internal (
1137                &(local_args_info.tet_param_given), optarg, 0, 0, ARG_NO,
1138                check_ambiguity, override, 0, 0,
1139                "tet_param", 'Q',
1140 +              additional_error))
1141 +            goto failure;
1142 +        
1143 +          break;
1144 +        case 'm':       /* average multipole moment contained within a cutoff sphere.  */
1145 +        
1146 +          if (args_info->staticProps_group_counter && override)
1147 +            reset_group_staticProps (args_info);
1148 +          args_info->staticProps_group_counter += 1;
1149 +        
1150 +          if (update_arg( 0 ,
1151 +               0 , &(args_info->multipole_given),
1152 +              &(local_args_info.multipole_given), optarg, 0, 0, ARG_NO,
1153 +              check_ambiguity, override, 0, 0,
1154 +              "multipole", 'm',
1155                additional_error))
1156              goto failure;
1157          
# Line 1243 | Line 1294 | cmdline_parser_internal (
1294                  &(local_args_info.seleoffset_given), optarg, 0, 0, ARG_INT,
1295                  check_ambiguity, override, 0, 0,
1296                  "seleoffset", '-',
1297 +                additional_error))
1298 +              goto failure;
1299 +          
1300 +          }
1301 +          /* global index offset for a third object (used to define a vector between sites in molecule).  */
1302 +          else if (strcmp (long_options[option_index].name, "seleoffset2") == 0)
1303 +          {
1304 +          
1305 +          
1306 +            if (update_arg( (void *)&(args_info->seleoffset2_arg),
1307 +                 &(args_info->seleoffset2_orig), &(args_info->seleoffset2_given),
1308 +                &(local_args_info.seleoffset2_given), optarg, 0, 0, ARG_INT,
1309 +                check_ambiguity, override, 0, 0,
1310 +                "seleoffset2", '-',
1311                  additional_error))
1312                goto failure;
1313            
# Line 1320 | Line 1385 | cmdline_parser_internal (
1385                goto failure;
1386            
1387            }
1388 <          /* bond order parameter as a function of radius (--rcut must be specified).  */
1389 <          else if (strcmp (long_options[option_index].name, "bor") == 0)
1388 >          /* icosahedral bond order parameter as a function of radius (--rcut must be specified).  */
1389 >          else if (strcmp (long_options[option_index].name, "ior") == 0)
1390            {
1391            
1392              if (args_info->staticProps_group_counter && override)
# Line 1329 | Line 1394 | cmdline_parser_internal (
1394              args_info->staticProps_group_counter += 1;
1395            
1396              if (update_arg( 0 ,
1397 <                 0 , &(args_info->bor_given),
1398 <                &(local_args_info.bor_given), optarg, 0, 0, ARG_NO,
1397 >                 0 , &(args_info->ior_given),
1398 >                &(local_args_info.ior_given), optarg, 0, 0, ARG_NO,
1399                  check_ambiguity, override, 0, 0,
1400 <                "bor", '-',
1400 >                "ior", '-',
1401                  additional_error))
1402                goto failure;
1403            
1404            }
1405 +          /* FCC bond order parameter as a function of radius (--rcut must be specified).  */
1406 +          else if (strcmp (long_options[option_index].name, "for") == 0)
1407 +          {
1408 +          
1409 +            if (args_info->staticProps_group_counter && override)
1410 +              reset_group_staticProps (args_info);
1411 +            args_info->staticProps_group_counter += 1;
1412 +          
1413 +            if (update_arg( 0 ,
1414 +                 0 , &(args_info->for_given),
1415 +                &(local_args_info.for_given), optarg, 0, 0, ARG_NO,
1416 +                check_ambiguity, override, 0, 0,
1417 +                "for", '-',
1418 +                additional_error))
1419 +              goto failure;
1420 +          
1421 +          }
1422            /* N(theta) bond angle density within (--rcut must be specified).  */
1423            else if (strcmp (long_options[option_index].name, "bad") == 0)
1424            {
# Line 1524 | Line 1606 | cmdline_parser_internal (
1606                goto failure;
1607            
1608            }
1609 <          /* p(cos(theta)).  */
1609 >          /* p(cos(theta)) (--sele1 must be specified, --sele2 is optional).  */
1610            else if (strcmp (long_options[option_index].name, "p_angle") == 0)
1611            {
1612            
# Line 1673 | Line 1755 | cmdline_parser_internal (
1755                  &(local_args_info.rnemdr_given), optarg, 0, 0, ARG_NO,
1756                  check_ambiguity, override, 0, 0,
1757                  "rnemdr", '-',
1758 +                additional_error))
1759 +              goto failure;
1760 +          
1761 +          }
1762 +          /* shell and angle-resolved RNEMD statistics (temperature, density, angular velocity).  */
1763 +          else if (strcmp (long_options[option_index].name, "rnemdrt") == 0)
1764 +          {
1765 +          
1766 +            if (args_info->staticProps_group_counter && override)
1767 +              reset_group_staticProps (args_info);
1768 +            args_info->staticProps_group_counter += 1;
1769 +          
1770 +            if (update_arg( 0 ,
1771 +                 0 , &(args_info->rnemdrt_given),
1772 +                &(local_args_info.rnemdrt_given), optarg, 0, 0, ARG_NO,
1773 +                check_ambiguity, override, 0, 0,
1774 +                "rnemdrt", '-',
1775                  additional_error))
1776                goto failure;
1777            
1778            }
1779 +          /* electrostatic potential to frequency map based on the Cho nitrile fits.  */
1780 +          else if (strcmp (long_options[option_index].name, "nitrile") == 0)
1781 +          {
1782            
1783 +            if (args_info->staticProps_group_counter && override)
1784 +              reset_group_staticProps (args_info);
1785 +            args_info->staticProps_group_counter += 1;
1786 +          
1787 +            if (update_arg( 0 ,
1788 +                 0 , &(args_info->nitrile_given),
1789 +                &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO,
1790 +                check_ambiguity, override, 0, 0,
1791 +                "nitrile", '-',
1792 +                additional_error))
1793 +              goto failure;
1794 +          
1795 +          }
1796 +          
1797            break;
1798          case '?':       /* Invalid option.  */
1799            /* `getopt_long' already printed an error message.  */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines