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