--- trunk/src/applications/staticProps/StaticProps.cpp 2014/10/02 14:35:14 2023 +++ trunk/src/applications/staticProps/StaticProps.cpp 2015/03/07 21:41:51 2071 @@ -81,6 +81,8 @@ #include "applications/staticProps/RNEMDStats.hpp" #include "applications/staticProps/NitrileFrequencyMap.hpp" #include "applications/staticProps/MultipoleSum.hpp" +#include "applications/staticProps/SurfaceDiffusion.hpp" +#include "applications/staticProps/HBondGeometric.hpp" using namespace OpenMD; @@ -135,7 +137,7 @@ int main(int argc, char* argv[]){ if (args_info.sele3_given) sele3 = args_info.sele3_arg; - bool batchMode; + bool batchMode(false); if (args_info.scd_given){ if (args_info.sele1_given && args_info.sele2_given && args_info.sele3_given) { @@ -167,7 +169,7 @@ int main(int argc, char* argv[]){ SimInfo* info = creator.createSim(dumpFileName); RealType maxLen; - RealType zmaxLen; + RealType zmaxLen(0.0); if (args_info.length_given) { maxLen = args_info.length_arg; if (args_info.zlength_given){ @@ -414,6 +416,8 @@ int main(int argc, char* argv[]){ analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg, args_info.nbins_y_arg, args_info.nbins_arg); #endif + }else if (args_info.surfDiffusion_given){ + analyser = new SurfaceDiffusion(info, dumpFileName, sele1, maxLen); }else if (args_info.rho_r_given) { if (args_info.radius_given){ analyser = new RhoR(info, dumpFileName, sele1, maxLen,args_info.nbins_arg,args_info.radius_arg); @@ -430,6 +434,28 @@ int main(int argc, char* argv[]){ analyser = new NanoLength(info, dumpFileName, sele1); } else if (args_info.angle_r_given) { analyser = new AngleR(info, dumpFileName, sele1, maxLen,args_info.nbins_arg); + } else if (args_info.hbond_given){ + if (args_info.rcut_given) { + if (args_info.thetacut_given) { + + analyser = new HBondGeometric(info, dumpFileName, sele1, sele2, + args_info.rcut_arg, + args_info.thetacut_arg, + args_info.nbins_arg); + } else { + sprintf( painCave.errMsg, + "A cutoff angle (thetacut) must be specified when calculating Hydrogen Bonding Statistics"); + painCave.severity = OPENMD_ERROR; + painCave.isFatal = 1; + simError(); + } + } else { + sprintf( painCave.errMsg, + "A cutoff radius (rcut) must be specified when calculating Hydrogen Bonding Statistics"); + painCave.severity = OPENMD_ERROR; + painCave.isFatal = 1; + simError(); + } } if (args_info.output_given) {