| 64 |  | namespace OpenMD { | 
| 65 |  |  | 
| 66 |  | DumpWriter::DumpWriter(SimInfo* info) | 
| 67 | < | : info_(info), filename_(info->getDumpFileName()), eorFilename_(info->getFinalConfigFileName()){ | 
| 67 | > | : info_(info), filename_(info->getDumpFileName()), | 
| 68 | > | eorFilename_(info->getFinalConfigFileName()){ | 
| 69 |  |  | 
| 70 |  | Globals* simParams = info->getSimParams(); | 
| 71 |  | needCompression_   = simParams->getCompressDumpFile(); | 
| 73 |  | needParticlePot_   = simParams->getOutputParticlePotential(); | 
| 74 |  | needFlucQ_         = simParams->getOutputFluctuatingCharges(); | 
| 75 |  | needElectricField_ = simParams->getOutputElectricField(); | 
| 76 | + | needSitePotential_ = simParams->getOutputSitePotential(); | 
| 77 |  |  | 
| 78 | < | if (needParticlePot_ || needFlucQ_ || needElectricField_) { | 
| 78 | > | if (needParticlePot_ || needFlucQ_ || needElectricField_ || | 
| 79 | > | needSitePotential_) { | 
| 80 |  | doSiteData_ = true; | 
| 81 |  | } else { | 
| 82 |  | doSiteData_ = false; | 
| 124 |  | needParticlePot_   = simParams->getOutputParticlePotential(); | 
| 125 |  | needFlucQ_         = simParams->getOutputFluctuatingCharges(); | 
| 126 |  | needElectricField_ = simParams->getOutputElectricField(); | 
| 127 | + | needSitePotential_ = simParams->getOutputSitePotential(); | 
| 128 |  |  | 
| 129 | < | if (needParticlePot_ || needFlucQ_ || needElectricField_) { | 
| 129 | > | if (needParticlePot_ || needFlucQ_ || needElectricField_ || | 
| 130 | > | needSitePotential_) { | 
| 131 |  | doSiteData_ = true; | 
| 132 |  | } else { | 
| 133 |  | doSiteData_ = false; | 
| 175 |  | needParticlePot_   = simParams->getOutputParticlePotential(); | 
| 176 |  | needFlucQ_         = simParams->getOutputFluctuatingCharges(); | 
| 177 |  | needElectricField_ = simParams->getOutputElectricField(); | 
| 178 | + | needSitePotential_ = simParams->getOutputSitePotential(); | 
| 179 |  |  | 
| 180 | < | if (needParticlePot_ || needFlucQ_ || needElectricField_) { | 
| 180 | > | if (needParticlePot_ || needFlucQ_ || needElectricField_ || | 
| 181 | > | needSitePotential_) { | 
| 182 |  | doSiteData_ = true; | 
| 183 |  | } else { | 
| 184 |  | doSiteData_ = false; | 
| 717 |  | line += tempBuffer; | 
| 718 |  | } | 
| 719 |  | } | 
| 713 | – |  | 
| 720 |  |  | 
| 721 | + | if (needSitePotential_) { | 
| 722 | + | if (storageLayout & DataStorage::dslSitePotential) { | 
| 723 | + | type += "s"; | 
| 724 | + | RealType sPot = sd->getSitePotential(); | 
| 725 | + | if (isinf(sPot) || isnan(sPot) ) { | 
| 726 | + | sprintf( painCave.errMsg, | 
| 727 | + | "DumpWriter detected a numerical error writing the" | 
| 728 | + | " site potential for object %s", id.c_str()); | 
| 729 | + | painCave.isFatal = 1; | 
| 730 | + | simError(); | 
| 731 | + | } | 
| 732 | + | sprintf(tempBuffer, " %13e ", sPot); | 
| 733 | + | line += tempBuffer; | 
| 734 | + | } | 
| 735 | + | } | 
| 736 | + |  | 
| 737 |  | if (needParticlePot_) { | 
| 738 |  | if (storageLayout & DataStorage::dslParticlePot) { | 
| 739 |  | type += "u"; |