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 |
|
{ |