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 1725 by gezelter, Sat May 26 18:13:43 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 426 | Line 426 | namespace OpenMD {
426  
427      int storageLayout = computeStorageLayout(info);
428  
429    cerr << "computed Storage Layout = " << storageLayout << "\n";
430
429      //allocate memory for DataStorage(circular reference, need to
430      //break it)
431      info->setSnapshotManager(new SimSnapshotManager(info, storageLayout));
# 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 743 | Line 742 | namespace OpenMD {
742        }
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  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines