--- trunk/src/brains/DataStorage.cpp 2013/06/16 15:15:42 1879 +++ trunk/src/brains/DataStorage.cpp 2014/04/29 17:32:31 1993 @@ -146,6 +146,11 @@ namespace OpenMD { //error cerr << "size does not match"<< endl; } + + if (storageLayout_ & dslSitePotential && sitePotential.size() != size_) { + //error + cerr << "size does not match"<< endl; + } return size_; @@ -221,6 +226,10 @@ namespace OpenMD { internalResize(flucQFrc, newSize); } + if (storageLayout_ & dslSitePotential) { + internalResize(sitePotential, newSize); + } + size_ = newSize; } @@ -292,6 +301,10 @@ namespace OpenMD { if (storageLayout_ & dslFlucQForce) { flucQFrc.reserve(size); } + + if (storageLayout_ & dslSitePotential) { + sitePotential.reserve(size); + } } void DataStorage::copy(int source, int num, int target) { @@ -365,6 +378,10 @@ namespace OpenMD { if (storageLayout_ & dslFlucQForce) { internalCopy(flucQFrc, source, num, target); } + + if (storageLayout_ & dslSitePotential) { + internalCopy(sitePotential, source, num, target); + } } int DataStorage::getStorageLayout() { @@ -430,6 +447,9 @@ namespace OpenMD { case dslFlucQForce: return internalGetArrayPointer(flucQFrc); + case dslSitePotential: + return internalGetArrayPointer(sitePotential); + default: //error message return NULL; @@ -549,6 +569,9 @@ namespace OpenMD { if (layout & dslFlucQForce) { bytes += sizeof(RealType); } + if (layout & dslSitePotential) { + bytes += sizeof(RealType); + } return bytes; }