|
ESyS-Particle
2.3.4
|
Class for a Sublattice. More...
#include <SubLattice.h>


Public Member Functions | |
| TSubLattice (const esys::lsm::CLatticeParam &prm, int rank, MPI_Comm comm, MPI_Comm worker_comm) | |
| virtual | ~TSubLattice () |
| virtual void | setTimeStepSize (double dt) |
| virtual vector< int > | getCommCoords () const |
| virtual vector< int > | getCommDims () const |
| virtual void | receiveParticles () |
| virtual void | receiveConnections () |
| virtual const MPI_Comm & | getWorkerComm () const |
| virtual void | initNeighborTable (const Vec3 &, const Vec3 &) |
| virtual void | initNeighborTable (const Vec3 &, const Vec3 &, const vector< bool > &) |
| virtual void | addWall () |
| virtual void | addElasticWIG () |
| virtual void | addBondedWIG () |
| virtual void | addDirBondedWIG () |
| virtual void | addViscWIG () |
| virtual void | addTaggedElasticWIG () |
| virtual void | addTriMesh () |
| virtual void | addTriMeshIG () |
| virtual void | addBondedTriMeshIG () |
| virtual void | addMesh2D () |
| virtual void | addMesh2DIG () |
| virtual void | addBondedMesh2DIG () |
| virtual void | addPairIG () |
| virtual void | addTaggedPairIG () |
| virtual void | addSingleIG () |
| virtual void | addBondedIG () |
| virtual void | addCappedBondedIG () |
| virtual void | addShortBondedIG () |
| virtual void | addRotBondedIG () |
| virtual void | addRotThermBondedIG () |
| virtual void | addDamping () |
| virtual void | setExIG () |
| virtual void | removeIG () |
| virtual void | getWallPos () |
| virtual void | getWallForce () |
| virtual void | addSphereBody () |
| virtual void | addESphereBodyIG () |
| virtual void | getSphereBodyPos () |
| virtual void | getSphereBodyForce () |
| virtual void | oneStep () |
| virtual void | oneStepTherm () |
| virtual void | exchangePos () |
| void | setTimeStep (double dt) |
| virtual void | rebuildParticleArray () |
| virtual void | rebuildInteractions () |
| virtual void | searchNeighbors () |
| virtual void | updateInteractions () |
| virtual void | checkNeighbors () |
| void | resetDisplacements () |
| virtual void | do2dCalculations (bool do2d) |
| virtual int | getNumParticles () |
| std::pair< double, int > | findParticleNearestTo (const Vec3 &pt) |
| std::pair< int, Vec3 > | getParticlePosn (int particleId) |
| AParallelInteractionStorage * | findPis (const std::string &groupName) |
| template<typename TmplPis > | |
| ParticleIdPairVector | getBondGroupIdPairs (TmplPis *pBondPis) |
| virtual void | moveParticleTo () |
| virtual void | moveTaggedParticlesBy () |
| virtual void | moveSingleParticleTo (int particleId, const Vec3 &posn) |
| virtual void | moveWallBy () |
| virtual void | moveSphereBodyBy () |
| virtual void | setWallNormal () |
| virtual void | applyForceToWall () |
| virtual void | setParticleVelocity () |
| virtual void | setVelocityOfWall () |
| virtual void | setParticleNonDynamic () |
| virtual void | setParticleNonRot () |
| virtual void | setParticleNonTrans () |
| virtual void | setParticleDensity () |
| virtual void | setTaggedParticleVel () |
| virtual void | tagParticleNearestTo () |
| virtual void | moveSingleNode () |
| virtual void | moveTaggedNodes () |
| virtual void | translateMeshBy (const std::string &meshName, const Vec3 &translation) |
| virtual void | sendDataToMaster () |
| virtual void | countParticles () |
| virtual void | printStruct () |
| virtual void | printData () |
| virtual void | printTimes () |
| virtual void | addScalarParticleField () |
| virtual void | addVectorParticleField () |
| virtual void | addScalarInteractionField () |
| virtual void | addScalarHistoryInteractionField () |
| virtual void | addVectorInteractionField () |
| virtual void | addScalarTriangleField () |
| virtual void | addVectorTriangleField () |
| virtual void | sendFieldData () |
| virtual void | addVectorWallField () |
| virtual void | saveSnapShotData (std::ostream &oStream) |
| virtual void | saveCheckPointData (std::ostream &oStream) |
| virtual void | loadCheckPointData (std::istream &iStream) |
| virtual void | setTimer (MpiWTimers &timers) |
| virtual void | getMeshNodeRef () |
| virtual void | getMeshFaceRef () |
| virtual void | getMesh2DStress () |
| virtual void | getTriMeshForce () |
| virtual void | getParticleData (const IdVector &particleIdVector) |
Public Member Functions inherited from ASubLattice | |
| virtual | ~ASubLattice () |
| void | setNTSize (int) |
| virtual void | setParticleType (const std::string &particleType) |
| virtual const std::string & | getParticleType () const |
| virtual void | initComplex () |
| virtual void | setParticleAngularVelocity () |
Public Member Functions inherited from esys::lsm::CheckPointable | |
| CheckPointable () | |
| virtual | ~CheckPointable () |
Protected Types | |
| typedef ParallelParticleArray< T > | ParticleArray |
| typedef map< string, AInteractionGroup< T > * > | NameIGroupMap |
| persistent interactions More... | |
Protected Member Functions | |
| void | calcForces () |
| void | zeroForces () |
| void | integrate (double) |
| void | integrateTherm (double dt) |
| void | zeroHeat () |
| void | thermExpansion () |
| void | calcHeatFrict () |
| void | calcHeatTrans () |
| virtual bool | doAddPIG (const string &, const string &, CVarMPIBuffer &, bool tagged=false) |
| virtual bool | doAddDamping (const string &, CVarMPIBuffer &) |
Additional Inherited Members | |
Public Types inherited from ASubLattice | |
| typedef std::pair< int, int > | ParticleIdPair |
| typedef std::vector< ParticleIdPair > | ParticleIdPairVector |
| typedef std::vector< int > | IdVector |
Class for a Sublattice.
|
protected |
persistent interactions
|
protected |
| TSubLattice< T >::TSubLattice | ( | const esys::lsm::CLatticeParam & | prm, |
| int | rank, | ||
| MPI_Comm | comm, | ||
| MPI_Comm | worker_comm | ||
| ) |
construct SubLattice
| param | Lattice parameters |
| rank | the MPI rank |
| comm | the MPI communicator |
References esys::lsm::CLatticeParam::alpha(), TSubLattice< T >::commtime, TSubLattice< T >::forcetime, TSubLattice< T >::m_alpha, TSubLattice< T >::m_comm, TSubLattice< T >::m_dims, TSubLattice< T >::m_last_ns, TSubLattice< T >::m_nrange, TSubLattice< T >::m_rank, TSubLattice< T >::m_tml_comm, TSubLattice< T >::m_tml_worker_comm, TSubLattice< T >::m_worker_comm, esys::lsm::CLatticeParam::nrange(), TSubLattice< T >::packtime, esys::lsm::CLatticeParam::processDims(), TML_Comm::setComm(), and TSubLattice< T >::unpacktime.

