|
#include "MpiDataClass.h"
#include "DPMBase.h"
#include "Particles/LiquidFilmParticle.h"
#include "Particles/SphericalParticle.h"
#include "Particles/SuperQuadricParticle.h"
#include "Logger.h"
Functions | |
void | copyDataFromMPIParticleToParticle (MPIParticle *bP, BaseParticle *p, ParticleHandler *particleHandler) |
Copies data from an MPIParticle class to a BaseParticle and sets the particleHandler and species. More... | |
MPIParticle | copyDataFromParticleToMPIParticle (BaseParticle *p) |
Copies data from a NonSphericalParticle to an MPIParticle class and returns this. More... | |
MPIParticlePosition | copyPositionFrom (BaseParticle *particle) |
Copies the position from a particle to an MPIParticlePosition class. More... | |
MPIParticleVelocity | copyVelocityFrom (BaseParticle *particle) |
Copies the velocity from a particle to an MPIParticleVelocity class. More... | |
Vec3D | getMPISum (Vec3D &val) |
double | getMPISum (double val) |
void copyDataFromMPIParticleToParticle | ( | MPIParticle * | bP, |
BaseParticle * | p, | ||
ParticleHandler * | particleHandler | ||
) |
Copies data from an MPIParticle class to a BaseParticle and sets the particleHandler and species.
Copies data from an MPIParticle class to a BaseParticle.
[in] | bP | Pointer to an MPIParticle which contains data for a ghost particle |
[in,out] | p | Pointer to BaseParticle, a ghost particle that will be added to the domain |
[in] | particleHandler | Pointer to the ParticleHandler required for creating a new particle |
References MPISphericalParticle::copyDataFromMPIParticleToParticle(), BaseHandler< T >::getDPMBase(), BaseParticle::getHandler(), BaseHandler< T >::getObject(), MPISphericalParticle::indSpecies, BaseParticle::setHandler(), BaseParticle::setSpecies(), and DPMBase::speciesHandler.
Referenced by ParticleHandler::addGhostObject(), ParticleHandler::addObject(), InsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), Domain::processReceivedBoundaryParticleData(), PeriodicBoundaryHandler::processReceivedGhostParticleData(), and DPMBase::synchroniseParticle().
MPIParticle copyDataFromParticleToMPIParticle | ( | BaseParticle * | p | ) |
Copies data from a NonSphericalParticle to an MPIParticle class and returns this.
Copies data from a BaseParticle to an MPIParticle class and returns this.
In order to create ghost particles on other processors, data of particles have to be transmitted to other processors. Only the required data is sent. The data is sent in an MPIParticle data class and this function copies the data from a particle into that class.
[in] | p | Pointer to a NonSphericalParticle particle from which data is copied |
References MPISphericalParticle::copyDataFromParticleToMPIParticle().
Referenced by RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), Domain::collectBoundaryParticleData(), and PeriodicBoundaryHandler::collectGhostParticleData().
MPIParticlePosition copyPositionFrom | ( | BaseParticle * | particle | ) |
Copies the position from a particle to an MPIParticlePosition class.
[in] | particle | BaseParticle which position is copied |
References BaseObject::getId(), BaseInteractable::getOrientation(), BaseInteractable::getPosition(), MPIParticlePosition::id, MPIParticlePosition::liquidVolume, MPIParticlePosition::orientation, and MPIParticlePosition::position.
Referenced by Domain::preparePositionAndVelocityUpdate(), and PeriodicBoundaryHandler::preparePositionAndVelocityUpdate().
MPIParticleVelocity copyVelocityFrom | ( | BaseParticle * | particle | ) |
Copies the velocity from a particle to an MPIParticleVelocity class.
[in] | particle | BaseParticle which velocity is copied |
References MPIParticleVelocity::angularVelocity, BaseInteractable::getAngularVelocity(), BaseInteractable::getVelocity(), and MPIParticleVelocity::velocity.
Referenced by Domain::preparePositionAndVelocityUpdate(), PeriodicBoundaryHandler::preparePositionAndVelocityUpdate(), and Domain::prepareVelocityUpdate().
Sums the values over all processors using MPI_reduce
References MPIContainer::Instance().
Sums the values over all processors using MPI_reduce
References MPIContainer::Instance(), Vec3D::X, Vec3D::Y, and Vec3D::Z.
Referenced by ParticleHandler::getAngularMomentum(), InteractionHandler::getLiquidBridgeVolume(), ParticleHandler::getLiquidFilmVolume(), ParticleHandler::getMomentum(), InteractionHandler::getNumberOfLiquidBridges(), and Membrane::saveVertexPositions().