bug fix for push_back

This commit is contained in:
Hamidreza Norouzi 2023-04-03 05:48:54 -07:00
parent 651c74313c
commit b5572d3f7f
3 changed files with 11 additions and 4 deletions

View File

@ -52,11 +52,13 @@ bool pFlow::domainDistribute::locateParticles(
range activeRange = mask.activeRange(); range activeRange = mask.activeRange();
for(int32 di=0; di<numDomains_; di++) for(int32 di=0; di<numDomains_; di++)
{ {
particlesInDomains_[di].clear(); particlesInDomains_[di].clear();
} }
for(int32 i=activeRange.first; i<activeRange.second; i++) for(int32 i=activeRange.first; i<activeRange.second; i++)
{ {
if(mask(i)) if(mask(i))
@ -76,8 +78,6 @@ bool pFlow::domainDistribute::locateParticles(
numParInDomain_[di] = particlesInDomains_[di].size(); numParInDomain_[di] = particlesInDomains_[di].size();
} }
output<<" numParInDomain_ "<< numParInDomain_<<endl;
return true; return true;
} }

View File

@ -744,7 +744,11 @@ public:
syncToHost(); syncToHost();
modifyOnHost(); modifyOnHost();
if(size_ == capacity_) changeSize(capacity_); if(size_ == capacity_)
{
changeSize(evalCapacity(capacity_), true);
}
data()[size_++] = val; data()[size_++] = val;
subViewsUpdated_ = false; subViewsUpdated_ = false;

View File

@ -710,7 +710,10 @@ public:
void>::type void>::type
push_back(const T& val) push_back(const T& val)
{ {
if(size_ == capacity_) changeSize(capacity_); if(size_ == capacity_)
{
changeSize(evalCapacity(capacity_), true);
}
data()[size_++] = val; data()[size_++] = val;
subViewUpdated_ = false; subViewUpdated_ = false;
} }