|
virtual |
|
virtual |
Add bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Implements ASubLattice.
References console, CBondedIGP::k, CBondedIGP::m_scaling, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CBondedIGP::rbreak, CVarMPIBuffer::receiveBroadcast(), ParallelInteractionStorage_EB< P, I >::setUnbreakable(), CBondedIGP::tag, ParallelInteractionStorage_E< P, I >::tryInsert(), and Console::XDebug().

|
virtual |
add bonded interactions with 2d mesh get parameters from master
Implements ASubLattice.
References BMesh2DIP::brk, Mesh2D_PIS_EB< ParticleType, IType >::buildFromPPAByGap(), Mesh2D_PIS_EB< ParticleType, IType >::buildFromPPATagged(), console, BMesh2DIP::k, NULL, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Add a bonded TriMesh interaction group
Implements ASubLattice.
References BTriMeshIP::brk, TriMesh_PIS_EB< ParticleType, IType >::buildFromPPAByGap(), TriMesh_PIS_EB< ParticleType, IType >::buildFromPPATagged(), console, BTriMeshIP::k, NULL, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
add bonded wall interaction group. Parameters received from the master
Implements ASubLattice.
References console, Console::Error(), extractBWallIGP(), AIGParam::getName(), CEWallIGP::getWallName(), esys::lsm::bpu::iter(), CVarMPIBuffer::receiveBroadcast(), AInteractionGroup< T >::Update(), and Console::XDebug().

