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

Comparing trunk/src/restraints/RestraintForceManager.cpp (file contents):
Revision 1366 by gezelter, Fri Oct 16 20:42:29 2009 UTC vs.
Revision 1398 by gezelter, Tue Dec 8 22:17:02 2009 UTC

# Line 6 | Line 6
6   * redistribute this software in source and binary code form, provided
7   * that the following conditions are met:
8   *
9 < * 1. Acknowledgement of the program authors must be made in any
10 < *    publication of scientific results based in part on use of the
11 < *    program.  An acceptable form of acknowledgement is citation of
12 < *    the article in which the program was described (Matthew
13 < *    A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher
14 < *    J. Fennell and J. Daniel Gezelter, "OOPSE: An Object-Oriented
15 < *    Parallel Simulation Engine for Molecular Dynamics,"
16 < *    J. Comput. Chem. 26, pp. 252-271 (2005))
17 < *
18 < * 2. Redistributions of source code must retain the above copyright
9 > * 1. Redistributions of source code must retain the above copyright
10   *    notice, this list of conditions and the following disclaimer.
11   *
12 < * 3. Redistributions in binary form must reproduce the above copyright
12 > * 2. Redistributions in binary form must reproduce the above copyright
13   *    notice, this list of conditions and the following disclaimer in the
14   *    documentation and/or other materials provided with the
15   *    distribution.
# Line 37 | Line 28
28   * arising out of the use of or inability to use software, even if the
29   * University of Notre Dame has been advised of the possibility of
30   * such damages.
31 + *
32 + * SUPPORT OPEN SCIENCE!  If you use OpenMD or its source code in your
33 + * research, please cite the appropriate papers when you publish your
34 + * work.  Good starting points are:
35 + *                                                                      
36 + * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37 + * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 + * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 + * [4]  Vardeman & Gezelter, in progress (2009).                        
40   */
41  
42   #include <cmath>
# Line 45 | Line 45
45   #include "restraints/ObjectRestraint.hpp"
46   #include "io/RestReader.hpp"
47   #include "utils/simError.h"
48 < #include "utils/OOPSEConstant.hpp"
48 > #include "utils/PhysicalConstants.hpp"
49   #include "utils/StringUtils.hpp"
50   #include "selection/SelectionEvaluator.hpp"
51   #include "selection/SelectionManager.hpp"
# Line 54 | Line 54
54   #endif
55  
56  
57 < namespace oopse {
57 > namespace OpenMD {
58  
59    RestraintForceManager::RestraintForceManager(SimInfo* info): ForceManager(info) {
60  
# Line 149 | Line 149 | namespace oopse {
149   #endif
150          }
151          
152 +
153 + #ifdef IS_MPI
154 +        // only handle this molecular restraint if this processor owns the
155 +        // molecule
156 +        int myrank = MPI::COMM_WORLD.Get_rank();
157 +        if (info_->getMolToProc(molIndex) == myrank) {
158 + #endif
159 +
160          MolecularRestraint* rest = new MolecularRestraint();
161  
162          std::string restPre("mol_");
# Line 184 | Line 192 | namespace oopse {
192          restraints_.push_back(rest);
193          mol->addProperty(new RestraintData("Restraint", rest));
194          restrainedMols_.push_back(mol);
195 <        
195 > #ifdef IS_MPI
196 >        }
197 > #endif        
198        } else if (myType.compare("OBJECT") == 0) {
199          
200          std::string objectSelection;
# Line 347 | Line 357 | namespace oopse {
357            if (mRest == NULL) {
358              sprintf( painCave.errMsg,
359                       "Can not cast RestraintData to MolecularRestraint\n");
360 <            painCave.severity = OOPSE_ERROR;
360 >            painCave.severity = OPENMD_ERROR;
361              painCave.isFatal = 1;
362              simError();                      
363            }
364          } else {
365            sprintf( painCave.errMsg,
366                     "Can not cast GenericData to RestraintData\n");
367 <          painCave.severity = OOPSE_ERROR;
367 >          painCave.severity = OPENMD_ERROR;
368            painCave.isFatal = 1;
369            simError();      
370          }
371        } else {
372          sprintf( painCave.errMsg, "Can not find Restraint for RestrainedObject\n");
373 <        painCave.severity = OOPSE_ERROR;
373 >        painCave.severity = OPENMD_ERROR;
374          painCave.isFatal = 1;
375          simError();          
376        }
# Line 412 | Line 422 | namespace oopse {
422            if (oRest == NULL) {
423              sprintf( painCave.errMsg,
424                       "Can not cast RestraintData to ObjectRestraint\n");
425 <            painCave.severity = OOPSE_ERROR;
425 >            painCave.severity = OPENMD_ERROR;
426              painCave.isFatal = 1;
427              simError();                      
428            }
429          } else {
430            sprintf( painCave.errMsg,
431                     "Can not cast GenericData to RestraintData\n");
432 <          painCave.severity = OOPSE_ERROR;
432 >          painCave.severity = OPENMD_ERROR;
433            painCave.isFatal = 1;
434            simError();      
435          }
436        } else {
437          sprintf( painCave.errMsg, "Can not find Restraint for RestrainedObject\n");
438 <        painCave.severity = OOPSE_ERROR;
438 >        painCave.severity = OPENMD_ERROR;
439          painCave.isFatal = 1;
440          simError();          
441        }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines