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; |