diff --git a/utilities/particlesPhasicFlow/empty/empty.cpp b/utilities/particlesPhasicFlow/empty/empty.cpp index e75d0dac..1b938c00 100755 --- a/utilities/particlesPhasicFlow/empty/empty.cpp +++ b/utilities/particlesPhasicFlow/empty/empty.cpp @@ -29,8 +29,7 @@ pFlow::empty::empty( positionParticles(dict), position_ ( - maxNumberOfParticles_, RESERVE() + maxNumberOfParticles_, 0, RESERVE() ) { - position_.clear(); } \ No newline at end of file diff --git a/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp b/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp index 0d3b8409..fcfb4616 100755 --- a/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp +++ b/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp @@ -98,9 +98,23 @@ pFlow::positionParticles::positionParticles } +pFlow::realx3Vector pFlow::positionParticles::getFinalPosition() +{ + if(mortonSorting_) + { + return sortByMortonCode(position()); + } + else + { + realx3Vector vec(position().capacity(), RESERVE()); + vec.assign( position().begin(), position().end()); + + return std::move(vec); + } +} - -pFlow::uniquePtr pFlow::positionParticles::create(const dictionary & dict) +pFlow::uniquePtr + pFlow::positionParticles::create(const dictionary & dict) { word method = dict.getVal("method"); diff --git a/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp b/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp index fe579e71..48fc222b 100755 --- a/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp +++ b/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp @@ -145,21 +145,11 @@ public: // - access to position virtual realx3Vector& position() = 0; - virtual realx3Vector getFinalPosition() - { - if(mortonSorting_) - { - return sortByMortonCode(position()); - } - else - { - return position(); - } - } - + virtual realx3Vector getFinalPosition(); static uniquePtr create(const dictionary & dict); + };