|
virtual |
Add bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Implements ASubLattice.
References console, CBondedIGP::k, CCappedBondedIGP::m_force_limit, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CBondedIGP::rbreak, CVarMPIBuffer::receiveBroadcast(), ParallelInteractionStorage_EB< P, I >::setUnbreakable(), CBondedIGP::tag, ParallelInteractionStorage_E< P, I >::tryInsert(), and Console::XDebug().

|
virtual |
Add a DampingGroup to the lattice. Receive the parameters from master.
Implements ASubLattice.
References console, CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
add bonded wall interaction group with direction dependend elasticity . Parameters received from the master
Implements ASubLattice.
References console, Console::Error(), extractSoftBWallIGP(), AIGParam::getName(), CEWallIGP::getWallName(), esys::lsm::bpu::iter(), CVarMPIBuffer::receiveBroadcast(), AInteractionGroup< T >::Update(), and Console::XDebug().

|
virtual |
add elastic wall interaction group. Parameters received from the master
Implements ASubLattice.
References console, extractEWallIGP(), AIGParam::getName(), CEWallIGP::getWallName(), esys::lsm::bpu::iter(), CVarMPIBuffer::receiveBroadcast(), AInteractionGroup< T >::Update(), and Console::XDebug().

|
virtual |
add elastic sphere body interaction group. Parameters received from the master
Implements ASubLattice.
References console, extractESphereBodyIGP(), AIGParam::getName(), CESphereBodyIGP::getSphereBodyName(), esys::lsm::bpu::iter(), CVarMPIBuffer::receiveBroadcast(), AInteractionGroup< T >::Update(), and Console::XDebug().

