diff --git a/python/mesa_pd/templates/kernel/InsertParticleIntoLinkedCells.templ.h b/python/mesa_pd/templates/kernel/InsertParticleIntoLinkedCells.templ.h index 96bcd932df6bdcc44b2ae034f104f6ab59c2f7a1..9cf3952cd27e4e7346928be9187d64060d653d8b 100644 --- a/python/mesa_pd/templates/kernel/InsertParticleIntoLinkedCells.templ.h +++ b/python/mesa_pd/templates/kernel/InsertParticleIntoLinkedCells.templ.h @@ -77,7 +77,9 @@ inline void InsertParticleIntoLinkedCells::operator()(const size_t p_idx, Access ac.setNextParticle(p_idx, lc.infiniteParticles_.exchange(int_c(p_idx))); } else { + WALBERLA_ASSERT_GREATER(ac.getInteractionRadius(p_idx), 0_r, "Did you forget to set the interaction radius?"); {%- for dim in range(3) %} + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash{{dim}} = static_cast<int>(std::floor((ac.getPosition(p_idx)[{{dim}}] - minCorner[{{dim}}]) * lc.invCellDiameter_[{{dim}}])); {%- endfor %} {%- for dim in range(3) %} diff --git a/python/mesa_pd/templates/kernel/InsertParticleIntoSparseLinkedCells.templ.h b/python/mesa_pd/templates/kernel/InsertParticleIntoSparseLinkedCells.templ.h index ff10b7b6d3de00bca08b0a99ae90d996885d0284..3edaf2bb019e578f035f2927c6fe90f6e8fca08a 100644 --- a/python/mesa_pd/templates/kernel/InsertParticleIntoSparseLinkedCells.templ.h +++ b/python/mesa_pd/templates/kernel/InsertParticleIntoSparseLinkedCells.templ.h @@ -77,7 +77,9 @@ inline void InsertParticleIntoSparseLinkedCells::operator()(const size_t p_idx, ac.setNextParticle(p_idx, lc.infiniteParticles_.exchange(int_c(p_idx))); } else { + WALBERLA_ASSERT_GREATER(ac.getInteractionRadius(p_idx), 0_r, "Did you forget to set the interaction radius?"); {%- for dim in range(3) %} + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash{{dim}} = static_cast<int>(std::floor((ac.getPosition(p_idx)[{{dim}}] - minCorner[{{dim}}]) * lc.invCellDiameter_[{{dim}}])); {%- endfor %} {%- for dim in range(3) %} diff --git a/python/mesa_pd/templates/mpi/SyncGhostOwners.templ.cpp b/python/mesa_pd/templates/mpi/SyncGhostOwners.templ.cpp index 7336ec1e8699c5a738062d5e0689e8d13556c17e..d1b5865b86c5bf65eda79861ec05d55ee02f5e5f 100644 --- a/python/mesa_pd/templates/mpi/SyncGhostOwners.templ.cpp +++ b/python/mesa_pd/templates/mpi/SyncGhostOwners.templ.cpp @@ -72,6 +72,7 @@ void SyncGhostOwners::updateAndMigrate( data::ParticleStorage& ps, std::set<walberla::mpi::MPIRank> recvRanks; // potential message senders for( auto pIt = ps.begin(); pIt != ps.end(); ++pIt) { + WALBERLA_ASSERT_GREATER(pIt->getInteractionRadius(), 0_r, "Did you forget to set the interaction radius?"); if (isSet( pIt->getFlags(), GHOST)) { if (!isSet( pIt->getFlags(), NON_COMMUNICATING) || syncNonCommunicatingBodies) diff --git a/python/mesa_pd/templates/mpi/SyncNextNeighbors.templ.cpp b/python/mesa_pd/templates/mpi/SyncNextNeighbors.templ.cpp index 3dd7ca3c40988c74193df432df99dcb43498fbc7..bd1d1b284ed45e1dd71dd8c54422841898d0f382 100644 --- a/python/mesa_pd/templates/mpi/SyncNextNeighbors.templ.cpp +++ b/python/mesa_pd/templates/mpi/SyncNextNeighbors.templ.cpp @@ -87,6 +87,8 @@ void SyncNextNeighbors::generateSynchronizationMessages(walberla::mpi::BufferSys // position update for( auto pIt = ps.begin(); pIt != ps.end(); ) { + WALBERLA_ASSERT_GREATER(pIt->getInteractionRadius(), 0_r, "Did you forget to set the interaction radius?"); + //skip all ghost particles if (data::particle_flags::isSet( pIt->getFlags(), data::particle_flags::GHOST)) { diff --git a/src/mesa_pd/common/AABBConversion.h b/src/mesa_pd/common/AABBConversion.h index 33896f25f731c381b866adbde962f51bf490682d..c105d1ed2b336b91c671e203bba786601b613ffd 100644 --- a/src/mesa_pd/common/AABBConversion.h +++ b/src/mesa_pd/common/AABBConversion.h @@ -32,6 +32,7 @@ namespace mesa_pd { math::AABB getAABBFromInteractionRadius(const Vector3<real_t> & pos, const real_t interactionRadius ) { + WALBERLA_ASSERT_GREATER(interactionRadius, 0_r, "Did you forget to set the interaction radius?"); return math::AABB( pos[0]-interactionRadius, pos[1]-interactionRadius, pos[2]-interactionRadius, pos[0]+interactionRadius, pos[1]+interactionRadius, pos[2]+interactionRadius ); } diff --git a/src/mesa_pd/kernel/InsertParticleIntoLinkedCells.h b/src/mesa_pd/kernel/InsertParticleIntoLinkedCells.h index a2cbd5c578c89d9da0937d2f86b617b4818d5013..088e0577ff09e3899d5af11e4ca99fb3dcbb5fcf 100644 --- a/src/mesa_pd/kernel/InsertParticleIntoLinkedCells.h +++ b/src/mesa_pd/kernel/InsertParticleIntoLinkedCells.h @@ -72,8 +72,12 @@ inline void InsertParticleIntoLinkedCells::operator()(const size_t p_idx, Access ac.setNextParticle(p_idx, lc.infiniteParticles_.exchange(int_c(p_idx))); } else { + WALBERLA_ASSERT_GREATER(ac.getInteractionRadius(p_idx), 0_r, "Did you forget to set the interaction radius?"); + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash0 = static_cast<int>(std::floor((ac.getPosition(p_idx)[0] - minCorner[0]) * lc.invCellDiameter_[0])); + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash1 = static_cast<int>(std::floor((ac.getPosition(p_idx)[1] - minCorner[1]) * lc.invCellDiameter_[1])); + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash2 = static_cast<int>(std::floor((ac.getPosition(p_idx)[2] - minCorner[2]) * lc.invCellDiameter_[2])); if (hash0 < 0) hash0 = 0; if (hash0 >= lc.numCellsPerDim_[0]) hash0 = lc.numCellsPerDim_[0] - 1; diff --git a/src/mesa_pd/kernel/InsertParticleIntoSparseLinkedCells.h b/src/mesa_pd/kernel/InsertParticleIntoSparseLinkedCells.h index 6975337c415013d365f7a90b6fe3d060f2a8cf48..44af0f3b6e93f7ac81636010ac04956671392790 100644 --- a/src/mesa_pd/kernel/InsertParticleIntoSparseLinkedCells.h +++ b/src/mesa_pd/kernel/InsertParticleIntoSparseLinkedCells.h @@ -72,8 +72,12 @@ inline void InsertParticleIntoSparseLinkedCells::operator()(const size_t p_idx, ac.setNextParticle(p_idx, lc.infiniteParticles_.exchange(int_c(p_idx))); } else { + WALBERLA_ASSERT_GREATER(ac.getInteractionRadius(p_idx), 0_r, "Did you forget to set the interaction radius?"); + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash0 = static_cast<int>(std::floor((ac.getPosition(p_idx)[0] - minCorner[0]) * lc.invCellDiameter_[0])); + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash1 = static_cast<int>(std::floor((ac.getPosition(p_idx)[1] - minCorner[1]) * lc.invCellDiameter_[1])); + WALBERLA_ASSERT_LESS(2_r * ac.getInteractionRadius(p_idx), lc.cellDiameter_[0], "Interaction radius is to large for this cell size. Contacts might get lost."); int hash2 = static_cast<int>(std::floor((ac.getPosition(p_idx)[2] - minCorner[2]) * lc.invCellDiameter_[2])); if (hash0 < 0) hash0 = 0; if (hash0 >= lc.numCellsPerDim_[0]) hash0 = lc.numCellsPerDim_[0] - 1; diff --git a/src/mesa_pd/mpi/SyncGhostOwners.cpp b/src/mesa_pd/mpi/SyncGhostOwners.cpp index e9eceaf88138b404d93d466283d45f0c7f4d9910..7bec109a44fad5322dff9d0021c8230e2c4f2901 100644 --- a/src/mesa_pd/mpi/SyncGhostOwners.cpp +++ b/src/mesa_pd/mpi/SyncGhostOwners.cpp @@ -72,6 +72,7 @@ void SyncGhostOwners::updateAndMigrate( data::ParticleStorage& ps, std::set<walberla::mpi::MPIRank> recvRanks; // potential message senders for( auto pIt = ps.begin(); pIt != ps.end(); ++pIt) { + WALBERLA_ASSERT_GREATER(pIt->getInteractionRadius(), 0_r, "Did you forget to set the interaction radius?"); if (isSet( pIt->getFlags(), GHOST)) { if (!isSet( pIt->getFlags(), NON_COMMUNICATING) || syncNonCommunicatingBodies) diff --git a/src/mesa_pd/mpi/SyncNextNeighbors.cpp b/src/mesa_pd/mpi/SyncNextNeighbors.cpp index 44f3946e792828e8729dd2967427f07227b79bda..3f9e5a2db9104be08571256c99562dc03d851aa6 100644 --- a/src/mesa_pd/mpi/SyncNextNeighbors.cpp +++ b/src/mesa_pd/mpi/SyncNextNeighbors.cpp @@ -87,6 +87,8 @@ void SyncNextNeighbors::generateSynchronizationMessages(walberla::mpi::BufferSys // position update for( auto pIt = ps.begin(); pIt != ps.end(); ) { + WALBERLA_ASSERT_GREATER(pIt->getInteractionRadius(), 0_r, "Did you forget to set the interaction radius?"); + //skip all ghost particles if (data::particle_flags::isSet( pIt->getFlags(), data::particle_flags::GHOST)) { diff --git a/src/mesa_pd/mpi/SyncNextNeighborsBlockForest.cpp b/src/mesa_pd/mpi/SyncNextNeighborsBlockForest.cpp index f4adbf79fae95e17734d7184115f8a2eab988023..a8528aa1a43e400ab426010858ea586e208c4164 100644 --- a/src/mesa_pd/mpi/SyncNextNeighborsBlockForest.cpp +++ b/src/mesa_pd/mpi/SyncNextNeighborsBlockForest.cpp @@ -111,6 +111,8 @@ void SyncNextNeighborsBlockForest::generateSynchronizationMessages(walberla::mpi // position update for( auto pIt = ps.begin(); pIt != ps.end(); ) { + WALBERLA_ASSERT_GREATER(pIt->getInteractionRadius(), 0_r, "Did you forget to set the interaction radius?"); + //skip all ghost particles if (data::particle_flags::isSet( pIt->getFlags(), data::particle_flags::GHOST)) { diff --git a/tests/lbm_mesapd_coupling/mapping/ParticleMapping.cpp b/tests/lbm_mesapd_coupling/mapping/ParticleMapping.cpp index ea60887f3121a7feb4a89bec8cb961d13ed35e00..b2ecf7107f455b229cde21f9f6c22742c10aec00 100644 --- a/tests/lbm_mesapd_coupling/mapping/ParticleMapping.cpp +++ b/tests/lbm_mesapd_coupling/mapping/ParticleMapping.cpp @@ -769,6 +769,7 @@ int main( int argc, char **argv ) { mesa_pd::data::Particle&& p = *ps->create(true); p.setPosition(halfSpacePosition); + p.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p.setOwner(mpi::MPIManager::instance()->rank()); p.setShapeID(halfSpaceShape); mesa_pd::data::particle_flags::set(p.getFlagsRef(), mesa_pd::data::particle_flags::INFINITE); diff --git a/tests/lbm_mesapd_coupling/momentum_exchange_method/SettlingSphere.cpp b/tests/lbm_mesapd_coupling/momentum_exchange_method/SettlingSphere.cpp index 2cc78a22f4511557e7e9f7743f1c36db8502f3c7..202601669557a91b5b8e2b2f26c8d0e36ffbccc3 100644 --- a/tests/lbm_mesapd_coupling/momentum_exchange_method/SettlingSphere.cpp +++ b/tests/lbm_mesapd_coupling/momentum_exchange_method/SettlingSphere.cpp @@ -281,6 +281,7 @@ void createPlaneSetup(const shared_ptr<mesa_pd::data::ParticleStorage> & ps, con // create bounding planes mesa_pd::data::Particle p0 = *ps->create(true); p0.setPosition(simulationDomain.minCorner()); + p0.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p0.setShapeID(ss->create<mesa_pd::data::HalfSpace>( Vector3<real_t>(0,0,1) )); p0.setOwner(mpi::MPIManager::instance()->rank()); p0.setType(0); @@ -289,6 +290,7 @@ void createPlaneSetup(const shared_ptr<mesa_pd::data::ParticleStorage> & ps, con mesa_pd::data::Particle p1 = *ps->create(true); p1.setPosition(simulationDomain.maxCorner()); + p1.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p1.setShapeID(ss->create<mesa_pd::data::HalfSpace>( Vector3<real_t>(0,0,-1) )); p1.setOwner(mpi::MPIManager::instance()->rank()); p1.setType(0); @@ -297,6 +299,7 @@ void createPlaneSetup(const shared_ptr<mesa_pd::data::ParticleStorage> & ps, con mesa_pd::data::Particle p2 = *ps->create(true); p2.setPosition(simulationDomain.minCorner()); + p2.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p2.setShapeID(ss->create<mesa_pd::data::HalfSpace>( Vector3<real_t>(1,0,0) )); p2.setOwner(mpi::MPIManager::instance()->rank()); p2.setType(0); @@ -305,6 +308,7 @@ void createPlaneSetup(const shared_ptr<mesa_pd::data::ParticleStorage> & ps, con mesa_pd::data::Particle p3 = *ps->create(true); p3.setPosition(simulationDomain.maxCorner()); + p3.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p3.setShapeID(ss->create<mesa_pd::data::HalfSpace>( Vector3<real_t>(-1,0,0) )); p3.setOwner(mpi::MPIManager::instance()->rank()); p3.setType(0); @@ -313,6 +317,7 @@ void createPlaneSetup(const shared_ptr<mesa_pd::data::ParticleStorage> & ps, con mesa_pd::data::Particle p4 = *ps->create(true); p4.setPosition(simulationDomain.minCorner()); + p4.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p4.setShapeID(ss->create<mesa_pd::data::HalfSpace>( Vector3<real_t>(0,1,0) )); p4.setOwner(mpi::MPIManager::instance()->rank()); p4.setType(0); @@ -321,6 +326,7 @@ void createPlaneSetup(const shared_ptr<mesa_pd::data::ParticleStorage> & ps, con mesa_pd::data::Particle p5 = *ps->create(true); p5.setPosition(simulationDomain.maxCorner()); + p5.setInteractionRadius(std::numeric_limits<real_t>::infinity()); p5.setShapeID(ss->create<mesa_pd::data::HalfSpace>( Vector3<real_t>(0,-1,0) )); p5.setOwner(mpi::MPIManager::instance()->rank()); p5.setType(0); diff --git a/tests/lbm_mesapd_coupling/utility/LubricationCorrection.cpp b/tests/lbm_mesapd_coupling/utility/LubricationCorrection.cpp index bef4e3e4644ca6efcbdbda122166d4f4b3f81c0c..b96ab7fb01ff40faedcb7ce4fb4ccd2b758067b2 100644 --- a/tests/lbm_mesapd_coupling/utility/LubricationCorrection.cpp +++ b/tests/lbm_mesapd_coupling/utility/LubricationCorrection.cpp @@ -147,24 +147,28 @@ int main( int argc, char **argv ) mesa_pd::data::Particle&& p1 = *ps->create(); p1.setPosition(position1); + p1.setInteractionRadius(sphereRadius); p1.setShapeID(sphereShape); p1.setLinearVelocity(Vector3<real_t>(relativeVelocity,-relativeVelocity,real_t(0.5)*relativeVelocity)); auto idxSph1 = p1.getIdx(); mesa_pd::data::Particle&& p2 = *ps->create(); p2.setPosition(position2); + p2.setInteractionRadius(sphereRadius); p2.setShapeID(sphereShape); p2.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(2),real_t(0))); auto idxSph2 = p2.getIdx(); mesa_pd::data::Particle&& p3 = *ps->create(); p3.setPosition(position3); + p3.setInteractionRadius(sphereRadius); p3.setShapeID(sphereShape); p3.setLinearVelocity(Vector3<real_t>(real_t(2),real_t(0),real_t(2))); auto idxSph3 = p3.getIdx(); mesa_pd::data::Particle&& p4 = *ps->create(); p4.setPosition(position4); + p4.setInteractionRadius(sphereRadius); p4.setShapeID(sphereShape); p4.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),real_t(-0.5)*relativeVelocity)); auto idxSph4 = p4.getIdx(); @@ -228,24 +232,28 @@ int main( int argc, char **argv ) mesa_pd::data::Particle&& p1 = *ps->create(); p1.setPosition(position1); + p1.setInteractionRadius(sphereRadius); p1.setShapeID(sphereShape); p1.setLinearVelocity(Vector3<real_t>(relativeVelocity,-relativeVelocity,real_t(0.5)*relativeVelocity)); auto idxSph1 = p1.getIdx(); mesa_pd::data::Particle&& p2 = *ps->create(); p2.setPosition(position2); + p2.setInteractionRadius(sphereRadius); p2.setShapeID(sphereShape); p2.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(2),real_t(0))); auto idxSph2 = p2.getIdx(); mesa_pd::data::Particle&& p3 = *ps->create(); p3.setPosition(position3); + p3.setInteractionRadius(sphereRadius); p3.setShapeID(sphereShape); p3.setLinearVelocity(Vector3<real_t>(real_t(2),real_t(0),real_t(2))); auto idxSph3 = p3.getIdx(); mesa_pd::data::Particle&& p4 = *ps->create(); p4.setPosition(position4); + p4.setInteractionRadius(sphereRadius); p4.setShapeID(sphereShape); p4.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),real_t(-0.5)*relativeVelocity)); auto idxSph4 = p4.getIdx(); @@ -328,6 +336,7 @@ int main( int argc, char **argv ) mesa_pd::data::Particle&& p1 = *ps->create(); p1.setPosition(position1); + p1.setInteractionRadius(sphereRadius); p1.setShapeID(sphereShape); p1.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),relativeVelocity)); auto idxSph1 = p1.getIdx(); @@ -335,29 +344,34 @@ int main( int argc, char **argv ) // mix up order to test Sph - HSp and HSp - Sph variants mesa_pd::data::Particle&& pW = *ps->create(true); pW.setPosition(wallPosition); + pW.setInteractionRadius(std::numeric_limits<real_t>::infinity()); pW.setShapeID(planeShape); auto idxWall = pW.getIdx(); mesa_pd::data::Particle&& p2 = *ps->create(); p2.setPosition(position2); + p2.setInteractionRadius(sphereRadius); p2.setShapeID(sphereShape); p2.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),-relativeVelocity)); auto idxSph2 = p2.getIdx(); mesa_pd::data::Particle&& p3 = *ps->create(); p3.setPosition(position3); + p3.setInteractionRadius(sphereRadius); p3.setShapeID(sphereShape); p3.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),relativeVelocity)); auto idxSph3 = p3.getIdx(); mesa_pd::data::Particle&& p4 = *ps->create(); p4.setPosition(position4); + p4.setInteractionRadius(sphereRadius); p4.setShapeID(sphereShape); p4.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),relativeVelocity)); auto idxSph4 = p4.getIdx(); mesa_pd::data::Particle&& p5 = *ps->create(); p5.setPosition(position5); + p5.setInteractionRadius(sphereRadius); p5.setShapeID(sphereShape); p5.setLinearVelocity(Vector3<real_t>(real_t(0),real_t(0),relativeVelocity)); auto idxSph5 = p5.getIdx(); diff --git a/tests/mesa_pd/ContactDetection.cpp b/tests/mesa_pd/ContactDetection.cpp index 41e62d75f7a486ed08a3099c24c35576181ec09c..56cb7fd811320abbb6854e646db694e6b3b22c32 100644 --- a/tests/mesa_pd/ContactDetection.cpp +++ b/tests/mesa_pd/ContactDetection.cpp @@ -80,7 +80,7 @@ int main( const int particlesPerAxis = 2, const real_t radius = real_t(0.9) ) math::seedRandomGenerator( static_cast<unsigned int>(1337 * walberla::mpi::MPIManager::instance()->worldRank()) ); - const real_t spacing(1.0); + const real_t spacing = 2.1_r * radius; WALBERLA_LOG_INFO_ON_ROOT("*** BLOCKFOREST ***"); const int centerParticles = particlesPerAxis * particlesPerAxis * particlesPerAxis; diff --git a/tests/mesa_pd/kernel/GenerateAnalyticContacts.cpp b/tests/mesa_pd/kernel/GenerateAnalyticContacts.cpp index 4762aed06e159d322033faace72d48c807fedc2d..fcd2b82c8ebaef80843686cada57d5d96a764a5a 100644 --- a/tests/mesa_pd/kernel/GenerateAnalyticContacts.cpp +++ b/tests/mesa_pd/kernel/GenerateAnalyticContacts.cpp @@ -79,7 +79,7 @@ int main( int argc, char ** argv ) auto ps = std::make_shared<data::ParticleStorage>(100); auto ss = std::make_shared<data::ShapeStorage>(); ParticleAccessorWithShape accessor(ps, ss); - data::LinkedCells lc(math::AABB(-1,-1,-1,4,4,4), real_t(1)); + data::LinkedCells lc(math::AABB(-1,-1,-1,4,4,4), real_t(1.3)); //initialize particles const real_t radius = real_t(0.6); diff --git a/tests/mesa_pd/kernel/GenerateLinkedCells.cpp b/tests/mesa_pd/kernel/GenerateLinkedCells.cpp index 3ee5183cfcce026112cb192929db1de10bfff5aa..2aaf342aeec27dc3b5699bfa3844e6c2a2bb2e2b 100644 --- a/tests/mesa_pd/kernel/GenerateLinkedCells.cpp +++ b/tests/mesa_pd/kernel/GenerateLinkedCells.cpp @@ -66,6 +66,7 @@ int main( int argc, char ** argv ) { data::Particle&& p = *storage->create(); p.getPositionRef() = (*it); + p.setInteractionRadius(0.1_r); p.setShapeID(smallSphere); } diff --git a/tests/mesa_pd/kernel/LinkedCellsVsBruteForce.cpp b/tests/mesa_pd/kernel/LinkedCellsVsBruteForce.cpp index c52e39327afae37a42460cdcb2510bd5f7195002..8743d6ac3bcf21b8a2d9cf82c6d3defed3405c01 100644 --- a/tests/mesa_pd/kernel/LinkedCellsVsBruteForce.cpp +++ b/tests/mesa_pd/kernel/LinkedCellsVsBruteForce.cpp @@ -100,7 +100,7 @@ int main( int argc, char ** argv ) //init data structures auto ps = std::make_shared<data::ParticleStorage>(100); auto ss = std::make_shared<data::ShapeStorage>(); - data::LinkedCells lc(blk.getAABB(), real_t(1)); + data::LinkedCells lc(blk.getAABB(), real_t(1.1)); std::vector<collision_detection::AnalyticContactDetection> cs1(100); std::vector<collision_detection::AnalyticContactDetection> cs2(100);