ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/Dump2XYZ.cpp
(Generate patch)

Comparing trunk/OOPSE/utils/Dump2XYZ.cpp (file contents):
Revision 1118 by tim, Mon Apr 19 03:52:27 2004 UTC vs.
Revision 1170 by gezelter, Wed May 12 19:45:06 2004 UTC

# Line 16 | Line 16 | int main(int argc, char* argv[]){
16    gengetopt_args_info args_info;
17    string dumpFileName;
18    string bassFileName;
19 +  char inFileName[2002];
20    string xyzFileName;
21    SimInfo* info;
22    SimSetup startMe;
# Line 25 | Line 26 | int main(int argc, char* argv[]){
26    Molecule* mol;  
27    vector<StuntDouble*> integrableObjects;
28    vector<StuntDouble*>::iterator iter;
29 +  vector<RigidBody*> myRigidBodies;
30 +  vector<RigidBody*>::iterator rbIter;
31    
32    CompositeVisitor* compositeVisitor;
33    SSDAtomVisitor* ssdVisitor;
34    DefaultAtomVisitor* defaultAtomVisitor;
35    LipidHeadVisitor* lipidVisitor;
36 +  RBCOMVisitor* rbCOMVisitor;
37    ReplicateVisitor* replicateVisitor;
38    WrappingVisitor* wrappingVisitor;
39    IgnoreVisitor* ignoreVisitor;
40    XYZVisitor* xyzVisitor;
41    ZConsVisitor* zconsVisitor;
42    PrepareVisitor* prepareVisitor;
43 +  WaterTypeVisitor* waterTypeVisitor;
44    
45    //parse the command line option
46      if (cmdline_parser (argc, argv, &args_info) != 0)
# Line 65 | Line 70 | int main(int argc, char* argv[]){
70    info = new SimInfo();
71    startMe.setSimInfo(info );
72  
73 <  startMe.parseFile( bassFileName.c_str());
73 >  strcpy(inFileName, bassFileName.c_str() );
74 >  startMe.parseFile( inFileName );
75  
76    startMe.createSim();
77  
# Line 98 | Line 104 | int main(int argc, char* argv[]){
104    }
105  
106    //creat RigidBody Visitor
107 <  lipidVisitor = new LipidHeadVisitor(info);
107 >  if(args_info.rigidbody_flag){
108 >    rbCOMVisitor = new RBCOMVisitor(info);
109 >    compositeVisitor->addVisitor(rbCOMVisitor, 900);
110 >  }
111 >  //creat RigidBody Visitor
112 >  //lipidVisitor = new LipidHeadVisitor(info);
113  
114    //adding names of lipid head group
115 <  lipidVisitor->addLipidHeadName("PC_RB_0");
116 <  lipidVisitor->addLipidHeadName("PE_RB_0");
115 >  //lipidVisitor->addLipidHeadName("PC_RB_0");
116 >  //lipidVisitor->addLipidHeadName("PE_RB_0");
117  
118 <  compositeVisitor->addVisitor(lipidVisitor, 900);
118 >  //compositeVisitor->addVisitor(lipidVisitor, 900);
119  
120    //creat SSD atom visitor
121    ssdVisitor = new SSDAtomVisitor(info);
# Line 112 | Line 123 | int main(int argc, char* argv[]){
123  
124    //creat default atom visitor
125    defaultAtomVisitor = new DefaultAtomVisitor(info);
126 <  compositeVisitor->addVisitor(ssdVisitor, 700);
126 >  compositeVisitor->addVisitor(defaultAtomVisitor, 700);
127  
128 +  //creat waterType visitor
129 +  if(args_info.watertype_flag){
130 +    waterTypeVisitor = new WaterTypeVisitor;
131 +    compositeVisitor->addVisitor(waterTypeVisitor, 600);
132 +  }
133 +
134    //create ZconsVisitor
135 <  if(args_info.replace_given){
135 >  if(args_info.zconstraint_flag){
136      
137      zconsVisitor = new ZConsVisitor(info);
138  
139      if(zconsVisitor->haveZconsMol())
140 <      compositeVisitor->addVisitor(zconsVisitor, 600);
140 >      compositeVisitor->addVisitor(zconsVisitor, 500);
141      else
142        delete zconsVisitor;
143    }
# Line 129 | Line 146 | int main(int argc, char* argv[]){
146  
147    if(args_info.periodicBox_flag){
148      wrappingVisitor = new WrappingVisitor(info);
149 <    compositeVisitor->addVisitor(wrappingVisitor, 500);
149 >    compositeVisitor->addVisitor(wrappingVisitor, 400);
150    }
151    
152    //creat replicate visitor
153    if(args_info.repeatX_given > 0 || args_info.repeatY_given > 0 ||args_info.repeatY_given > 0){
154      IntVec3 replicateOpt(args_info.repeatX_arg, args_info.repeatY_arg, args_info.repeatZ_arg);
155      replicateVisitor = new ReplicateVisitor(info, replicateOpt);
156 <    compositeVisitor->addVisitor(replicateVisitor, 400);
156 >    compositeVisitor->addVisitor(replicateVisitor, 300);
157    }
158  
159    //creat xyzVisitor
160    xyzVisitor = new XYZVisitor(info);
161 <  compositeVisitor->addVisitor(wrappingVisitor, 300);
161 >  compositeVisitor->addVisitor(xyzVisitor, 200);
162  
163 +  cout << compositeVisitor->toString();
164  
165    //creat prepareVisitor
166    prepareVisitor = new PrepareVisitor();
# Line 157 | Line 175 | int main(int argc, char* argv[]){
175      dumpReader->readFrame(info, i);
176  
177      mol = info->molecules;
178 +
179 +    //update atoms of rigidbody
180 +    for(int j = 0; j < info->n_mol; j++){
181 +      myRigidBodies = mol[j].getMyRigidBodies();
182 +
183 +      for(rbIter = myRigidBodies.begin(); rbIter != myRigidBodies.end(); ++rbIter)
184 +        (*rbIter)->updateAtoms();
185 +    }    
186 +
187      
188      //prepare visit
189      for(int j = 0; j < info->n_mol; j++){
190 <      integrableObjects = mol[i].getIntegrableObjects();
190 >      integrableObjects = mol[j].getIntegrableObjects();
191  
192        for(iter = integrableObjects.begin(); iter != integrableObjects.end(); ++iter)
193          (*iter)->accept(prepareVisitor);
# Line 171 | Line 198 | int main(int argc, char* argv[]){
198      
199      //visit stuntdouble
200      for(int j = 0; j < info->n_mol; j++){
201 <      integrableObjects = mol[i].getIntegrableObjects();
201 >      integrableObjects = mol[j].getIntegrableObjects();
202  
203        for(iter = integrableObjects.begin(); iter != integrableObjects.end(); ++iter)
204          (*iter)->accept(compositeVisitor);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines