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

Comparing trunk/src/applications/dynamicProps/DynamicProps.cpp (file contents):
Revision 324 by tim, Sun Feb 13 19:10:25 2005 UTC vs.
Revision 1026 by gezelter, Wed Aug 30 21:04:04 2006 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 52 | Line 52
52   #include "applications/dynamicProps/DipoleCorrFunc.hpp"
53   #include "applications/dynamicProps/RCorrFunc.hpp"
54   #include "applications/dynamicProps/VCorrFunc.hpp"
55 + #include "applications/dynamicProps/LegendreCorrFunc.hpp"
56  
57 +
58   using namespace oopse;
59  
60   int main(int argc, char* argv[]){
61    
62 <    //register force fields
63 <    registerForceFields();
62 >  //register force fields
63 >  registerForceFields();
64  
65 <    gengetopt_args_info args_info;
65 >  gengetopt_args_info args_info;
66  
67 <    //parse the command line option
68 <    if (cmdline_parser (argc, argv, &args_info) != 0) {
69 <        exit(1) ;
70 <    }
67 >  //parse the command line option
68 >  if (cmdline_parser (argc, argv, &args_info) != 0) {
69 >    exit(1) ;
70 >  }
71  
72  
73 <    //get the dumpfile name and meta-data file name
74 <    std::string dumpFileName = args_info.input_arg;
73 <
74 <    std::string mdFileName = dumpFileName.substr(0, dumpFileName.rfind(".")) + ".md";
75 <
73 >  //get the dumpfile name and meta-data file name
74 >  std::string dumpFileName = args_info.input_arg;
75      
76 <    std::string sele1;
77 <    std::string sele2;
76 >  std::string sele1;
77 >  std::string sele2;
78  
79 <    if (args_info.sele1_given) {
80 <        sele1 = args_info.sele1_arg;
79 >  if (args_info.sele1_given) {
80 >    sele1 = args_info.sele1_arg;
81 >  }else {
82 >    char*  sele1Env= getenv("OOPSE_SELE1");
83 >    if (sele1Env) {
84 >      sele1 = sele1Env;
85      }else {
86 <        char*  sele1Env= getenv("OOPSE_SELE1");
84 <        if (sele1Env) {
85 <            sele1 = sele1Env;
86 <        }else {
87 <            sprintf( painCave.errMsg,
86 >      sprintf( painCave.errMsg,
87                 "neither --sele1 option nor $OOPSE_SELE1 is set");
88 <            painCave.severity = OOPSE_ERROR;
89 <            painCave.isFatal = 1;
90 <            simError();
92 <        }
88 >      painCave.severity = OOPSE_ERROR;
89 >      painCave.isFatal = 1;
90 >      simError();
91      }
92 +  }
93      
94 <    if (args_info.sele2_given) {
95 <        sele2 = args_info.sele2_arg;
96 <    }else {
97 <        char* sele2Env = getenv("OOPSE_SELE2");
98 <        if (sele2Env) {
99 <            sele2 = sele2Env;            
100 <        } else {
101 <            sele2 = sele1;
103 <        }
94 >  if (args_info.sele2_given) {
95 >    sele2 = args_info.sele2_arg;
96 >  }else {
97 >    char* sele2Env = getenv("OOPSE_SELE2");
98 >    if (sele2Env) {
99 >      sele2 = sele2Env;            
100 >    } else {
101 >      sele2 = sele1;
102      }
103 +  }
104  
105 <    //parse md file and set up the system
106 <    SimCreator creator;
107 <    SimInfo* info = creator.createSim(mdFileName, false);
105 >  //parse md file and set up the system
106 >  SimCreator creator;
107 >  SimInfo* info = creator.createSim(dumpFileName, false);
108  
109  
110 <    CorrelationFunction* corrFunc;
111 <    if (args_info.dcorr_given){
112 <        corrFunc = new DipoleCorrFunc(info, dumpFileName, sele1, sele2);
113 <    } else if (args_info.rcorr_given) {
114 <        corrFunc = new RCorrFunc(info, dumpFileName, sele1, sele2);
110 >  TimeCorrFunc* corrFunc;
111 >  if (args_info.dcorr_given){
112 >    corrFunc = new DipoleCorrFunc(info, dumpFileName, sele1, sele2);
113 >  } else if (args_info.rcorr_given) {
114 >    corrFunc = new RCorrFunc(info, dumpFileName, sele1, sele2);
115 >  }
116 >  else if (args_info.vcorr_given) {
117 >    corrFunc = new VCorrFunc(info, dumpFileName, sele1, sele2);
118 >  } else if (args_info.lcorr_given) {
119 >    int order;
120 >    if (args_info.order_given)
121 >        order = args_info.order_arg;
122 >    else {
123 >      sprintf( painCave.errMsg,
124 >               "--order must be set if --lcoor is set\n");
125 >      painCave.severity = OOPSE_ERROR;
126 >      painCave.isFatal = 1;
127 >      simError();
128      }
129 <    else if (args_info.vcorr_given) {
130 <        corrFunc = new VCorrFunc(info, dumpFileName, sele1, sele2);
131 <    }
129 >        
130 >    corrFunc = new LegendreCorrFunc(info, dumpFileName, sele1, sele2, order);
131 >  }
132  
133 <    if (args_info.output_given) {
134 <        corrFunc->setOutputName(args_info.output_arg);
135 <    }
133 >  if (args_info.output_given) {
134 >    corrFunc->setOutputName(args_info.output_arg);
135 >  }
136  
137  
138 <    corrFunc->doCorrelate();
138 >  corrFunc->doCorrelate();
139  
140 <    delete corrFunc;    
141 <    delete info;
140 >  delete corrFunc;    
141 >  delete info;
142  
143 <    return 0;  
143 >  return 0;  
144   }
145  
146  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines