47 |
|
" --nbins_z=INT number of bins in z axis (default=`100')", |
48 |
|
" -a, --nanglebins=INT number of bins for cos(angle) (default=`50')", |
49 |
|
" -c, --rcut=DOUBLE cutoff radius (rcut)", |
50 |
+ |
" --thetacut=DOUBLE cutoff angle (thetacut)", |
51 |
|
" --dz=DOUBLE slab width (dz)", |
52 |
|
" --length=DOUBLE maximum length (Defaults to 1/2 smallest length \n of first frame)", |
53 |
|
" --zlength=DOUBLE maximum length (Defaults to 1/2 smallest length \n of first frame)", |
98 |
|
" --rnemdrt shell and angle-resolved RNEMD statistics \n (temperature, density, angular velocity)", |
99 |
|
" --nitrile electrostatic potential to frequency map based \n on the Cho nitrile fits", |
100 |
|
" -m, --multipole average multipole moments contained within \n cutoff spheres as a function of radius", |
101 |
+ |
" --surfDiffusion X, Y, and R (surface diffusion if Z exposed and \n bulk immobile) diffusion", |
102 |
+ |
" --hbond Hydrogen Bonding statistics using geometric \n criteria (rcut and thetacut must be \n specified)", |
103 |
|
0 |
104 |
|
}; |
105 |
|
|
138 |
|
args_info->nbins_z_given = 0 ; |
139 |
|
args_info->nanglebins_given = 0 ; |
140 |
|
args_info->rcut_given = 0 ; |
141 |
+ |
args_info->thetacut_given = 0 ; |
142 |
|
args_info->dz_given = 0 ; |
143 |
|
args_info->length_given = 0 ; |
144 |
|
args_info->zlength_given = 0 ; |
188 |
|
args_info->rnemdrt_given = 0 ; |
189 |
|
args_info->nitrile_given = 0 ; |
190 |
|
args_info->multipole_given = 0 ; |
191 |
+ |
args_info->surfDiffusion_given = 0 ; |
192 |
+ |
args_info->hbond_given = 0 ; |
193 |
|
args_info->staticProps_group_counter = 0 ; |
194 |
|
} |
195 |
|
|
214 |
|
args_info->nanglebins_arg = 50; |
215 |
|
args_info->nanglebins_orig = NULL; |
216 |
|
args_info->rcut_orig = NULL; |
217 |
+ |
args_info->thetacut_orig = NULL; |
218 |
|
args_info->dz_orig = NULL; |
219 |
|
args_info->length_orig = NULL; |
220 |
|
args_info->zlength_orig = NULL; |
258 |
|
args_info->nbins_z_help = gengetopt_args_info_help[8] ; |
259 |
|
args_info->nanglebins_help = gengetopt_args_info_help[9] ; |
260 |
|
args_info->rcut_help = gengetopt_args_info_help[10] ; |
261 |
< |
args_info->dz_help = gengetopt_args_info_help[11] ; |
262 |
< |
args_info->length_help = gengetopt_args_info_help[12] ; |
263 |
< |
args_info->zlength_help = gengetopt_args_info_help[13] ; |
264 |
< |
args_info->zoffset_help = gengetopt_args_info_help[14] ; |
265 |
< |
args_info->sele1_help = gengetopt_args_info_help[15] ; |
266 |
< |
args_info->sele2_help = gengetopt_args_info_help[16] ; |
267 |
< |
args_info->sele3_help = gengetopt_args_info_help[17] ; |
268 |
< |
args_info->refsele_help = gengetopt_args_info_help[18] ; |
269 |
< |
args_info->comsele_help = gengetopt_args_info_help[19] ; |
270 |
< |
args_info->seleoffset_help = gengetopt_args_info_help[20] ; |
271 |
< |
args_info->seleoffset2_help = gengetopt_args_info_help[21] ; |
272 |
< |
args_info->molname_help = gengetopt_args_info_help[22] ; |
273 |
< |
args_info->begin_help = gengetopt_args_info_help[23] ; |
274 |
< |
args_info->end_help = gengetopt_args_info_help[24] ; |
275 |
< |
args_info->radius_help = gengetopt_args_info_help[25] ; |
276 |
< |
args_info->voxelSize_help = gengetopt_args_info_help[26] ; |
277 |
< |
args_info->gaussWidth_help = gengetopt_args_info_help[27] ; |
278 |
< |
args_info->bo_help = gengetopt_args_info_help[29] ; |
279 |
< |
args_info->ior_help = gengetopt_args_info_help[30] ; |
280 |
< |
args_info->for_help = gengetopt_args_info_help[31] ; |
281 |
< |
args_info->bad_help = gengetopt_args_info_help[32] ; |
282 |
< |
args_info->count_help = gengetopt_args_info_help[33] ; |
283 |
< |
args_info->gofr_help = gengetopt_args_info_help[34] ; |
284 |
< |
args_info->gofz_help = gengetopt_args_info_help[35] ; |
285 |
< |
args_info->r_theta_help = gengetopt_args_info_help[36] ; |
286 |
< |
args_info->r_omega_help = gengetopt_args_info_help[37] ; |
287 |
< |
args_info->r_z_help = gengetopt_args_info_help[38] ; |
288 |
< |
args_info->theta_omega_help = gengetopt_args_info_help[39] ; |
289 |
< |
args_info->gxyz_help = gengetopt_args_info_help[40] ; |
290 |
< |
args_info->twodgofr_help = gengetopt_args_info_help[41] ; |
291 |
< |
args_info->p2_help = gengetopt_args_info_help[42] ; |
292 |
< |
args_info->rp2_help = gengetopt_args_info_help[43] ; |
293 |
< |
args_info->scd_help = gengetopt_args_info_help[44] ; |
294 |
< |
args_info->density_help = gengetopt_args_info_help[45] ; |
295 |
< |
args_info->slab_density_help = gengetopt_args_info_help[46] ; |
296 |
< |
args_info->p_angle_help = gengetopt_args_info_help[47] ; |
297 |
< |
args_info->hxy_help = gengetopt_args_info_help[48] ; |
298 |
< |
args_info->rho_r_help = gengetopt_args_info_help[49] ; |
299 |
< |
args_info->angle_r_help = gengetopt_args_info_help[50] ; |
300 |
< |
args_info->hullvol_help = gengetopt_args_info_help[51] ; |
301 |
< |
args_info->rodlength_help = gengetopt_args_info_help[52] ; |
302 |
< |
args_info->tet_param_help = gengetopt_args_info_help[53] ; |
303 |
< |
args_info->tet_param_z_help = gengetopt_args_info_help[54] ; |
304 |
< |
args_info->tet_param_xyz_help = gengetopt_args_info_help[55] ; |
305 |
< |
args_info->rnemdz_help = gengetopt_args_info_help[56] ; |
306 |
< |
args_info->rnemdr_help = gengetopt_args_info_help[57] ; |
307 |
< |
args_info->rnemdrt_help = gengetopt_args_info_help[58] ; |
308 |
< |
args_info->nitrile_help = gengetopt_args_info_help[59] ; |
309 |
< |
args_info->multipole_help = gengetopt_args_info_help[60] ; |
261 |
> |
args_info->thetacut_help = gengetopt_args_info_help[11] ; |
262 |
> |
args_info->dz_help = gengetopt_args_info_help[12] ; |
263 |
> |
args_info->length_help = gengetopt_args_info_help[13] ; |
264 |
> |
args_info->zlength_help = gengetopt_args_info_help[14] ; |
265 |
> |
args_info->zoffset_help = gengetopt_args_info_help[15] ; |
266 |
> |
args_info->sele1_help = gengetopt_args_info_help[16] ; |
267 |
> |
args_info->sele2_help = gengetopt_args_info_help[17] ; |
268 |
> |
args_info->sele3_help = gengetopt_args_info_help[18] ; |
269 |
> |
args_info->refsele_help = gengetopt_args_info_help[19] ; |
270 |
> |
args_info->comsele_help = gengetopt_args_info_help[20] ; |
271 |
> |
args_info->seleoffset_help = gengetopt_args_info_help[21] ; |
272 |
> |
args_info->seleoffset2_help = gengetopt_args_info_help[22] ; |
273 |
> |
args_info->molname_help = gengetopt_args_info_help[23] ; |
274 |
> |
args_info->begin_help = gengetopt_args_info_help[24] ; |
275 |
> |
args_info->end_help = gengetopt_args_info_help[25] ; |
276 |
> |
args_info->radius_help = gengetopt_args_info_help[26] ; |
277 |
> |
args_info->voxelSize_help = gengetopt_args_info_help[27] ; |
278 |
> |
args_info->gaussWidth_help = gengetopt_args_info_help[28] ; |
279 |
> |
args_info->bo_help = gengetopt_args_info_help[30] ; |
280 |
> |
args_info->ior_help = gengetopt_args_info_help[31] ; |
281 |
> |
args_info->for_help = gengetopt_args_info_help[32] ; |
282 |
> |
args_info->bad_help = gengetopt_args_info_help[33] ; |
283 |
> |
args_info->count_help = gengetopt_args_info_help[34] ; |
284 |
> |
args_info->gofr_help = gengetopt_args_info_help[35] ; |
285 |
> |
args_info->gofz_help = gengetopt_args_info_help[36] ; |
286 |
> |
args_info->r_theta_help = gengetopt_args_info_help[37] ; |
287 |
> |
args_info->r_omega_help = gengetopt_args_info_help[38] ; |
288 |
> |
args_info->r_z_help = gengetopt_args_info_help[39] ; |
289 |
> |
args_info->theta_omega_help = gengetopt_args_info_help[40] ; |
290 |
> |
args_info->gxyz_help = gengetopt_args_info_help[41] ; |
291 |
> |
args_info->twodgofr_help = gengetopt_args_info_help[42] ; |
292 |
> |
args_info->p2_help = gengetopt_args_info_help[43] ; |
293 |
> |
args_info->rp2_help = gengetopt_args_info_help[44] ; |
294 |
> |
args_info->scd_help = gengetopt_args_info_help[45] ; |
295 |
> |
args_info->density_help = gengetopt_args_info_help[46] ; |
296 |
> |
args_info->slab_density_help = gengetopt_args_info_help[47] ; |
297 |
> |
args_info->p_angle_help = gengetopt_args_info_help[48] ; |
298 |
> |
args_info->hxy_help = gengetopt_args_info_help[49] ; |
299 |
> |
args_info->rho_r_help = gengetopt_args_info_help[50] ; |
300 |
> |
args_info->angle_r_help = gengetopt_args_info_help[51] ; |
301 |
> |
args_info->hullvol_help = gengetopt_args_info_help[52] ; |
302 |
> |
args_info->rodlength_help = gengetopt_args_info_help[53] ; |
303 |
> |
args_info->tet_param_help = gengetopt_args_info_help[54] ; |
304 |
> |
args_info->tet_param_z_help = gengetopt_args_info_help[55] ; |
305 |
> |
args_info->tet_param_xyz_help = gengetopt_args_info_help[56] ; |
306 |
> |
args_info->rnemdz_help = gengetopt_args_info_help[57] ; |
307 |
> |
args_info->rnemdr_help = gengetopt_args_info_help[58] ; |
308 |
> |
args_info->rnemdrt_help = gengetopt_args_info_help[59] ; |
309 |
> |
args_info->nitrile_help = gengetopt_args_info_help[60] ; |
310 |
> |
args_info->multipole_help = gengetopt_args_info_help[61] ; |
311 |
> |
args_info->surfDiffusion_help = gengetopt_args_info_help[62] ; |
312 |
> |
args_info->hbond_help = gengetopt_args_info_help[63] ; |
313 |
|
|
314 |
|
} |
315 |
|
|
404 |
|
free_string_field (&(args_info->nbins_z_orig)); |
405 |
|
free_string_field (&(args_info->nanglebins_orig)); |
406 |
|
free_string_field (&(args_info->rcut_orig)); |
407 |
+ |
free_string_field (&(args_info->thetacut_orig)); |
408 |
|
free_string_field (&(args_info->dz_orig)); |
409 |
|
free_string_field (&(args_info->length_orig)); |
410 |
|
free_string_field (&(args_info->zlength_orig)); |
485 |
|
write_into_file(outfile, "nanglebins", args_info->nanglebins_orig, 0); |
486 |
|
if (args_info->rcut_given) |
487 |
|
write_into_file(outfile, "rcut", args_info->rcut_orig, 0); |
488 |
+ |
if (args_info->thetacut_given) |
489 |
+ |
write_into_file(outfile, "thetacut", args_info->thetacut_orig, 0); |
490 |
|
if (args_info->dz_given) |
491 |
|
write_into_file(outfile, "dz", args_info->dz_orig, 0); |
492 |
|
if (args_info->length_given) |
585 |
|
write_into_file(outfile, "nitrile", 0, 0 ); |
586 |
|
if (args_info->multipole_given) |
587 |
|
write_into_file(outfile, "multipole", 0, 0 ); |
588 |
+ |
if (args_info->surfDiffusion_given) |
589 |
+ |
write_into_file(outfile, "surfDiffusion", 0, 0 ); |
590 |
+ |
if (args_info->hbond_given) |
591 |
+ |
write_into_file(outfile, "hbond", 0, 0 ); |
592 |
|
|
593 |
|
|
594 |
|
i = EXIT_SUCCESS; |
674 |
|
args_info->rnemdrt_given = 0 ; |
675 |
|
args_info->nitrile_given = 0 ; |
676 |
|
args_info->multipole_given = 0 ; |
677 |
+ |
args_info->surfDiffusion_given = 0 ; |
678 |
+ |
args_info->hbond_given = 0 ; |
679 |
|
|
680 |
|
args_info->staticProps_group_counter = 0; |
681 |
|
} |
932 |
|
{ "nbins_z", 1, NULL, 0 }, |
933 |
|
{ "nanglebins", 1, NULL, 'a' }, |
934 |
|
{ "rcut", 1, NULL, 'c' }, |
935 |
+ |
{ "thetacut", 1, NULL, 0 }, |
936 |
|
{ "dz", 1, NULL, 0 }, |
937 |
|
{ "length", 1, NULL, 0 }, |
938 |
|
{ "zlength", 1, NULL, 0 }, |
982 |
|
{ "rnemdrt", 0, NULL, 0 }, |
983 |
|
{ "nitrile", 0, NULL, 0 }, |
984 |
|
{ "multipole", 0, NULL, 'm' }, |
985 |
+ |
{ "surfDiffusion", 0, NULL, 0 }, |
986 |
+ |
{ "hbond", 0, NULL, 0 }, |
987 |
|
{ 0, 0, 0, 0 } |
988 |
|
}; |
989 |
|
|
1229 |
|
goto failure; |
1230 |
|
|
1231 |
|
} |
1232 |
+ |
/* cutoff angle (thetacut). */ |
1233 |
+ |
else if (strcmp (long_options[option_index].name, "thetacut") == 0) |
1234 |
+ |
{ |
1235 |
+ |
|
1236 |
+ |
|
1237 |
+ |
if (update_arg( (void *)&(args_info->thetacut_arg), |
1238 |
+ |
&(args_info->thetacut_orig), &(args_info->thetacut_given), |
1239 |
+ |
&(local_args_info.thetacut_given), optarg, 0, 0, ARG_DOUBLE, |
1240 |
+ |
check_ambiguity, override, 0, 0, |
1241 |
+ |
"thetacut", '-', |
1242 |
+ |
additional_error)) |
1243 |
+ |
goto failure; |
1244 |
+ |
|
1245 |
+ |
} |
1246 |
|
/* slab width (dz). */ |
1247 |
|
else if (strcmp (long_options[option_index].name, "dz") == 0) |
1248 |
|
{ |
1895 |
|
goto failure; |
1896 |
|
|
1897 |
|
} |
1898 |
+ |
/* X, Y, and R (surface diffusion if Z exposed and bulk immobile) diffusion. */ |
1899 |
+ |
else if (strcmp (long_options[option_index].name, "surfDiffusion") == 0) |
1900 |
+ |
{ |
1901 |
+ |
|
1902 |
+ |
if (args_info->staticProps_group_counter && override) |
1903 |
+ |
reset_group_staticProps (args_info); |
1904 |
+ |
args_info->staticProps_group_counter += 1; |
1905 |
|
|
1906 |
+ |
if (update_arg( 0 , |
1907 |
+ |
0 , &(args_info->surfDiffusion_given), |
1908 |
+ |
&(local_args_info.surfDiffusion_given), optarg, 0, 0, ARG_NO, |
1909 |
+ |
check_ambiguity, override, 0, 0, |
1910 |
+ |
"surfDiffusion", '-', |
1911 |
+ |
additional_error)) |
1912 |
+ |
goto failure; |
1913 |
+ |
|
1914 |
+ |
} |
1915 |
+ |
/* Hydrogen Bonding statistics using geometric criteria (rcut and thetacut must be specified). */ |
1916 |
+ |
else if (strcmp (long_options[option_index].name, "hbond") == 0) |
1917 |
+ |
{ |
1918 |
+ |
|
1919 |
+ |
if (args_info->staticProps_group_counter && override) |
1920 |
+ |
reset_group_staticProps (args_info); |
1921 |
+ |
args_info->staticProps_group_counter += 1; |
1922 |
+ |
|
1923 |
+ |
if (update_arg( 0 , |
1924 |
+ |
0 , &(args_info->hbond_given), |
1925 |
+ |
&(local_args_info.hbond_given), optarg, 0, 0, ARG_NO, |
1926 |
+ |
check_ambiguity, override, 0, 0, |
1927 |
+ |
"hbond", '-', |
1928 |
+ |
additional_error)) |
1929 |
+ |
goto failure; |
1930 |
+ |
|
1931 |
+ |
} |
1932 |
+ |
|
1933 |
|
break; |
1934 |
|
case '?': /* Invalid option. */ |
1935 |
|
/* `getopt_long' already printed an error message. */ |