MercuryDPM  Trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Bug List
Member AxisymmetricIntersectionOfWalls::writeVTK (VTKContainer &vtk) const override
once the quaternions are implemented, we can orient these walls properly
Member BaseInteraction::BaseInteraction (BaseInteractable *P, BaseInteractable *I, unsigned timeStamp)
Why is the species set to zero here and not the correct mixed type.
Member ChuteWithHopper::ChuteWithHopper (const Chute &other)

This copy construct is untested

This copy construct is untested

Member Domain::processReceivedInteractionData (unsigned index, std::vector< BaseParticle * > &newParticles)
There is a subtle and very rare bug in here, where two particles with an interaction across a periodic boundary pass into the next domain at the same time step. In this case, the interactions should be copied over before the ghost-particles are constructed. However, since the interaction is with the ghost particle, this cannot be done. That is why there is a 'continue' if one of the particles of the interaction is not found. An illustration of this situation is given in PeriodicBoundaryEnteringMpiDomainMPI2Test.
Parameters
[in]localIndexThe boundary index of the boundary list currently being treated
[in,out]interactionHandlerHandler containing all interactions on the current domain
Class DPMBase
When restarting the first time step is not saved, therefore there is a missing time step after a restart
Member DPMBase::computeOneTimeStep ()
{In chute particles are added in actions_before_time_set(), however they are not written to the xballs data yet, but can have a collision and be written to the fstat data}
Member DPMBase::getInteractionFile () const
The InteractionFile does not work across multifiles.
Member DPMBase::hGridInsertParticle (BaseParticle *obj UNUSED)
Why are the hGRID actions public, this seems wrong. Someone please comment [Ant].
Member File::open ()
Deepak checked by using fstream_.fail() instead of !fstrea_.is_open(), however this breaks selftests, Thomas will look at this
Member HGrid::insertParticleToHgrid (BaseParticle *obj)
What happens if the particle is too big for the biggest cell? It just says that it needs to rebuild the HGrid, but the particle is not inserted and there seems to be no indication to the rest of the code that it has not been inserted. For now giving a warning, since code of users may rely on it that nothing happens.
Member HopperInsertionBoundary::placeParticle (BaseParticle *p, RNG &random) override
for periodic walls this should be only minus one particle radius, this should be fixed at some point. Thomas' response: using one particle radius gives problems when the wall is not orthogonal to the y-direction; the distance has to be slightly higher than one; if you can figure out the exact value, then correct it please.
Member HorizontalBaseScrew::writeVTK (VTKContainer &vtk) const override
once the quaternions are implemented, we can orient these walls properly
Member Mercury2D::hGridFindContactsWithinTargetCell (int x, int y, unsigned int l)

TW: This check is not necessary, I believe. This is the most-expensive function in most codes (the two checks in this function slows down granular jet by 15%) and the selftests are not affected.

DK: I do think this is necessary, for example: If two cells hash to the same bucket and a particle in one of these cells check for collisions with the other cell. Then due to the hashing collision it also gets all particles in it's own cell and thus generating false collisions.

Member Mercury3D::hGridFindContactsWithinTargetCell (int x, int y, int z, unsigned int l)

TW: This check is not necessary, I believe. This is the most-expensive function in most codes (the two checks in this function slows down granular jet by 15%) and the selftests are not affected.

DK: I do think this is necessary, for example: If two cells hash to the same bucket and a particle in one of these cells check for collisions with the other cell. Then due to the hashing collision it also gets all particles in it's own cell and thus generating false collisions.

Member Mercury3D::hGridGetInteractingParticleList (BaseParticle *obj, std::vector< BaseParticle * > &list) override
find out why this is necessary; if this is not there, the code sometimes segfaults.
Member PeriodicBoundaryHandler::updateMaserParticle (BaseParticle *particle)
This only works if all insertions happen on the root if there is a maser present, as the ID is increased locally
Member Quaternion::isUnity () const
use isEqual instead of ==
Member ScrewsymmetricIntersectionOfWalls::writeVTK (VTKContainer &vtk) const override
once the quaternions are implemented, we can orient these walls properly
Member SlidingFrictionInteraction::setSlidingSpring (Vec3D slidingSpring)
may need to remove the consts