particles and sphereParticles classes were tested for exit boundary

This commit is contained in:
Hamidreza Norouzi
2024-03-22 08:26:14 -07:00
parent acfaacfe4a
commit 49af1119f9
15 changed files with 287 additions and 92 deletions

View File

@ -460,11 +460,11 @@ bool pFlow::sphereParticles::beforeIteration()
{
particles::beforeIteration();
intPredictTimer_.start();
dynPointStruct().predict(dt(), accelertion());
rVelIntegration_().predict(dt(),rVelocity_, rAcceleration_);
auto dt = this->dt();
dynPointStruct().predict(dt, accelertion());
rVelIntegration_().predict(dt,rVelocity_, rAcceleration_);
intPredictTimer_.end();
//WARNING<<"pFlow::sphereParticles::beforeIteration()"<<END_WARNING;
return true;
}
@ -475,13 +475,13 @@ bool pFlow::sphereParticles::iterate()
accelerationTimer_.start();
pFlow::sphereParticlesKernels::acceleration(
control().g(),
mass().deviceView(),
contactForce().deviceView(),
I().deviceView(),
contactTorque().deviceView(),
mass().deviceViewAll(),
contactForce().deviceViewAll(),
I().deviceViewAll(),
contactTorque().deviceViewAll(),
dynPointStruct().activePointsMaskDevice(),
accelertion().deviceView(),
rAcceleration().deviceView()
accelertion().deviceViewAll(),
rAcceleration().deviceViewAll()
);
accelerationTimer_.end();
@ -504,11 +504,6 @@ bool pFlow::sphereParticles::iterate()
return true;
}
bool pFlow::sphereParticles::afterIteration()
{
particles::afterIteration();
return true;
}
pFlow::word pFlow::sphereParticles::shapeTypeName()const
{

View File

@ -184,9 +184,7 @@ public:
/// iterate particles
bool iterate() override;
/// after iteration step
bool afterIteration() override;
realx3PointField_D& rAcceleration() override
{
return rAcceleration_;

View File

@ -59,14 +59,14 @@ void pFlow::sphereParticlesKernels::addMassDiamInertiaProp
void pFlow::sphereParticlesKernels::acceleration
(
realx3 g,
deviceViewType1D<real> mass,
deviceViewType1D<realx3> force,
deviceViewType1D<real> I,
deviceViewType1D<realx3> torque,
pFlagTypeDevice incld,
deviceViewType1D<realx3> lAcc,
deviceViewType1D<realx3> rAcc
const realx3& g,
const deviceViewType1D<real>& mass,
const deviceViewType1D<realx3>& force,
const deviceViewType1D<real>& I,
const deviceViewType1D<realx3>& torque,
const pFlagTypeDevice& incld,
deviceViewType1D<realx3> lAcc,
deviceViewType1D<realx3> rAcc
)
{

View File

@ -30,7 +30,7 @@ namespace pFlow::sphereParticlesKernels
void addMassDiamInertiaProp(
deviceViewType1D<uint32> shapeIndex,
deviceViewType1D<real> mass,
deviceViewType1D<real> diameter,
deviceViewType1D<real> diameter,
deviceViewType1D<real> I,
deviceViewType1D<uint32> propertyId,
pFlagTypeDevice incld,
@ -41,14 +41,14 @@ void addMassDiamInertiaProp(
);
void acceleration(
realx3 g,
deviceViewType1D<real> mass,
deviceViewType1D<realx3> force,
deviceViewType1D<real> I,
deviceViewType1D<realx3> torque,
pFlagTypeDevice incld,
deviceViewType1D<realx3> lAcc,
deviceViewType1D<realx3> rAcc
const realx3& g,
const deviceViewType1D<real>& mass,
const deviceViewType1D<realx3>& force,
const deviceViewType1D<real>& I,
const deviceViewType1D<realx3>& torque,
const pFlagTypeDevice& incld,
deviceViewType1D<realx3> lAcc,
deviceViewType1D<realx3> rAcc
);