ESyS-Particle
4.0.1
|
class of a SubLattice of rotational particles More...
#include <RotSubLattice.h>
Public Member Functions | |
TRotSubLattice (const esys::lsm::CLatticeParam &prm, int rank, MPI_Comm comm, MPI_Comm worker_comm) | |
virtual | ~TRotSubLattice () |
virtual void | setParticleAngularVelocity () |
virtual void | addRotBondedIG () |
virtual void | addRotThermBondedIG () |
![]() | |
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 | 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) |
![]() | |
void | setNTSize (int) |
virtual void | setParticleType (const std::string &particleType) |
virtual const std::string & | getParticleType () const |
virtual void | initComplex () |
Protected Member Functions | |
virtual bool | doAddPIG (const string &, const string &, CVarMPIBuffer &) |
virtual bool | doAddDamping (const string &, CVarMPIBuffer &) |
![]() | |
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) |
Additional Inherited Members | |
![]() | |
typedef std::pair< int, int > | ParticleIdPair |
typedef std::vector < ParticleIdPair > | ParticleIdPairVector |
typedef std::vector< int > | IdVector |
![]() | |
typedef ParallelParticleArray< T > | ParticleArray |
typedef map< string, AInteractionGroup< T > * > | NameIGroupMap |
persistent interactions | |
![]() | |
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 of a SubLattice of rotational particles
TRotSubLattice< T >::TRotSubLattice | ( | const esys::lsm::CLatticeParam & | prm, |
int | rank, | ||
MPI_Comm | comm, | ||
MPI_Comm | worker_comm | ||
) |
Construct RotSubLattice. Calls constructor of base class.
param | Lattice parameters |
rank | the MPI rank |
comm | the MPI communicator |
|
virtual |
Destructor
|
virtual |
Add bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Reimplemented from TSubLattice< T >.
References CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
|
virtual |
Add thermal bonded interaction group to the lattice. Receive the parameters from master. The bonds are created from the neighbor table.
Reimplemented from TSubLattice< T >.
References CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().
|
protectedvirtual |
Do the work for adding the damping
type | the type of damping |
param_buffer | the buffer containing the parameters |
Reimplemented from TSubLattice< T >.
References BasicCon::Debug(), and TSubLattice< T >::doAddDamping().
|
protectedvirtual |
do the actual work adding the pair interaction group (PIG)
name | the name of the PIG |
type | the type of the PIG |
param_buffer | the buffer containing the rest of the parameters |
References TSubLattice< T >::doAddPIG().
|
virtual |
Set the angular velocity of a particle. Parameters are received from master.
Reimplemented from ASubLattice.
References BasicCon::Debug(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::receiveBroadcast(), and BasicCon::XDebug().