ESyS-Particle
4.0.1
|
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 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 | 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) |
Protected Types | |
typedef ParallelParticleArray< T > | ParticleArray |
typedef map< string, AInteractionGroup< T > * > | NameIGroupMap |
persistent interactions | |
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 | |
NameIGroupMap | m_singleParticleInteractions |
map< string, AParallelInteractionStorage * > | m_damping |
Body/gravitational force interactions. | |
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 | |
MPI_Comm | m_comm |
TML_Comm | m_tml_comm |
MPI_Comm | m_worker_comm |
MPI communicator between workers (excl. master) | |
TML_Comm | m_tml_worker_comm |
TML version of the communicator between workers (excl. master) | |
esys::lsm::CLatticeParam::ProcessDims | m_dims |
double | packtime |
double | unpacktime |
double | commtime |
double | forcetime |
map< int, AFieldSlave * > | m_field_slaves |
MpiWTimers * | m_pTimers |
Class for a Sublattice.
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 TSubLattice< T >::m_dims, TSubLattice< T >::m_rank, TSubLattice< T >::m_tml_worker_comm, TSubLattice< T >::m_worker_comm, and TML_Comm::setComm().
void TSubLattice< T >::addBondedIG | ( | ) | [virtual] |
Add bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Implements ASubLattice.
References CBondedIGP::k, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CBondedIGP::rbreak, CVarMPIBuffer::receiveBroadcast(), ParallelInteractionStorage_EB< P, I >::setUnbreakable(), and BasicCon::XDebug().
void TSubLattice< T >::addBondedMesh2DIG | ( | ) | [virtual] |
add bonded interactions with 2d mesh get parameters from master
Implements ASubLattice.
References Mesh2D_PIS_EB< ParticleType, IType >::buildFromPPAByGap(), CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addBondedTriMeshIG | ( | ) | [virtual] |
Add a bonded TriMesh interaction group
Implements ASubLattice.
References CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addBondedWIG | ( | ) | [virtual] |
add bonded wall interaction group. Parameters received from the master
Implements ASubLattice.
References BasicCon::Error(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addCappedBondedIG | ( | ) | [virtual] |
Add bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Implements ASubLattice.
References CBondedIGP::k, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CBondedIGP::rbreak, CVarMPIBuffer::receiveBroadcast(), ParallelInteractionStorage_EB< P, I >::setUnbreakable(), and BasicCon::XDebug().
void TSubLattice< T >::addDamping | ( | ) | [virtual] |
Add a DampingGroup to the lattice. Receive the parameters from master.
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addDirBondedWIG | ( | ) | [virtual] |
add bonded wall interaction group with direction dependend elasticity . Parameters received from the master
Implements ASubLattice.
References BasicCon::Error(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addElasticWIG | ( | ) | [virtual] |
add elastic wall interaction group. Parameters received from the master
Implements ASubLattice.
References CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addMesh2D | ( | ) | [virtual] |
Add a 2D mesh. Receive all data from master
Implements ASubLattice.
References Mesh2D::LoadMesh(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addMesh2DIG | ( | ) | [virtual] |
Add a (non-bonded) LineMesh (2D) interaction group
Implements ASubLattice.
References CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addPairIG | ( | ) | [virtual] |
Add a PairInteractionGroup to the lattice
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addScalarInteractionField | ( | ) | [virtual] |
add scalar per-interaction field to saver list
Implements ASubLattice.
References BasicCon::XDebug().
void TSubLattice< T >::addScalarParticleField | ( | ) | [virtual] |
add scalar per-particle field to saver list
Implements ASubLattice.
References BasicCon::XDebug().
void TSubLattice< T >::addScalarTriangleField | ( | ) | [virtual] |
Add a per-triangle scalar field saver. Data received from master.
Implements ASubLattice.
References BasicCon::Critical(), BasicCon::Debug(), Triangle::getScalarFieldFunction(), and BasicCon::XDebug().
void TSubLattice< T >::addShortBondedIG | ( | ) | [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 CBondedIGP::k, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CBondedIGP::rbreak, CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addSingleIG | ( | ) | [virtual] |
Add a SingleInteractionGroup to the lattice
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addTaggedPairIG | ( | ) | [virtual] |
Add a tagged PairInteractionGroup to the lattice
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addTriMesh | ( | ) | [virtual] |
Add a Triangle Mesh
Implements ASubLattice.
References TriMesh::LoadMesh(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addTriMeshIG | ( | ) | [virtual] |
Add a TriMesh interaction group
Implements ASubLattice.
References CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addVectorInteractionField | ( | ) | [virtual] |
add per-interaction vector field to saver list
Implements ASubLattice.
References BasicCon::Debug(), BasicCon::Error(), and BasicCon::XDebug().
void TSubLattice< T >::addVectorParticleField | ( | ) | [virtual] |
add vector per-particle field to saver list
Implements ASubLattice.
References BasicCon::Debug(), and BasicCon::XDebug().
void TSubLattice< T >::addVectorTriangleField | ( | ) | [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 BasicCon::Critical(), BasicCon::Debug(), Edge2D::getVectorFieldFunction(), Triangle::getVectorFieldFunction(), and BasicCon::XDebug().
void TSubLattice< T >::addVectorWallField | ( | ) | [virtual] |
Add vector wall field. Data received from master.
Implements ASubLattice.
References AWallFieldSlave::addWall(), BasicCon::Error(), and BasicCon::XDebug().
void TSubLattice< T >::addViscWIG | ( | ) | [virtual] |
add wall with viscous drag
Implements ASubLattice.
References BasicCon::Error(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::addWall | ( | ) | [virtual] |
Add wall to the sublattice. Parameters received from the master
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::applyForceToWall | ( | ) | [virtual] |
Apply given force to a wall. Parameters are received from master.
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::calcForces | ( | ) | [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 BasicCon::XDebug().
void TSubLattice< T >::calcHeatFrict | ( | ) | [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 BasicCon::XDebug().
void TSubLattice< T >::checkNeighbors | ( | ) | [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(), BasicCon::Debug(), CMPISGBufferLeaf::send(), and BasicCon::XDebug().
void TSubLattice< T >::countParticles | ( | ) | [virtual] |
Send number of owned particles to the master
Implements ASubLattice.
References CMPIVarSGBufferLeaf::append(), BasicCon::Debug(), and CMPIVarSGBufferLeaf::send().
bool TSubLattice< T >::doAddDamping | ( | const string & | type, |
CVarMPIBuffer & | param_buffer | ||
) | [protected, virtual] |
Do the work for adding the damping
type | the type of damping |
param_buffer | the buffer containing the parameters |
Reimplemented in TRotSubLattice< T >.
References BasicCon::Error().
Referenced by TRotSubLattice< T >::doAddDamping().
bool TSubLattice< T >::doAddPIG | ( | const string & | name, |
const string & | type, | ||
CVarMPIBuffer & | param_buffer, | ||
bool | tagged = false |
||
) | [protected, virtual] |
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 |
References FractalFrictionIGP::dy, FractalFrictionIGP::mu, FractalFrictionIGP::ny, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), and BasicCon::XDebug().
Referenced by TRotSubLattice< T >::doAddPIG().
void TSubLattice< T >::exchangePos | ( | ) | [virtual] |
Exchange positions of shared particles with the other sublattices.
Implements ASubLattice.
References BasicCon::XDebug().
void TSubLattice< T >::getMesh2DStress | ( | ) | [virtual] |
send back stress on faces of given mesh, get mesh name from master
Implements ASubLattice.
References BasicCon::Critical(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::getMeshFaceRef | ( | ) | [virtual] |
send back face (edge in 2D, triangle in 3d) ids of given mesh, get mesh name from master
Implements ASubLattice.
References BasicCon::Critical(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::getMeshNodeRef | ( | ) | [virtual] |
send back node ids of given mesh, get mesh name from master
Implements ASubLattice.
References BasicCon::Critical(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::getParticleData | ( | const IdVector & | particleIdVector | ) | [virtual] |
Implements ASubLattice.
References BasicCon::Debug().
std::pair< int, Vec3 > TSubLattice< T >::getParticlePosn | ( | int | particleId | ) | [virtual] |
Implements ASubLattice.
void TSubLattice< T >::getTriMeshForce | ( | ) | [virtual] |
send back stress on faces of given mesh, get mesh name from master
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::getWallForce | ( | ) | [virtual] |
get force acting on a wall
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::getWallPos | ( | ) | [virtual] |
get position of a wall
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::initNeighborTable | ( | const Vec3 & | min, |
const Vec3 & | max | ||
) | [virtual] |
Initialize particle storage. The dimensions are global.
min | minimum corner |
max | maximum corner |
Implements ASubLattice.
References BasicCon::XDebug().
void TSubLattice< T >::initNeighborTable | ( | const Vec3 & | min, |
const Vec3 & | max, | ||
const vector< bool > & | circ | ||
) | [virtual] |
Initialize particle storage with some circular boundaries. The dimensions are global.
min | minimum corner |
max | maximum corner |
Implements ASubLattice.
References BasicCon::Critical(), BasicCon::Info(), and BasicCon::XDebug().
void TSubLattice< T >::integrate | ( | double | dt | ) | [protected] |
Do the time integration for the particles owned by the SubLattice by 1st order method
dt | the time step |
References BasicCon::XDebug().
void TSubLattice< T >::integrateTherm | ( | double | dt | ) | [protected] |
Do the time integration for the particles owned by the SubLattice for temprature
dt | the time step |
References BasicCon::XDebug().
void TSubLattice< T >::moveParticleTo | ( | ) | [virtual] |
Move all particles with a given tag to a given position. Parameters (tag,posn) are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::moveSingleNode | ( | ) | [virtual] |
Move mesh (tri or 2d) node by a given amount. Parameters (name,id,displacement) are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::moveTaggedNodes | ( | ) | [virtual] |
Move tagged trimesh nodes by a given amount. Parameters (name,tag,displacement) are received from master.
Implements ASubLattice.
References BasicCon::Error(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::moveTaggedParticlesBy | ( | ) | [virtual] |
Move all particles with a given tag by a specified displacement. Parameters (tag,displacement) are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::moveWallBy | ( | ) | [virtual] |
Move wall by a given vector. Parameters are received from master.
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::oneStep | ( | ) | [virtual] |
Do one step, i.e. calculate forces, velocities, positions
Implements ASubLattice.
void TSubLattice< T >::oneStepTherm | ( | ) | [virtual] |
Do one step, i.e. calculate forces, velocities, positions
void TSubLattice< T >::printStruct | ( | ) | [virtual] |
Print structural information
Implements ASubLattice.
void TSubLattice< T >::rebuildInteractions | ( | ) | [virtual] |
rebuild interactions
Implements ASubLattice.
References BasicCon::Debug(), and CMPIBarrier::wait().
void TSubLattice< T >::rebuildParticleArray | ( | ) | [virtual] |
rebuild particle array
Implements ASubLattice.
void TSubLattice< T >::receiveConnections | ( | ) | [virtual] |
Receive connections from a TML Communicator
comm | the Communicator |
Implements ASubLattice.
References CMPIBarrier::wait(), and BasicCon::XDebug().
void TSubLattice< T >::receiveParticles | ( | ) | [virtual] |
Receive particle from a TML Communicator
comm | the Communicator |
Implements ASubLattice.
References CMPIBarrier::wait(), and BasicCon::XDebug().
void TSubLattice< T >::removeIG | ( | ) | [virtual] |
Remove interaction group. The name of the group is received from the master.
Implements ASubLattice.
References BasicCon::Error(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::resetDisplacements | ( | ) |
Reset the displacement of all particles & meshes
References BasicCon::Debug().
void TSubLattice< T >::saveCheckPointData | ( | std::ostream & | oStream | ) | [virtual] |
save checkpoint data, i.e. for restarting
Implements esys::lsm::CheckPointable.
void TSubLattice< T >::saveSnapShotData | ( | std::ostream & | oStream | ) | [virtual] |
save snapshot data, i.e. for viz/postprocessing
Reimplemented from esys::lsm::CheckPointable.
void TSubLattice< T >::searchNeighbors | ( | ) | [virtual] |
Search neighbors - rebuild particle array and interactions
Implements ASubLattice.
References BasicCon::Debug(), and CMPIBarrier::wait().
void TSubLattice< T >::sendDataToMaster | ( | ) | [virtual] |
Send data of owned particles to the master
References BasicCon::Debug().
void TSubLattice< T >::sendFieldData | ( | ) | [virtual] |
send field data to master
Implements ASubLattice.
References BasicCon::Debug().
void TSubLattice< T >::setExIG | ( | ) | [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 BasicCon::Error(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::setParticleDensity | ( | ) | [virtual] |
Set the density of a tagged group of particles. Parameters are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::setParticleNonDynamic | ( | ) | [virtual] |
Make tagged particles non-dynamic i.e. don't update velocity (rot+lin). Parameters (tag) are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::setParticleNonRot | ( | ) | [virtual] |
Make tagged particles non-rotational, i.e. don't update rotational velocity & position Parameters (tag) are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::setParticleNonTrans | ( | ) | [virtual] |
Make tagged particles lieanr non-dynamic, i.e. don't update linear velocity Parameters (tag) are received from master.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::setParticleVelocity | ( | ) | [virtual] |
Set the velocity of a particle. Parameters are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::setTaggedParticleVel | ( | ) | [virtual] |
Set the velocity of a tagged group of particles. Parameters are received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::setTimeStepSize | ( | double | 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 BasicCon::XDebug().
void TSubLattice< T >::setVelocityOfWall | ( | ) | [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 CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::setWallNormal | ( | ) | [virtual] |
Change wall orientation by a given vector. Parameters are received from master.
Implements ASubLattice.
References CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
void TSubLattice< T >::tagParticleNearestTo | ( | ) | [virtual] |
Tag particle closest to given position. Params received from master.
Implements ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), and CVarMPIBuffer::receiveBroadcast().
void TSubLattice< T >::translateMeshBy | ( | const std::string & | meshName, |
const Vec3 & | translation | ||
) | [virtual] |
translate mesh by given amount
meshName | the name of the mesh to be moved |
translation | the translation vector |
Implements ASubLattice.
void TSubLattice< T >::updateInteractions | ( | ) | [virtual] |
Update the interaction groups from an existing Neighbortable
Implements ASubLattice.
References BasicCon::Debug().
void TSubLattice< T >::zeroForces | ( | ) | [protected] |
Reset the forces on all particles and walls to 0
References BasicCon::XDebug().
void TSubLattice< T >::zeroHeat | ( | ) | [protected] |
Reset the HeatSources on all particles and walls to 0
References BasicCon::XDebug().
esys::lsm::CLatticeParam::ProcessDims TSubLattice< T >::m_dims [protected] |
Process partitioning, non-zero entries are taken literally, zero entries are computed via MPI_Dims_create.
Referenced by TSubLattice< T >::TSubLattice().