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 1051 by gezelter, Mon Sep 25 22:08:33 2006 UTC vs.
Revision 1267 by gpuliti, Mon Jun 30 17:53:42 2008 UTC

# Line 52 | Line 52
52   #include "applications/staticProps/StaticPropsCmd.h"
53   #include "applications/staticProps/StaticAnalyser.hpp"
54   #include "applications/staticProps/GofR.hpp"
55 + #include "applications/staticProps/GofZ.hpp"
56   #include "applications/staticProps/GofRAngle.hpp"
57   #include "applications/staticProps/GofAngle2.hpp"
58   #include "applications/staticProps/GofXyz.hpp"
59   #include "applications/staticProps/P2OrderParameter.hpp"
60   #include "applications/staticProps/BondOrderParameter.hpp"
61 + #include "applications/staticProps/BOPofR.hpp"
62   #include "applications/staticProps/RippleOP.hpp"
63   #include "applications/staticProps/SCDOrderParameter.hpp"
64   #include "applications/staticProps/DensityPlot.hpp"
65   #include "applications/staticProps/RhoZ.hpp"
66 + #include "applications/staticProps/BondAngleDistribution.hpp"
67 + #include "applications/staticProps/NanoVolume.hpp"
68   #if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H)
69   #include "applications/staticProps/Hxy.hpp"
70   #endif
71 + #include "applications/staticProps/RhoR.hpp"
72  
73   using namespace oopse;
74  
# Line 178 | Line 183 | int main(int argc, char* argv[]){
183    if (args_info.gofr_given){
184      analyser= new GofR(info, dumpFileName, sele1, sele2, maxLen,
185                         args_info.nbins_arg);        
186 +  } else if (args_info.gofz_given) {
187 +    analyser= new GofZ(info, dumpFileName, sele1, sele2, maxLen,
188 +                       args_info.nbins_arg);
189    } else if (args_info.r_theta_given) {
190      analyser  = new GofRTheta(info, dumpFileName, sele1, sele2, maxLen,
191                                args_info.nbins_arg, args_info.nanglebins_arg);
# Line 203 | Line 211 | int main(int argc, char* argv[]){
211    } else if (args_info.rp2_given){
212      analyser = new RippleOP(info, dumpFileName, sele1, sele2);
213    } else if (args_info.bo_given){
214 <    if (args_info.rcut_given && args_info.LegendreL_given) {
214 >    if (args_info.rcut_given) {
215        analyser = new BondOrderParameter(info, dumpFileName, sele1,
216                                          args_info.rcut_arg,
209                                        args_info.LegendreL_arg,
217                                          args_info.nbins_arg);
218      } else {
219        sprintf( painCave.errMsg,
220 <               "Both the cutoff radius (rcut) and LegendreL must be specified when calculating Bond Order Parameters");
220 >               "A cutoff radius (rcut) must be specified when calculating Bond Order Parameters");
221 >      painCave.severity = OOPSE_ERROR;
222 >      painCave.isFatal = 1;
223 >      simError();
224 >    }
225 >  } else if (args_info.bor_given){
226 >    if (args_info.rcut_given) {
227 >      analyser = new BOPofR(info, dumpFileName, sele1, args_info.rcut_arg,
228 >                            args_info.nbins_arg, maxLen);
229 >    } else {
230 >      sprintf( painCave.errMsg,
231 >               "A cutoff radius (rcut) must be specified when calculating Bond Order Parameters");
232 >      painCave.severity = OOPSE_ERROR;
233 >      painCave.isFatal = 1;
234 >      simError();
235 >    }
236 >  } else if (args_info.bad_given){
237 >    if (args_info.rcut_given) {
238 >      analyser = new BondAngleDistribution(info, dumpFileName, sele1, args_info.rcut_arg,
239 >                            args_info.nbins_arg);
240 >    } else {
241 >      sprintf( painCave.errMsg,
242 >               "A cutoff radius (rcut) must be specified when calculating Bond Angle Distributions");
243        painCave.severity = OOPSE_ERROR;
244        painCave.isFatal = 1;
245        simError();
# Line 224 | Line 253 | int main(int argc, char* argv[]){
253        analyser  = new SCDOrderParameter(info, dumpFileName, sele1, sele2, sele3);
254      }
255    }else if (args_info.density_given) {
256 <    analyser= new DensityPlot(info, dumpFileName, sele1, sele2, maxLen,
256 >    analyser= new DensityPlot(info, dumpFileName, sele1, sele2, maxLen,
257                                args_info.nbins_arg);  
258    } else if (args_info.slab_density_given) {
259 <    Mat3x3d hmat = info->getSnapshotManager()->getCurrentSnapshot()->getHmat();
231 <    analyser = new RhoZ(info, dumpFileName, sele1, hmat(2, 2), args_info.nbins_arg);
259 >    analyser = new RhoZ(info, dumpFileName, sele1, args_info.nbins_arg);
260   #if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H)
261    }else if (args_info.hxy_given) {
262      analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg,
263                         args_info.nbins_y_arg, args_info.nbins_arg);
264   #endif
265 +  }else if (args_info.rho_r_given) {
266 +    if (args_info.radius_given){
267 +      analyser = new RhoR(info, dumpFileName, sele1, maxLen,args_info.nbins_arg,args_info.radius_arg);
268 +    }else{
269 +      sprintf( painCave.errMsg,
270 +               "A particle radius (radius) must be specified when calculating Rho(r)");
271 +      painCave.severity = OOPSE_ERROR;
272 +      painCave.isFatal = 1;
273 +      simError();
274 +    }
275 +        }else if (args_info.hullvol_given) {
276 +    analyser = new NanoVolume(info, dumpFileName, sele1);
277    }
278    
279    if (args_info.output_given) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines