Go to the documentation of this file.
13 #ifndef __SUBLATTICE_H
14 #define __SUBLATTICE_H
79 map<string,AParallelInteractionStorage*>
m_dpis;
80 map<string,AParallelInteractionStorage*>
m_bpis;
87 map<string,AWallInteractionGroup<T>*>
m_WIG;
88 map<string,ASphereBodyInteractionGroup<T>*>
m_SIG;
214 template <
typename TmplPis>
virtual bool doAddDamping(const string &, CVarMPIBuffer &)
Definition: SubLattice.hpp:1417
virtual void addDirBondedWIG()
Definition: SubLattice.hpp:561
virtual void tagParticleNearestTo()
Definition: SubLattice.hpp:2393
virtual void addScalarTriangleField()
Definition: SubLattice.hpp:2991
map< string, TriMesh * > m_mesh
Definition: SubLattice.h:91
virtual void addVectorWallField()
Definition: SubLattice.hpp:3021
virtual void getWallPos()
Definition: SubLattice.hpp:589
virtual void setTimer(MpiWTimers &timers)
Definition: SubLattice.h:260
virtual void moveParticleTo()
Definition: SubLattice.hpp:2189
std::pair< double, int > findParticleNearestTo(const Vec3 &pt)
Definition: SubLattice.hpp:2296
TSubLattice(const esys::lsm::CLatticeParam &prm, int rank, MPI_Comm comm, MPI_Comm worker_comm)
Definition: SubLattice.hpp:113
virtual void addScalarInteractionField()
Definition: SubLattice.hpp:2755
virtual void printTimes()
Definition: SubLattice.hpp:2666
virtual void moveSingleParticleTo(int particleId, const Vec3 &posn)
Definition: SubLattice.hpp:2220
map< string, CWall * > m_walls
Definition: SubLattice.h:89
MPI send/recv buffer with automagically adjusted size.
Definition: mpivbuf.h:35
virtual void addSingleIG()
Definition: SubLattice.hpp:1344
map< string, ASphereBodyInteractionGroup< T > * > m_SIG
Definition: SubLattice.h:88
virtual void setParticleNonTrans()
Definition: SubLattice.hpp:2452
virtual int getNumParticles()
Definition: SubLattice.hpp:243
map< string, AParallelInteractionStorage * > m_bpis
dynamic interactions
Definition: SubLattice.h:80
ParticleIdPairVector getBondGroupIdPairs(TmplPis *pBondPis)
map< string, AParallelInteractionStorage * > m_dpis
Definition: SubLattice.h:79
vector< int > getCommCoords() const
Definition: pp_array.h:102
std::vector< unsigned int > ProcessDims
Definition: LatticeParam.h:32
TML_Comm m_tml_comm
Definition: SubLattice.h:108
ParallelParticleArray< T > ParticleArray
Definition: SubLattice.h:74
double commtime
Definition: SubLattice.h:121
NameIGroupMap m_singleParticleInteractions
Definition: SubLattice.h:83
void resetDisplacements()
Definition: SubLattice.hpp:2172
double m_dt
Definition: SubLattice.h:95
virtual void addShortBondedIG()
Definition: SubLattice.hpp:1581
virtual void getWallForce()
Definition: SubLattice.hpp:651
double m_alpha
Definition: SubLattice.h:98
virtual void setParticleDensity()
Definition: SubLattice.hpp:2595
int m_last_ns
Definition: SubLattice.h:100
virtual bool doAddPIG(const string &, const string &, CVarMPIBuffer &, bool tagged=false)
Definition: SubLattice.hpp:787
virtual void getMeshNodeRef()
Definition: SubLattice.hpp:3369
map< string, CSphereBody * > m_spheres
Definition: SubLattice.h:90
void integrate(double)
Definition: SubLattice.hpp:1864
virtual void setParticleNonRot()
Definition: SubLattice.hpp:2436
MPI_Comm m_comm
Definition: SubLattice.h:107
virtual void applyForceToWall()
Definition: SubLattice.hpp:2540
virtual vector< int > getCommDims() const
Definition: SubLattice.h:152
Abstract base class for sublattices.
Definition: ASubLattice.h:37
virtual void addTriMesh()
Definition: SubLattice.hpp:1057
double packtime
Definition: SubLattice.h:119
virtual void setVelocityOfWall()
Definition: SubLattice.hpp:2560
map< int, vector< int > > m_temp_conn
Definition: SubLattice.h:103
virtual void sendDataToMaster()
Definition: SubLattice.hpp:2613
map< string, AInteractionGroup< T > * > NameIGroupMap
persistent interactions
Definition: SubLattice.h:82
MpiWTimers * m_pTimers
Definition: SubLattice.h:129
virtual void exchangePos()
Definition: SubLattice.hpp:1710
abstract base class for parallel interaction storage array
Definition: pi_storage.h:45
void setTimeStep(double dt)
Definition: SubLattice.h:194
virtual void addMesh2D()
Definition: SubLattice.hpp:1198
virtual void addElasticWIG()
Definition: SubLattice.hpp:421
virtual void setTimeStepSize(double dt)
Definition: SubLattice.hpp:1815
virtual void checkNeighbors()
Definition: SubLattice.hpp:2120
Class for a Sublattice.
Definition: SubLattice.h:72
virtual void addBondedMesh2DIG()
Definition: SubLattice.hpp:1285
virtual void addBondedTriMeshIG()
Definition: SubLattice.hpp:1142
virtual const MPI_Comm & getWorkerComm() const
Definition: SubLattice.h:157
virtual void addVectorParticleField()
Definition: SubLattice.hpp:2717
AParallelInteractionStorage * findPis(const std::string &groupName)
virtual void addESphereBodyIG()
Definition: SubLattice.hpp:456
void thermExpansion()
Definition: SubLattice.hpp:1916
virtual void setTaggedParticleVel()
Definition: SubLattice.hpp:2467
virtual void addPairIG()
Definition: SubLattice.hpp:741
parrallel particle storage array with neighborsearch and variable exchange
Definition: pp_array.h:75
void zeroHeat()
Definition: SubLattice.hpp:1928
virtual void addCappedBondedIG()
Definition: SubLattice.hpp:1507
virtual void rebuildParticleArray()
Definition: SubLattice.hpp:2001
virtual void searchNeighbors()
Definition: SubLattice.hpp:2045
virtual void countParticles()
Definition: SubLattice.hpp:2635
MPI_Comm m_worker_comm
MPI communicator between workers (excl. master)
Definition: SubLattice.h:109
virtual void addScalarHistoryInteractionField()
Definition: SubLattice.hpp:2897
std::vector< ParticleIdPair > ParticleIdPairVector
Definition: ASubLattice.h:47
virtual void getTriMeshForce()
Definition: SubLattice.hpp:3483
virtual vector< int > getCommCoords() const
Definition: SubLattice.h:151
double unpacktime
Definition: SubLattice.h:120
virtual void addMesh2DIG()
Definition: SubLattice.hpp:1237
virtual void moveWallBy()
Definition: SubLattice.hpp:2483
virtual void receiveParticles()
Definition: SubLattice.hpp:329
map< int, AFieldSlave * > m_field_slaves
Definition: SubLattice.h:127
virtual void addTaggedPairIG()
Definition: SubLattice.hpp:762
virtual void rebuildInteractions()
Definition: SubLattice.hpp:2010
virtual void oneStepTherm()
Definition: SubLattice.hpp:1892
virtual void getMesh2DStress()
Definition: SubLattice.hpp:3453
map< string, AParallelInteractionStorage * > m_damping
Body/gravitational force interactions.
Definition: SubLattice.h:86
void calcHeatFrict()
Definition: SubLattice.hpp:1952
void integrateTherm(double dt)
Definition: SubLattice.hpp:1907
virtual void sendFieldData()
Definition: SubLattice.hpp:3106
virtual void do2dCalculations(bool do2d)
Definition: SubLattice.hpp:237
virtual void initNeighborTable(const Vec3 &, const Vec3 &)
Definition: SubLattice.hpp:211
virtual void saveCheckPointData(std::ostream &oStream)
Definition: SubLattice.hpp:3179
virtual void setWallNormal()
Definition: SubLattice.hpp:2521
virtual void getSphereBodyPos()
Definition: SubLattice.hpp:620
void calcHeatTrans()
Definition: SubLattice.hpp:1970
std::pair< int, Vec3 > getParticlePosn(int particleId)
Definition: SubLattice.hpp:2329
map< string, AWallInteractionGroup< T > * > m_WIG
Definition: SubLattice.h:87
esys::lsm::CLatticeParam::ProcessDims m_dims
Definition: SubLattice.h:116
virtual void getMeshFaceRef()
Definition: SubLattice.hpp:3411
virtual void translateMeshBy(const std::string &meshName, const Vec3 &translation)
Definition: SubLattice.hpp:2283
virtual void addTriMeshIG()
Definition: SubLattice.hpp:1095
double forcetime
Definition: SubLattice.h:122
abstract base class for communicator
Definition: comm.h:47
virtual void addSphereBody()
Definition: SubLattice.hpp:402
virtual void addRotThermBondedIG()
Definition: SubLattice.hpp:1571
void calcForces()
Definition: SubLattice.hpp:1766
virtual void addVectorTriangleField()
Definition: SubLattice.hpp:2946
virtual void addDamping()
Definition: SubLattice.hpp:1394
virtual void receiveConnections()
Definition: SubLattice.hpp:352
virtual void addRotBondedIG()
Definition: SubLattice.hpp:1565
virtual void updateInteractions()
Definition: SubLattice.hpp:2066
vector< int > getCommDims() const
Definition: pp_array.h:103
virtual void addWall()
Definition: SubLattice.hpp:383
ParticleArray * m_ppa
Definition: SubLattice.h:76
virtual void removeIG()
Definition: SubLattice.hpp:1674
std::vector< int > IdVector
Definition: ASubLattice.h:48
double m_nrange
Definition: SubLattice.h:96
virtual void setParticleNonDynamic()
Definition: SubLattice.hpp:2420
virtual void getParticleData(const IdVector &particleIdVector)
Definition: SubLattice.hpp:2353
virtual void addTaggedElasticWIG()
Definition: SubLattice.hpp:491
virtual void saveSnapShotData(std::ostream &oStream)
Definition: SubLattice.hpp:3131
int m_rank
rank in m_comm
Definition: SubLattice.h:106
virtual void addVectorInteractionField()
Definition: SubLattice.hpp:2824
virtual void moveTaggedNodes()
Definition: SubLattice.hpp:2259
virtual void moveSingleNode()
Definition: SubLattice.hpp:2230
virtual void addViscWIG()
Definition: SubLattice.hpp:713
virtual void moveSphereBodyBy()
Definition: SubLattice.hpp:2502
TML_Comm m_tml_worker_comm
TML version of the communicator between workers (excl. master)
Definition: SubLattice.h:110
virtual void setExIG()
Definition: SubLattice.hpp:1637
virtual void printData()
Definition: SubLattice.hpp:2659
virtual void addBondedIG()
Definition: SubLattice.hpp:1460
Definition: LatticeParam.h:30
map< string, Mesh2D * > m_mesh2d
Definition: SubLattice.h:92
virtual void moveTaggedParticlesBy()
Definition: SubLattice.hpp:2206
virtual void addScalarParticleField()
Definition: SubLattice.hpp:2682
virtual void oneStep()
Definition: SubLattice.hpp:1876
virtual void setParticleVelocity()
Definition: SubLattice.hpp:2579
virtual void loadCheckPointData(std::istream &iStream)
Definition: SubLattice.hpp:3254
virtual ~TSubLattice()
Definition: SubLattice.hpp:175
virtual void addBondedWIG()
Definition: SubLattice.hpp:533
virtual void getSphereBodyForce()
Definition: SubLattice.hpp:682
virtual void printStruct()
Definition: SubLattice.hpp:2649
void zeroForces()
Definition: SubLattice.hpp:1723