ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/applications/staticProps/StaticProps.cpp
(Generate patch)

Comparing trunk/src/applications/staticProps/StaticProps.cpp (file contents):
Revision 1879 by gezelter, Sun Jun 16 15:15:42 2013 UTC vs.
Revision 2015 by gezelter, Wed Aug 13 20:42:43 2014 UTC

# Line 77 | Line 77
77   #include "applications/staticProps/AngleR.hpp"
78   #include "applications/staticProps/TetrahedralityParam.hpp"
79   #include "applications/staticProps/TetrahedralityParamZ.hpp"
80 + #include "applications/staticProps/TetrahedralityParamXYZ.hpp"
81   #include "applications/staticProps/RNEMDStats.hpp"
82 + #include "applications/staticProps/NitrileFrequencyMap.hpp"
83 + #include "applications/staticProps/MultipoleSum.hpp"
84  
85   using namespace OpenMD;
86  
# Line 111 | Line 114 | int main(int argc, char* argv[]){
114    }
115    
116    // check the second selection argument, or set it to the environment
117 <  // variable, or failing that, set it to "select all"
117 >  // variable, or failing that, set it to the first selection
118    
119    if (args_info.sele2_given) {
120      sele2 = args_info.sele2_arg;
121    } else {
122 <    char* sele2Env = getenv("SELECTION1");
122 >    char* sele2Env = getenv("SELECTION2");
123      if (sele2Env) {
124        sele2 = sele2Env;            
125      } else {
# Line 242 | Line 245 | int main(int argc, char* argv[]){
245        painCave.isFatal = 1;
246        simError();
247      }
248 <    
248 >  } else if (args_info.multipole_given){
249 >    analyser = new MultipoleSum(info, dumpFileName, sele1,
250 >                                maxLen, args_info.nbins_arg);
251    } else if (args_info.tet_param_given) {
252      if (args_info.rcut_given) {  
253        analyser = new TetrahedralityParam(info, dumpFileName, sele1,
# Line 267 | Line 272 | int main(int argc, char* argv[]){
272        painCave.isFatal = 1;
273        simError();
274      }
275 <  } else if (args_info.bor_given){
275 >  } else if (args_info.tet_param_xyz_given) {
276 >    if (!args_info.rcut_given) {
277 >      sprintf( painCave.errMsg,
278 >               "A cutoff radius (rcut) must be specified when calculating"
279 >               " Tetrahedrality Parameters");
280 >      painCave.severity = OPENMD_ERROR;
281 >      painCave.isFatal = 1;
282 >      simError();
283 >    }
284 >    if (!args_info.voxelSize_given) {
285 >      sprintf( painCave.errMsg,
286 >               "A voxel size must be specified when calculating"
287 >               " volume-resolved Tetrahedrality Parameters");
288 >      painCave.severity = OPENMD_ERROR;
289 >      painCave.isFatal = 1;
290 >      simError();
291 >    }
292 >    if (!args_info.gaussWidth_given) {
293 >      sprintf( painCave.errMsg,
294 >               "A gaussian width must be specified when calculating"
295 >               " volume-resolved Tetrahedrality Parameters");
296 >      painCave.severity = OPENMD_ERROR;
297 >      painCave.isFatal = 1;
298 >      simError();
299 >    }
300 >    analyser = new TetrahedralityParamXYZ(info, dumpFileName, sele1, sele2,
301 >                                          args_info.rcut_arg,
302 >                                          args_info.voxelSize_arg,
303 >                                          args_info.gaussWidth_arg);
304 >  } else if (args_info.ior_given){
305      if (args_info.rcut_given) {
306 <      analyser = new BOPofR(info, dumpFileName, sele1, args_info.rcut_arg,
306 >      analyser = new IcosahedralOfR(info, dumpFileName, sele1,
307 >                                    args_info.rcut_arg,
308 >                                    args_info.nbins_arg, maxLen);
309 >    } else {
310 >      sprintf( painCave.errMsg,
311 >               "A cutoff radius (rcut) must be specified when calculating Bond Order Parameters");
312 >      painCave.severity = OPENMD_ERROR;
313 >      painCave.isFatal = 1;
314 >      simError();
315 >    }
316 >  } else if (args_info.for_given){
317 >    if (args_info.rcut_given) {
318 >      analyser = new FCCOfR(info, dumpFileName, sele1, args_info.rcut_arg,
319                              args_info.nbins_arg, maxLen);
320      } else {
321        sprintf( painCave.errMsg,
# Line 311 | Line 357 | int main(int argc, char* argv[]){
357      analyser = new RNEMDZ(info, dumpFileName, sele1, args_info.nbins_arg);
358    } else if (args_info.rnemdr_given) {
359      analyser = new RNEMDR(info, dumpFileName, sele1, args_info.nbins_arg);
360 +  } else if (args_info.rnemdrt_given) {
361 +    analyser = new RNEMDRTheta(info, dumpFileName, sele1,
362 +                               args_info.nbins_arg, args_info.nanglebins_arg);
363 +  } else if (args_info.nitrile_given) {
364 +    analyser = new NitrileFrequencyMap(info, dumpFileName, sele1,
365 +                                       args_info.nbins_arg);
366    } else if (args_info.p_angle_given) {
367 <    analyser = new pAngle(info, dumpFileName, sele1, args_info.nbins_arg);
367 >    if (args_info.sele1_given) {    
368 >      if (args_info.sele2_given)
369 >        analyser  = new pAngle(info, dumpFileName, sele1, sele2,
370 >                               args_info.nbins_arg);
371 >      else
372 >        if (args_info.seleoffset_given) {
373 >          if (args_info.seleoffset2_given) {
374 >            analyser  = new pAngle(info, dumpFileName, sele1,
375 >                                   args_info.seleoffset_arg,
376 >                                   args_info.seleoffset2_arg,
377 >                                   args_info.nbins_arg);
378 >          } else {
379 >            analyser  = new pAngle(info, dumpFileName, sele1,
380 >                                   args_info.seleoffset_arg,
381 >                                   args_info.nbins_arg);
382 >          }
383 >        } else
384 >          analyser  = new pAngle(info, dumpFileName, sele1,
385 >                                 args_info.nbins_arg);
386 >    } else {
387 >      sprintf( painCave.errMsg,
388 >               "At least one selection script (--sele1) must be specified when "
389 >               "calculating P(angle) distributions");
390 >      painCave.severity = OPENMD_ERROR;
391 >      painCave.isFatal = 1;
392 >      simError();
393 >    }
394   #if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H)
395    }else if (args_info.hxy_given) {
396      analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines