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)", |
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", |
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 moments contained within \n cutoff spheres as a function of radius", |
97 |
|
0 |
98 |
|
}; |
99 |
|
|
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 ; |
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 |
|
|
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; |
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 |
|
|
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)); |
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) |
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) |
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; |
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 ; |
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 |
|
} |
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' }, |
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 |
|
|
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 moments contained within cutoff spheres as a function of radius. */ |
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 |
|
|
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 |
|
|
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) |
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 |
|
{ |
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 |
|
|
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. */ |