ESyS-Particle  4.0.1
RotSubLattice.h
1 
2 // //
3 // Copyright (c) 2003-2011 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef __ROTSUBLATTICE_H
14 #define __ROTSUBLATTICE_H
15 
16 // -- project includes --
17 #include "Parallel/SubLattice.h"
18 
27 template <typename T>
28 class TRotSubLattice : public TSubLattice<T>
29 {
30  protected:
31 
32  // functions doing the actual work adding interaction groups
33  virtual bool doAddPIG(const string&,const string&,CVarMPIBuffer&);
34  virtual bool doAddDamping(const string&,CVarMPIBuffer&);
35 
36  public:
37  TRotSubLattice(const esys::lsm::CLatticeParam &prm, int rank, MPI_Comm comm, MPI_Comm worker_comm);
38  virtual ~TRotSubLattice();
39  virtual void setParticleAngularVelocity();
40  virtual void addRotBondedIG();
41  virtual void addRotThermBondedIG();
42 };
43 
44 #include "Parallel/RotSubLattice.hpp"
45 
46 #endif //__ROTSUBLATTICE_H