13 this->varNormalFriction()->attach(
14 std::make_shared<FCallBackFunc>(
19 this->varTangentialFriction()->attach(
20 std::make_shared<FCallBackFunc>(
22 mBoundaryConstraint->varTangentialFriction()->setValue(this->varTangentialFriction()->getValue());
25 this->varNormalFriction()->setValue(0.95f);
26 this->varTangentialFriction()->setValue(0.0f);
37 Real dt = this->stateTimeStep()->getValue();
39 auto volumes = this->getVolumes();
41 for (
size_t t = 0; t < volumes.size(); t++)
43 auto levelset = volumes[t]->stateLevelSet()->getDataPtr();
45 auto pSys = this->getParticleSystems();
47 for (
int i = 0; i < pSys.size(); i++)
49 auto posFd = pSys[i]->statePosition();
50 auto velFd = pSys[i]->stateVelocity();
52 if(!posFd->isEmpty() && !velFd->isEmpty())
56 auto triSys = this->getTriangularSystems();
57 for (
int i = 0; i < triSys.size(); i++)
59 auto posFd = triSys[i]->statePosition();
60 auto velFd = triSys[i]->stateVelocity();
62 if (!posFd->isEmpty() && !velFd->isEmpty())
66 auto tetSys = this->getTetrahedralSystems();
67 for (
int i = 0; i < tetSys.size(); i++)
69 auto posFd = tetSys[i]->statePosition();
70 auto velFd = tetSys[i]->stateVelocity();
72 if (!posFd->isEmpty() && !velFd->isEmpty())