ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/brains/SimCreator.cpp
(Generate patch)

Comparing branches/development/src/brains/SimCreator.cpp (file contents):
Revision 1710 by gezelter, Fri May 18 21:44:02 2012 UTC vs.
Revision 1757 by gezelter, Tue Jun 19 02:11:07 2012 UTC

# Line 56 | Line 56
56   #include "brains/SimCreator.hpp"
57   #include "brains/SimSnapshotManager.hpp"
58   #include "io/DumpReader.hpp"
59 < #include "UseTheForce/ForceFieldFactory.hpp"
59 > #include "brains/ForceField.hpp"
60   #include "utils/simError.h"
61   #include "utils/StringUtils.hpp"
62   #include "math/SeqRandNumGen.hpp"
# Line 371 | Line 371 | namespace OpenMD {
371                                     metaDataBlockStart + 1);
372      
373      //create the force field
374 <    ForceField * ff = ForceFieldFactory::getInstance()->createForceField(simParams->getForceField());
374 >    ForceField * ff = new ForceField(simParams->getForceField());
375  
376      if (ff == NULL) {
377        sprintf(painCave.errMsg,
# Line 425 | Line 425 | namespace OpenMD {
425      //find the storage layout
426  
427      int storageLayout = computeStorageLayout(info);
428
429    cerr << "computed Storage Layout = " << storageLayout << "\n";
428  
429      //allocate memory for DataStorage(circular reference, need to
430      //break it)
# Line 669 | Line 667 | namespace OpenMD {
667      
668    int SimCreator::computeStorageLayout(SimInfo* info) {
669  
670 +    Globals* simParams = info->getSimParams();
671      int nRigidBodies = info->getNGlobalRigidBodies();
672      set<AtomType*> atomTypes = info->getSimulatedAtomTypes();
673      set<AtomType*>::iterator i;
# Line 744 | Line 743 | namespace OpenMD {
743        if (storageLayout & DataStorage::dslForce) {
744          storageLayout |= DataStorage::dslFlucQForce;
745        }
746 +    }
747 +    
748 +    // if the user has asked for them, make sure we've got the memory for the
749 +    // objects defined.
750 +
751 +    if (simParams->getOutputParticlePotential()) {
752 +      storageLayout |= DataStorage::dslParticlePot;
753      }
754 +
755 +    if (simParams->havePrintHeatFlux()) {
756 +      if (simParams->getPrintHeatFlux()) {
757 +        storageLayout |= DataStorage::dslParticlePot;
758 +      }
759 +    }
760 +
761 +    if (simParams->getOutputElectricField()) {
762 +      storageLayout |= DataStorage::dslElectricField;
763 +    }
764 +    if (simParams->getOutputFluctuatingCharges()) {
765 +      storageLayout |= DataStorage::dslFlucQPosition;
766 +      storageLayout |= DataStorage::dslFlucQVelocity;
767 +      storageLayout |= DataStorage::dslFlucQForce;
768 +    }
769 +
770      return storageLayout;
771    }
772  
# Line 764 | Line 786 | namespace OpenMD {
786      int nGlobalAtoms = info->getNGlobalAtoms();
787      
788      beginAtomIndex = 0;
789 <    beginRigidBodyIndex = 0;
789 >    //rigidbody's index begins right after atom's
790 >    beginRigidBodyIndex = info->getNGlobalAtoms();
791      beginCutoffGroupIndex = 0;
792  
793      for(int i = 0; i < info->getNGlobalMolecules(); i++) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines