|
ESyS-Particle
2.3.4
|
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 () |
Public Member Functions inherited from TSubLattice< T > | |
| 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 | 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 () |
Public Member Functions inherited from esys::lsm::CheckPointable | |
| CheckPointable () | |
| virtual | ~CheckPointable () |
Protected Member Functions | |
| virtual bool | doAddPIG (const string &, const string &, CVarMPIBuffer &, bool tagged=false) |
| virtual bool | doAddDamping (const string &, CVarMPIBuffer &) |
Protected Member Functions inherited from TSubLattice< T > | |
| void | calcForces () |
| void | zeroForces () |
| void | integrate (double) |
| void | integrateTherm (double dt) |
| void | zeroHeat () |
| void | thermExpansion () |
| void | calcHeatFrict () |
| void | calcHeatTrans () |
Additional Inherited Members | |
Public Types inherited from ASubLattice | |
| typedef std::pair< int, int > | ParticleIdPair |
| typedef std::vector< ParticleIdPair > | ParticleIdPairVector |
| typedef std::vector< int > | IdVector |
Protected Types inherited from TSubLattice< T > | |
| typedef ParallelParticleArray< T > | ParticleArray |
| typedef map< string, AInteractionGroup< T > * > | NameIGroupMap |
| persistent interactions More... | |
Protected Attributes inherited from TSubLattice< T > | |
| 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, ASphereBodyInteractionGroup< T > * > | m_SIG |
| map< string, CWall * > | m_walls |
| map< string, CSphereBody * > | m_spheres |
| 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 |
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 console, CRotBondedIGP::kb, CRotBondedIGP::kr, CRotBondedIGP::ks, CRotBondedIGP::kt, CRotBondedIGP::max_bMoment, CRotBondedIGP::max_nForce, CRotBondedIGP::max_shForce, CRotBondedIGP::max_tMoment, CRotBondedIGP::meanR_scaling, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), CRotBondedIGP::scaling, CRotBondedIGP::tag, CRotBondedIGP::truncated, ParallelInteractionStorage_E< P, I >::tryInsert(), and Console::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 console, CRotThermBondedIGP::diffusivity, CRotThermBondedIGP::kb, CRotThermBondedIGP::kr, CRotThermBondedIGP::ks, CRotThermBondedIGP::kt, CRotThermBondedIGP::max_bMoment, CRotThermBondedIGP::max_nForce, CRotThermBondedIGP::max_shForce, CRotThermBondedIGP::max_tMoment, CVarMPIBuffer::pop_double(), CVarMPIBuffer::pop_int(), CVarMPIBuffer::pop_string(), CVarMPIBuffer::receiveBroadcast(), CRotThermBondedIGP::tag, ParallelInteractionStorage_E< P, I >::tryInsert(), and Console::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 console, Console::Debug(), TSubLattice< T >::doAddDamping(), extractDampingIGP(), extractLocalDampingIGP(), NULL, and ParallelInteractionStorage_Single< P, I >::update().

|
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 |
Reimplemented from TSubLattice< T >.
References TSubLattice< T >::doAddPIG().

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