23 this->varSmoothingLength()->setValue(
Real(0.012));
26 auto integrator = std::make_shared<ParticleIntegrator<TDataType>>();
27 this->inTimeStep()->connect(integrator->inTimeStep());
28 this->inPosition()->connect(integrator->inPosition());
29 this->inVelocity()->connect(integrator->inVelocity());
33 auto nbrQuery =std::make_shared<NeighborPointQuery<TDataType>>();
34 this->varSmoothingLength()->connect(nbrQuery->inRadius());
35 this->inPosition()->connect(nbrQuery->inPosition());
39 auto nbrQueryTri = std::make_shared<NeighborTriangleQuery<TDataType>>();
40 this->varSmoothingLength()->connect(nbrQueryTri->inRadius());
41 this->inPosition()->connect(nbrQueryTri->inPosition());
42 this->inTriangleSet()->connect(nbrQueryTri->inTriangleSet());
46 auto meshCollision = std::make_shared<TriangularMeshConstraint<TDataType>>();
47 this->inTimeStep()->connect(meshCollision->inTimeStep());
48 this->inPosition()->connect(meshCollision->inPosition());
49 this->inVelocity()->connect(meshCollision->inVelocity());
52 this->inTriangleSet()->connect(meshCollision->inTriangleSet());
53 nbrQueryTri->outNeighborIds()->connect(meshCollision->inTriangleNeighborIds());
57 auto viscosity = std::make_shared<ImplicitViscosity<TDataType>>();
58 viscosity->varViscosity()->setValue(
Real(0.5));
59 this->inTimeStep()->connect(viscosity->inTimeStep());
60 this->varSmoothingLength()->connect(viscosity->inSmoothingLength());
61 this->inPosition()->connect(viscosity->inPosition());
62 this->inVelocity()->connect(viscosity->inVelocity());
63 nbrQuery->outNeighborIds()->connect(viscosity->inNeighborIds());
67 auto pshiftModule = std::make_shared<SemiAnalyticalParticleShifting<TDataType>>();
68 this->inTimeStep()->connect(pshiftModule->inTimeStep());
69 this->inPosition()->connect(pshiftModule->inPosition());
70 this->inVelocity()->connect(pshiftModule->inVelocity());
71 nbrQuery->outNeighborIds()->connect(pshiftModule->inNeighborIds());
72 this->inTriangleSet()->connect(pshiftModule->inTriangleSet());
73 nbrQueryTri->outNeighborIds()->connect(pshiftModule->inNeighborTriIds());
74 this->varSurfaceTension()->connect(pshiftModule->varSurfaceTension());
75 this->varAdhesionIntensity()->connect(pshiftModule->varAdhesionIntensity());
76 this->varRestDensity()->connect(pshiftModule->varRestDensity());