|
virtual |
Add a 2D mesh. Receive all data from master
Implements ASubLattice.
References console, Mesh2D::LoadMesh(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Add a (non-bonded) LineMesh (2D) interaction group
Implements ASubLattice.
References console, ETriMeshIP::k, NULL, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Add a PairInteractionGroup to the lattice
Implements ASubLattice.
References console, CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Implements ASubLattice.
Reimplemented in TRotSubLattice< T >.
References console, and Console::Error().

|
virtual |
Implements ASubLattice.
Reimplemented in TRotSubLattice< T >.
References console, and Console::Error().

|
virtual |
add scalar per-interaction "history" field to saver list
Implements ASubLattice.
References console, NULL, and Console::XDebug().

|
virtual |
add scalar per-interaction field to saver list
Implements ASubLattice.
References console, and Console::XDebug().

|
virtual |
add scalar per-particle field to saver list
Implements ASubLattice.
References console, and Console::XDebug().

|
virtual |
Add a per-triangle scalar field saver. Data received from master.
Implements ASubLattice.
References console, Console::Critical(), Console::Debug(), Triangle::getScalarFieldFunction(), NULL, and Console::XDebug().

|
virtual |
Add short bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Implements ASubLattice.
References console, CBondedIGP::k, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CBondedIGP::rbreak, CVarMPIBuffer::receiveBroadcast(), CBondedIGP::tag, ParallelInteractionStorage_E< P, I >::tryInsert(), and Console::XDebug().

|
virtual |
Add a SingleInteractionGroup to the lattice
Implements ASubLattice.
References console, esys::lsm::BodyForceIGP::extract(), esys::lsm::BuoyancyIGP::extract(), AIGParam::Name(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Add sphere body to the sublattice. Parameters received from the master
Implements ASubLattice.
References console, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
add tagged elastic wall interaction group. Parameters received from the master
Implements ASubLattice.
References console, extractEWallIGP(), AIGParam::getName(), CEWallIGP::getWallName(), esys::lsm::bpu::iter(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), AInteractionGroup< T >::Update(), and Console::XDebug().

|
virtual |
Add a tagged PairInteractionGroup to the lattice
Implements ASubLattice.
References console, CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Add a Triangle Mesh
Implements ASubLattice.
References console, TriMesh::LoadMesh(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Add a TriMesh interaction group
Implements ASubLattice.
References console, ETriMeshIP::k, NULL, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
add per-interaction vector field to saver list
Implements ASubLattice.
References console, Console::Debug(), Console::Error(), NULL, and Console::XDebug().

|
virtual |
add vector per-particle field to saver list
Implements ASubLattice.
References console, Console::Debug(), and Console::XDebug().

|
virtual |
Add a per-triangle (in case of a TriMesh) of per-edge (in case of a Mesh2D) vector field saver. Data received from master.
Implements ASubLattice.
References console, Console::Critical(), Console::Debug(), Edge2D::getVectorFieldFunction(), Triangle::getVectorFieldFunction(), NULL, and Console::XDebug().

|
virtual |
Add vector wall field. Data received from master.
Implements ASubLattice.
References AWallFieldSlave::addWall(), console, Console::Error(), esys::lsm::bpu::iter(), NULL, and Console::XDebug().

|
virtual |
add wall with viscous drag
Implements ASubLattice.
References console, Console::Error(), extractVWallIGP(), AIGParam::getName(), CEWallIGP::getWallName(), esys::lsm::bpu::iter(), CVarMPIBuffer::receiveBroadcast(), AInteractionGroup< T >::Update(), and Console::XDebug().

|
virtual |
Add wall to the sublattice. Parameters received from the master
Implements ASubLattice.
References console, CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Apply given force to a wall. Parameters are received from master.
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
protected |
Calculate the forces for all interactions contained in the sublattice. Interactions contained in more than one sublattice are calculated in each of them. Slightly more computation, but less communication, i.e. saves one syncronisation point (exchange of forces).
References console, esys::lsm::bpu::iter(), and Console::XDebug().

|
protected |
Calculate the Heat Sources for all interactions contained in the sublattice. Interactions contained in more than one sublattice are calculated in each of them. Slightly more computation, but less communication, i.e. saves one syncronisation point (exchange of forces).
References console, esys::lsm::bpu::iter(), and Console::XDebug().

|
protected |
References console, esys::lsm::bpu::iter(), and Console::XDebug().

|
virtual |
check if any of the owned particles has moved futher than the search range for the neighbor table 5 Flops(1 dotproduct)/particle looked at
Implements ASubLattice.
References CMPISGBufferLeaf::append(), console, Console::Debug(), esys::lsm::bpu::iter(), CMPISGBufferLeaf::send(), and Console::XDebug().

|
virtual |
Send number of owned particles to the master
Implements ASubLattice.
References CMPIVarSGBufferLeaf::append(), console, Console::Debug(), and CMPIVarSGBufferLeaf::send().

|
virtual |
Implements ASubLattice.
|
protectedvirtual |
Do the work for adding the damping
| type | the type of damping |
| param_buffer | the buffer containing the parameters |
Reimplemented in TRotSubLattice< T >.
References console, Console::Error(), extractABCDampingIGP(), extractDampingIGP(), extractLocalDampingIGP(), and AIGParam::getName().
Referenced by TRotSubLattice< T >::doAddDamping().


|
protectedvirtual |
do the actual work adding the PIG
| name | the name of the PIG |
| type | the type of the PIG |
| param_buffer | the buffer containing the rest of the parameters |
Reimplemented in TRotSubLattice< T >.
References console, CRotThermElasticIGP::diffusivity, CRotThermFrictionIGP::diffusivity, CAdhesiveFrictionIGP::dt, FractalFrictionIGP::dt, CFrictionIGP::dt, CHertzianViscoElasticFrictionIGP::dt, CHertzMindlinIGP::dt, CHertzMindlinViscoIGP::dt, CRotFrictionIGP::dt, CRotThermFrictionIGP::dt, FractalFrictionIGP::dx, FractalFrictionIGP::dy, CAdhesiveFrictionIGP::k, FractalFrictionIGP::k, CFrictionIGP::k, CRotFrictionIGP::k, CRotThermFrictionIGP::k, CAdhesiveFrictionIGP::k_s, FractalFrictionIGP::k_s, CFrictionIGP::k_s, CHertzianViscoElasticFrictionIGP::k_s, CRotFrictionIGP::k_s, CRotThermFrictionIGP::k_s, CHertzianViscoElasticFrictionIGP::m_A, CHertzianViscoElasticIGP::m_A, VWFrictionIGP::m_alpha, CHertzMindlinViscoIGP::m_COR, CLinearDashpotIGP::m_cutoff, CLinearDashpotIGP::m_damp, CHertzianElasticIGP::m_E, CHertzianViscoElasticFrictionIGP::m_E, CHertzianViscoElasticIGP::m_E, CHertzMindlinIGP::m_E, CHertzMindlinViscoIGP::m_E, CElasticIGP::m_k, CRotElasticIGP::m_kr, CRotThermElasticIGP::m_kr, CHertzianElasticIGP::m_nu, CHertzianViscoElasticFrictionIGP::m_nu, CHertzianViscoElasticIGP::m_nu, CHertzMindlinIGP::m_nu, CHertzMindlinViscoIGP::m_nu, CElasticIGP::m_scaling, CFrictionIGP::m_scaling, CRotFrictionIGP::meanR_scaling, CAdhesiveFrictionIGP::mu, FractalFrictionIGP::mu, CFrictionIGP::mu, CHertzianViscoElasticFrictionIGP::mu, CHertzMindlinIGP::mu, CHertzMindlinViscoIGP::mu, FractalFrictionIGP::mu_0, CRotFrictionIGP::mu_d, CRotThermFrictionIGP::mu_d, CRotFrictionIGP::mu_s, CRotThermFrictionIGP::mu_s, NULL, FractalFrictionIGP::nx, FractalFrictionIGP::ny, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CAdhesiveFrictionIGP::r_cut, CRotFrictionIGP::scaling, FractalFrictionIGP::x0, Console::XDebug(), and FractalFrictionIGP::y0.
Referenced by TRotSubLattice< T >::doAddPIG().


|
virtual |
Exchange positions of shared particles with the other sublattices.
Implements ASubLattice.
References console, and Console::XDebug().

|
virtual |
Implements ASubLattice.
References console, Console::Debug(), ParallelParticleArray< T >::ParticleIterator::hasNext(), ParallelParticleArray< T >::ParticleIterator::next(), and NULL.

| AParallelInteractionStorage* TSubLattice< T >::findPis | ( | const std::string & | groupName | ) |
| ParticleIdPairVector TSubLattice< T >::getBondGroupIdPairs | ( | TmplPis * | pBondPis | ) |
|
inlinevirtual |
Implements ASubLattice.
References ParallelParticleArray< T >::getCommCoords(), and TSubLattice< T >::m_ppa.

|
inlinevirtual |
Implements ASubLattice.
References ParallelParticleArray< T >::getCommDims(), and TSubLattice< T >::m_ppa.

|
virtual |
send back stress on faces of given mesh, get mesh name from master
Implements ASubLattice.
References console, Console::Critical(), Edge2D::getForceDensity(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
send back face (edge in 2D, triangle in 3d) ids of given mesh, get mesh name from master
Implements ASubLattice.
References console, Console::Critical(), esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
send back node ids of given mesh, get mesh name from master
Implements ASubLattice.
References console, Console::Critical(), esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Implements ASubLattice.
|
virtual |
Implements ASubLattice.
References console, Console::Debug(), ParallelParticleArray< T >::ParticleIterator::hasNext(), and ParallelParticleArray< T >::ParticleIterator::next().

|
virtual |
Implements ASubLattice.
References ParallelParticleArray< T >::ParticleIterator::hasNext(), ParallelParticleArray< T >::ParticleIterator::next(), NULL, and Vec3::ZERO.

|
virtual |
get force acting on a sphere body
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
get position of a sphere body
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
send back stress on faces of given mesh, get mesh name from master
Implements ASubLattice.
References console, Triangle::getForce(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
get force acting on a wall
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
get position of a wall
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
inlinevirtual |
Implements ASubLattice.
References TSubLattice< T >::m_worker_comm.
|
virtual |
Initialize particle storage. The dimensions are global.
| min | minimum corner |
| max | maximum corner |
Implements ASubLattice.
References console, Vec3::X(), Console::XDebug(), Vec3::Y(), and Vec3::Z().

|
virtual |
Initialize particle storage with some circular boundaries. The dimensions are global.
| min | minimum corner |
| max | maximum corner |
Implements ASubLattice.
References console, Console::Critical(), Console::Info(), Vec3::X(), Console::XDebug(), Vec3::Y(), and Vec3::Z().

|
protected |
Do the time integration for the particles owned by the SubLattice by 1st order method
| dt | the time step |
References console, and Console::XDebug().

|
protected |
Do the time integration for the particles owned by the SubLattice for temprature
| dt | the time step |
References console, and Console::XDebug().

|
virtual |
Reimplemented from ASubLattice.
References Mesh2D::loadCheckPoint(), CSphereBody::loadCheckPoint(), TriMesh::loadCheckPoint(), CWall::loadCheckPoint(), and CMPIBarrier::wait().

|
virtual |
Move all particles with a given tag to a given position. Parameters (tag,posn) are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), AMPIBuffer::pop_vector(), and CVarMPIBuffer::receiveBroadcast().

|
virtual |
Move mesh (tri or 2d) node by a given amount. Parameters (name,id,displacement) are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Implements ASubLattice.
|
virtual |
Move sphere body by a given vector. Parameters are received from master.
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Move tagged trimesh nodes by a given amount. Parameters (name,tag,displacement) are received from master.
Implements ASubLattice.
References console, Console::Error(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), and CVarMPIBuffer::receiveBroadcast().

|
virtual |
Move all particles with a given tag by a specified displacement. Parameters (tag,displacement) are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), AMPIBuffer::pop_vector(), and CVarMPIBuffer::receiveBroadcast().

|
virtual |
Move wall by a given vector. Parameters are received from master.
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Do one step, i.e. calculate forces, velocities, positions
Implements ASubLattice.
|
virtual |
Do one step, i.e. calculate forces, velocities, positions
|
virtual |
Implements ASubLattice.
|
virtual |
|
virtual |
Implements ASubLattice.
References console, and Console::Debug().

|
virtual |
rebuild interactions
Implements ASubLattice.
References console, Console::Debug(), esys::lsm::bpu::iter(), and CMPIBarrier::wait().

|
virtual |
rebuild particle array
Implements ASubLattice.
|
virtual |
Receive connections from a TML Communicator
| comm | the Communicator |
Implements ASubLattice.
References console, NULL, CMPIBarrier::wait(), and Console::XDebug().

|
virtual |
Receive particle from a TML Communicator
| comm | the Communicator |
Implements ASubLattice.
References console, CMPIBarrier::wait(), and Console::XDebug().

|
virtual |
Remove interaction group. The name of the group is received from the master.
Implements ASubLattice.
References console, Console::Error(), esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

| void TSubLattice< T >::resetDisplacements |
Reset the displacement of all particles & meshes
References console, Console::Debug(), and esys::lsm::bpu::iter().

|
virtual |
save checkpoint data, i.e. for restarting
Implements esys::lsm::CheckPointable.
References esys::lsm::bpu::iter().

|
virtual |
save snapshot data, i.e. for viz/postprocessing
Reimplemented from esys::lsm::CheckPointable.
References ParallelParticleArray< T >::getInnerParticleIterator(), ParallelParticleArray< T >::ParticleIterator::getNumRemaining(), ParallelParticleArray< T >::ParticleIterator::hasNext(), and ParallelParticleArray< T >::ParticleIterator::next().

|
virtual |
Search neighbors - rebuild particle array and interactions
Implements ASubLattice.
References console, Console::Debug(), and CMPIBarrier::wait().

|
virtual |
Send data of owned particles to the master
References console, and Console::Debug().

|
virtual |
send field data to master
Implements ASubLattice.
References console, Console::Debug(), and NULL.

|
virtual |
Set excluding IG. The names of 2 interaction groups are received from the master. The 1st is set to be excluding the 2nd. If one of the named IGs does not exist, the operation is ignored and a warning emitted.
Implements ASubLattice.
References console, Console::Error(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Set the density of a tagged group of particles. Parameters are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Make tagged particles non-dynamic i.e. don't update velocity (rot+lin). Parameters (tag) are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().

|
virtual |
Make tagged particles non-rotational, i.e. don't update rotational velocity & position Parameters (tag) are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().

|
virtual |
Make tagged particles lieanr non-dynamic, i.e. don't update linear velocity Parameters (tag) are received from master.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().

|
virtual |
Set the velocity of a particle. Parameters are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Set the velocity of a tagged group of particles. Parameters are received from master.
Implements ASubLattice.
References console, Console::Debug(), CVarMPIBuffer::pop_int(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
inlinevirtual |
Implements ASubLattice.
References TSubLattice< T >::m_pTimers.
|
inline |
References TSubLattice< T >::m_dt.
|
virtual |
Calculate the forces for all interactions contained in the sublattice. Interactions contained in more than one sublattice are calculated in each of them. Slightly more computation, but less communication, i.e. saves one syncronisation point (exchange of forces).
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), and Console::XDebug().

|
virtual |
Set the velocity of a wall. Only for visc. walls, i.e. m_vel is set, but position is not affected. Parameters are received from master.
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Change wall orientation by a given vector. Parameters are received from master.
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and Console::XDebug().

|
virtual |
Tag particle closest to given position. Params received from master.
Implements ASubLattice.
References console, Console::Debug(), NULL, CVarMPIBuffer::pop_int(), AMPIBuffer::pop_vector(), and CVarMPIBuffer::receiveBroadcast().

|
protected |
|
virtual |
translate mesh by given amount
| meshName | the name of the mesh to be moved |
| translation | the translation vector |
Implements ASubLattice.
|
virtual |
Update the interaction groups from an existing Neighbortable
Implements ASubLattice.
References console, Console::Debug(), and esys::lsm::bpu::iter().

|
protected |
Reset the forces on all particles and walls to 0
References console, esys::lsm::bpu::iter(), and Console::XDebug().

|
protected |
Reset the HeatSources on all particles and walls to 0
References console, and Console::XDebug().

|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
dynamic interactions
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
Body/gravitational force interactions.
|
protected |
Process partitioning, non-zero entries are taken literally, zero entries are computed via MPI_Dims_create.
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
|
protected |
Referenced by TSubLattice< T >::setTimeStep().
|
protected |
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
|
protected |
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
Referenced by TSubLattice< T >::getCommCoords(), and TSubLattice< T >::getCommDims().
|
protected |
Referenced by TSubLattice< T >::setTimer().
|
protected |
rank in m_comm
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
TML version of the communicator between workers (excl. master)
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
|
protected |
|
protected |
MPI communicator between workers (excl. master)
Referenced by TSubLattice< T >::getWorkerComm(), and TSubLattice< T >::TSubLattice().
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
Referenced by TSubLattice< T >::TSubLattice().