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 1039 by gezelter, Tue Sep 19 21:14:11 2006 UTC vs.
Revision 1180 by chuckv, Mon Sep 17 20:05:51 2007 UTC

# Line 57 | Line 57
57   #include "applications/staticProps/GofXyz.hpp"
58   #include "applications/staticProps/P2OrderParameter.hpp"
59   #include "applications/staticProps/BondOrderParameter.hpp"
60 + #include "applications/staticProps/BOPofR.hpp"
61   #include "applications/staticProps/RippleOP.hpp"
62   #include "applications/staticProps/SCDOrderParameter.hpp"
63   #include "applications/staticProps/DensityPlot.hpp"
64   #include "applications/staticProps/RhoZ.hpp"
65 + #include "applications/staticProps/BondAngleDistribution.hpp"
66 + #include "applications/staticProps/NanoVolume.hpp"
67   #if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H)
68   #include "applications/staticProps/Hxy.hpp"
69   #endif
70 + #include "applications/staticProps/RhoR.hpp"
71  
72   using namespace oopse;
73  
# Line 163 | Line 167 | int main(int argc, char* argv[]){
167  
168    //parse md file and set up the system
169    SimCreator creator;
170 +  std::cout << "dumpFile = " << dumpFileName << "\n";
171    SimInfo* info = creator.createSim(dumpFileName);
172  
173    RealType maxLen;
# Line 175 | Line 180 | int main(int argc, char* argv[]){
180  
181    StaticAnalyser* analyser;
182    if (args_info.gofr_given){
183 <    analyser= new GofR(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg);        
183 >    analyser= new GofR(info, dumpFileName, sele1, sele2, maxLen,
184 >                       args_info.nbins_arg);        
185    } else if (args_info.r_theta_given) {
186 <    analyser  = new GofRTheta(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg, args_info.nanglebins_arg);
186 >    analyser  = new GofRTheta(info, dumpFileName, sele1, sele2, maxLen,
187 >                              args_info.nbins_arg, args_info.nanglebins_arg);
188    } else if (args_info.r_omega_given) {
189 <    analyser  = new GofROmega(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg, args_info.nanglebins_arg);
189 >    analyser  = new GofROmega(info, dumpFileName, sele1, sele2, maxLen,
190 >                              args_info.nbins_arg, args_info.nanglebins_arg);
191    } else if (args_info.theta_omega_given) {
192 <    analyser  = new GofAngle2(info, dumpFileName, sele1, sele2, args_info.nanglebins_arg);
192 >    analyser  = new GofAngle2(info, dumpFileName, sele1, sele2,
193 >                              args_info.nanglebins_arg);
194    } else if (args_info.gxyz_given) {
195      if (args_info.refsele_given) {
196 <      analyser= new GofXyz(info, dumpFileName, sele1, sele2,args_info.refsele_arg, maxLen, args_info.nrbins_arg);        
196 >      analyser= new GofXyz(info, dumpFileName, sele1, sele2,args_info.refsele_arg,
197 >                           maxLen, args_info.nbins_arg);        
198      } else {
199        sprintf( painCave.errMsg,
200                 "--refsele must set when --gxyz is used");
# Line 197 | Line 207 | int main(int argc, char* argv[]){
207    } else if (args_info.rp2_given){
208      analyser = new RippleOP(info, dumpFileName, sele1, sele2);
209    } else if (args_info.bo_given){
210 <    if (args_info.rcut_given && args_info.LegendreL_given) {
210 >    if (args_info.rcut_given) {
211        analyser = new BondOrderParameter(info, dumpFileName, sele1,
212                                          args_info.rcut_arg,
213 <                                        args_info.LegendreL_arg);
213 >                                        args_info.nbins_arg);
214      } else {
215        sprintf( painCave.errMsg,
216 <               "Both the cutoff radius (rcut) and LegendreL must be specified when calculating Bond Order Parameters");
216 >               "A cutoff radius (rcut) must be specified when calculating Bond Order Parameters");
217 >      painCave.severity = OOPSE_ERROR;
218 >      painCave.isFatal = 1;
219 >      simError();
220 >    }
221 >  } else if (args_info.bor_given){
222 >    if (args_info.rcut_given) {
223 >      analyser = new BOPofR(info, dumpFileName, sele1, args_info.rcut_arg,
224 >                            args_info.nbins_arg, maxLen);
225 >    } else {
226 >      sprintf( painCave.errMsg,
227 >               "A cutoff radius (rcut) must be specified when calculating Bond Order Parameters");
228        painCave.severity = OOPSE_ERROR;
229        painCave.isFatal = 1;
230        simError();
231      }
232 +  } else if (args_info.bad_given){
233 +    if (args_info.rcut_given) {
234 +      analyser = new BondAngleDistribution(info, dumpFileName, sele1, args_info.rcut_arg,
235 +                            args_info.nbins_arg);
236 +    } else {
237 +      sprintf( painCave.errMsg,
238 +               "A cutoff radius (rcut) must be specified when calculating Bond Angle Distributions");
239 +      painCave.severity = OOPSE_ERROR;
240 +      painCave.isFatal = 1;
241 +      simError();
242 +    }
243    } else if (args_info.scd_given) {
244      if (batchMode) {
245        analyser  = new SCDOrderParameter(info, dumpFileName, args_info.molname_arg,
# Line 217 | Line 249 | int main(int argc, char* argv[]){
249        analyser  = new SCDOrderParameter(info, dumpFileName, sele1, sele2, sele3);
250      }
251    }else if (args_info.density_given) {
252 <    analyser= new DensityPlot(info, dumpFileName, sele1, sele2, maxLen, args_info.nrbins_arg);  
252 >    analyser= new DensityPlot(info, dumpFileName, sele1, sele2, maxLen,
253 >                              args_info.nbins_arg);  
254    } else if (args_info.slab_density_given) {
255      Mat3x3d hmat = info->getSnapshotManager()->getCurrentSnapshot()->getHmat();
256 <    analyser = new RhoZ(info, dumpFileName, sele1, hmat(2, 2), args_info.nrbins_arg);
256 >    analyser = new RhoZ(info, dumpFileName, sele1, hmat(2, 2), args_info.nbins_arg);
257   #if defined(HAVE_FFTW_H) || defined(HAVE_DFFTW_H) || defined(HAVE_FFTW3_H)
258    }else if (args_info.hxy_given) {
259 <    analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg, args_info.nbins_y_arg, args_info.nrbins_arg);
259 >    analyser = new Hxy(info, dumpFileName, sele1, args_info.nbins_x_arg,
260 >                       args_info.nbins_y_arg, args_info.nbins_arg);
261   #endif
262 +  }else if (args_info.rho_r_given) {
263 +    if (args_info.radius_given){
264 +      analyser = new RhoR(info, dumpFileName, sele1, maxLen,args_info.nbins_arg,args_info.radius_arg);
265 +    }else{
266 +      sprintf( painCave.errMsg,
267 +               "A particle radius (radius) must be specified when calculating Rho(r)");
268 +      painCave.severity = OOPSE_ERROR;
269 +      painCave.isFatal = 1;
270 +      simError();
271 +    }
272 +        }else if (args_info.hullvol_given) {
273 +    analyser = new NanoVolume(info, dumpFileName, sele1);
274    }
275    
276    if (args_info.output_given) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines