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 1992 by gezelter, Thu Apr 24 17:30:00 2014 UTC vs.
Revision 2015 by gezelter, Wed Aug 13 20:42:43 2014 UTC

# Line 62 | Line 62 | const char *gengetopt_args_info_help[] = {
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)",
# Line 89 | Line 91 | const char *gengetopt_args_info_help[] = {
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)",
98 +  "      --nitrile                 electrostatic potential to frequency map based \n                                  on the Cho nitrile fits",
99 +  "  -m, --multipole               average multipole moments contained within \n                                  cutoff spheres as a function of radius",
100      0
101   };
102  
# Line 145 | Line 150 | void clear_given (struct gengetopt_args_info *args_inf
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 ;
# Line 171 | Line 178 | void clear_given (struct gengetopt_args_info *args_inf
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 ;
185 +  args_info->nitrile_given = 0 ;
186 +  args_info->multipole_given = 0 ;
187    args_info->staticProps_group_counter = 0 ;
188   }
189  
# Line 220 | Line 230 | void clear_args (struct gengetopt_args_info *args_info
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  
# Line 254 | Line 266 | void init_args_info(struct gengetopt_args_info *args_i
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] ;
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  
# Line 398 | Line 415 | cmdline_parser_release (struct gengetopt_args_info *ar
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)
# Line 485 | Line 504 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
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)
# Line 537 | Line 560 | cmdline_parser_dump(FILE *outfile, struct gengetopt_ar
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)
568      write_into_file(outfile, "rnemdr", 0, 0 );
569    if (args_info->rnemdrt_given)
570      write_into_file(outfile, "rnemdrt", 0, 0 );
571 +  if (args_info->nitrile_given)
572 +    write_into_file(outfile, "nitrile", 0, 0 );
573 +  if (args_info->multipole_given)
574 +    write_into_file(outfile, "multipole", 0, 0 );
575    
576  
577    i = EXIT_SUCCESS;
# Line 622 | Line 651 | reset_group_staticProps(struct gengetopt_args_info *ar
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 ;
658 +  args_info->nitrile_given = 0 ;
659 +  args_info->multipole_given = 0 ;
660  
661    args_info->staticProps_group_counter = 0;
662   }
# Line 896 | Line 928 | cmdline_parser_internal (
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 },
# Line 922 | Line 956 | cmdline_parser_internal (
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 },
963 +        { "nitrile",    0, NULL, 0 },
964 +        { "multipole",  0, NULL, 'm' },
965          { 0,  0, 0, 0 }
966        };
967  
968 <      c = getopt_long (argc, argv, "hVi:o:n:b:x:y:a:c:z:gpsdQ", 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  
# Line 1048 | Line 1085 | cmdline_parser_internal (
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          
# Line 1123 | Line 1172 | cmdline_parser_internal (
1172                &(local_args_info.tet_param_given), optarg, 0, 0, ARG_NO,
1173                check_ambiguity, override, 0, 0,
1174                "tet_param", 'Q',
1175 +              additional_error))
1176 +            goto failure;
1177 +        
1178 +          break;
1179 +        case 'm':       /* average multipole moments contained within cutoff spheres as a function of radius.  */
1180 +        
1181 +          if (args_info->staticProps_group_counter && override)
1182 +            reset_group_staticProps (args_info);
1183 +          args_info->staticProps_group_counter += 1;
1184 +        
1185 +          if (update_arg( 0 ,
1186 +               0 , &(args_info->multipole_given),
1187 +              &(local_args_info.multipole_given), optarg, 0, 0, ARG_NO,
1188 +              check_ambiguity, override, 0, 0,
1189 +              "multipole", 'm',
1190                additional_error))
1191              goto failure;
1192          
# Line 1339 | Line 1403 | cmdline_parser_internal (
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            {
# Line 1692 | Line 1770 | cmdline_parser_internal (
1770                  &(local_args_info.tet_param_z_given), optarg, 0, 0, ARG_NO,
1771                  check_ambiguity, override, 0, 0,
1772                  "tet_param_z", '-',
1773 +                additional_error))
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            
# Line 1747 | Line 1842 | cmdline_parser_internal (
1842                goto failure;
1843            
1844            }
1845 +          /* electrostatic potential to frequency map based on the Cho nitrile fits.  */
1846 +          else if (strcmp (long_options[option_index].name, "nitrile") == 0)
1847 +          {
1848            
1849 +            if (args_info->staticProps_group_counter && override)
1850 +              reset_group_staticProps (args_info);
1851 +            args_info->staticProps_group_counter += 1;
1852 +          
1853 +            if (update_arg( 0 ,
1854 +                 0 , &(args_info->nitrile_given),
1855 +                &(local_args_info.nitrile_given), optarg, 0, 0, ARG_NO,
1856 +                check_ambiguity, override, 0, 0,
1857 +                "nitrile", '-',
1858 +                additional_error))
1859 +              goto failure;
1860 +          
1861 +          }
1862 +          
1863            break;
1864          case '?':       /* Invalid option.  */
1865            /* `getopt_long' already printed an error message.  */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines