bool Foam::cfdemCloudIB::evolve() { numberOfParticlesChanged_ = false; arraysReallocated_=false; bool doCouple=false; if (dataExchangeM().couple()) { Info << "\n timeStepFraction() = " << dataExchangeM().timeStepFraction() << endl; doCouple=true; if(verbose_) Info << "- getDEMdata()" << endl; getDEMdata(); Info << "nr particles = " << numberOfParticles() << endl; // search cellID of particles if(verbose_) Info << "- findCell()" << endl; locateM().findCell(NULL,positions_,cellIDs_,numberOfParticles()); if(verbose_) Info << "findCell done." << endl; // set void fraction field if(verbose_) Info << "- setvoidFraction()" << endl; voidFractionM().setvoidFraction(NULL,voidfractions_,particleWeights_,particleVolumes_); if(verbose_) Info << "setvoidFraction done." << endl; // set particles forces if(verbose_) Info << "- setForce(forces_)" << endl; for(int index = 0;index < numberOfParticles_; ++index){ for(int i=0;i<3;i++){ impForces_[index][i] = 0; expForces_[index][i] = 0; DEMForces_[index][i] = 0; } } for (int i=0;i<nrForceModels();i++) forceM(i).setForce(); if(verbose_) Info << "setForce done." << endl; // write DEM data if(verbose_) Info << " -giveDEMdata()" << endl; giveDEMdata(); } Info << "evolve done." << endl; //if(verbose_) #include "debugInfo.H"; // do particle IO IOM().dumpDEMdata(); return doCouple; }
void Foam::cfdemCloud::findCells() { locateM().findCell(NULL,positions_,cellIDs_,numberOfParticles()); }