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

Comparing trunk/src/perturbations/UniformField.cpp (file contents):
Revision 2020 by gezelter, Mon Sep 22 19:18:35 2014 UTC vs.
Revision 2026 by gezelter, Wed Oct 22 12:23:59 2014 UTC

# Line 58 | Line 58 | namespace OpenMD {
58    }
59    
60    void UniformField::initialize() {
61 +
62 +    std::vector<RealType> ef;
63 +
64      if (simParams->haveElectricField()) {
65        doUniformField = true;
66 <      EF = simParams->getElectricField();
66 >      ef = simParams->getElectricField();            
67      }  
68      if (simParams->haveUniformField()) {
69        doUniformField = true;
70 <      EF = simParams->getUniformField();
70 >      ef = simParams->getUniformField();
71      }  
72 +    if (ef.size() != 3) {
73 +      sprintf(painCave.errMsg,
74 +              "UniformField: Incorrect number of parameters specified.\n"
75 +              "\tthere should be 3 parameters, but %lu were specified.\n", ef.size());
76 +      painCave.isFatal = 1;
77 +      simError();      
78 +    }
79 +    EF.x() = ef[0];
80 +    EF.y() = ef[1];
81 +    EF.z() = ef[2];
82 +
83      int storageLayout_ = info_->getSnapshotManager()->getStorageLayout();
84      if (storageLayout_ & DataStorage::dslParticlePot) doParticlePot = true;
85      initialized = true;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines