|
ESyS-Particle
2.3
|
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 | 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 | 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 | 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 &) |
Protected Attributes | |
| ParticleArray * | m_ppa |
| map< string, AParallelInteractionStorage * > | m_dpis |
| map< string, AParallelInteractionStorage * > | m_bpis |
| dynamic interactions More... | |
| NameIGroupMap | m_singleParticleInteractions |
| map< string, AParallelInteractionStorage * > | m_damping |
| Body/gravitational force interactions. More... | |
| map< string, AWallInteractionGroup< T > * > | m_WIG |
| map< string, CWall * > | m_walls |
| map< string, TriMesh * > | m_mesh |
| map< string, Mesh2D * > | m_mesh2d |
| double | m_dt |
| double | m_nrange |
| double | m_alpha |
| int | m_last_ns |
| map< int, vector< int > > | m_temp_conn |
| int | m_rank |
| rank in m_comm More... | |
| MPI_Comm | m_comm |
| TML_Comm | m_tml_comm |
| MPI_Comm | m_worker_comm |
| MPI communicator between workers (excl. master) More... | |
| TML_Comm | m_tml_worker_comm |
| TML version of the communicator between workers (excl. master) More... | |
| esys::lsm::CLatticeParam::ProcessDims | m_dims |
| double | packtime |
| double | unpacktime |
| double | commtime |
| double | forcetime |
| map< int, AFieldSlave * > | m_field_slaves |
| MpiWTimers * | m_pTimers |
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 BasicCon::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 BasicCon::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 BasicCon::XDebug().

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

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

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

|
virtual |
Add a 2D mesh. Receive all data from master
Implements ASubLattice.
References console, Mesh2D::LoadMesh(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::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 BasicCon::XDebug().

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

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

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

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

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

|
virtual |
Add a per-triangle scalar field saver. Data received from master.
Implements ASubLattice.
References console, BasicCon::Critical(), BasicCon::Debug(), Triangle::getScalarFieldFunction(), NULL, and BasicCon::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 BasicCon::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 BasicCon::XDebug().

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

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

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

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

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

|
virtual |
add vector per-particle field to saver list
Implements ASubLattice.
References console, BasicCon::Debug(), and BasicCon::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, BasicCon::Critical(), BasicCon::Debug(), Edge2D::getVectorFieldFunction(), Triangle::getVectorFieldFunction(), NULL, and BasicCon::XDebug().

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

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

|
protected |
References console, esys::lsm::bpu::iter(), and BasicCon::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, BasicCon::Debug(), esys::lsm::bpu::iter(), CMPISGBufferLeaf::send(), and BasicCon::XDebug().

|
virtual |
Send number of owned particles to the master
Implements ASubLattice.
References CMPIVarSGBufferLeaf::append(), console, BasicCon::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, BasicCon::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, CRotThermFrictionIGP::dt, CHertzianViscoElasticFrictionIGP::dt, CRotFrictionIGP::dt, FractalFrictionIGP::dx, FractalFrictionIGP::dy, CAdhesiveFrictionIGP::k, FractalFrictionIGP::k, CFrictionIGP::k, CRotThermFrictionIGP::k, CRotFrictionIGP::k, CAdhesiveFrictionIGP::k_s, FractalFrictionIGP::k_s, CFrictionIGP::k_s, CRotThermFrictionIGP::k_s, CHertzianViscoElasticFrictionIGP::k_s, CRotFrictionIGP::k_s, CHertzianViscoElasticIGP::m_A, CHertzianViscoElasticFrictionIGP::m_A, VWFrictionIGP::m_alpha, CLinearDashpotIGP::m_cutoff, CLinearDashpotIGP::m_damp, CHertzianElasticIGP::m_E, CHertzianViscoElasticIGP::m_E, CHertzianViscoElasticFrictionIGP::m_E, CElasticIGP::m_k, CRotElasticIGP::m_kr, CRotThermElasticIGP::m_kr, CHertzianElasticIGP::m_nu, CHertzianViscoElasticIGP::m_nu, CHertzianViscoElasticFrictionIGP::m_nu, CElasticIGP::m_scaling, CFrictionIGP::m_scaling, CRotFrictionIGP::meanR_scaling, CAdhesiveFrictionIGP::mu, FractalFrictionIGP::mu, CFrictionIGP::mu, CHertzianViscoElasticFrictionIGP::mu, FractalFrictionIGP::mu_0, CRotThermFrictionIGP::mu_d, CRotFrictionIGP::mu_d, CRotThermFrictionIGP::mu_s, CRotFrictionIGP::mu_s, NULL, FractalFrictionIGP::nx, FractalFrictionIGP::ny, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CAdhesiveFrictionIGP::r_cut, CRotFrictionIGP::scaling, FractalFrictionIGP::x0, BasicCon::XDebug(), and FractalFrictionIGP::y0.
Referenced by TRotSubLattice< T >::doAddPIG().


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

|
virtual |
Implements ASubLattice.
References console, BasicCon::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().

|
inlinevirtual |
Implements ASubLattice.
References ParallelParticleArray< T >::getCommDims().

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

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

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

|
virtual |
Implements ASubLattice.
|
virtual |
Implements ASubLattice.
References console, BasicCon::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 |
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 BasicCon::XDebug().

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

|
virtual |
get position of a wall
Implements ASubLattice.
References console, esys::lsm::bpu::iter(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::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(), BasicCon::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, BasicCon::Critical(), BasicCon::Info(), Vec3::X(), BasicCon::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 BasicCon::XDebug().

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

|
virtual |
Reimplemented from ASubLattice.
References Mesh2D::loadCheckPoint(), CWall::loadCheckPoint(), TriMesh::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, BasicCon::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, BasicCon::Debug(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), AMPIBuffer::pop_vector(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().

|
virtual |
Implements ASubLattice.
|
virtual |
Move tagged trimesh nodes by a given amount. Parameters (name,tag,displacement) are received from master.
Implements ASubLattice.
References console, BasicCon::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, BasicCon::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 BasicCon::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.
References cout.
|
virtual |
|
virtual |
Implements ASubLattice.
References console, and BasicCon::Debug().

|
virtual |
rebuild interactions
Implements ASubLattice.
References console, BasicCon::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 BasicCon::XDebug().

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

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

| void TSubLattice< T >::resetDisplacements | ( | ) |
Reset the displacement of all particles & meshes
References console, BasicCon::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(), and ParallelParticleArray< T >::ParticleIterator::getNumRemaining().

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

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

|
virtual |
send field data to master
Implements ASubLattice.
References console, BasicCon::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, BasicCon::Error(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().

|
virtual |
Set the density of a tagged group of particles. Parameters are received from master.
Implements ASubLattice.
References console, BasicCon::Debug(), CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::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, BasicCon::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, BasicCon::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, BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().

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

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

|
inlinevirtual |
Implements ASubLattice.
|
inline |
|
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 BasicCon::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 BasicCon::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 BasicCon::XDebug().

|
virtual |
Tag particle closest to given position. Params received from master.
Implements ASubLattice.
References console, cout, BasicCon::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, BasicCon::Debug(), and esys::lsm::bpu::iter().

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

|
protected |
Reset the HeatSources on all particles and walls to 0
References console, and BasicCon::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 |
|
protected |
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
|
protected |
|
protected |
Referenced by TSubLattice< T >::TSubLattice().
|
protected |
|
protected |
|
protected |
rank in m_comm
Referenced by TSubLattice< T >::TSubLattice().
|
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().