ESyS-Particle  4.0.1
RotSubLattice.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 #ifndef __ROTSUBLATTICE_H
00014 #define __ROTSUBLATTICE_H
00015 
00016 // -- project includes --
00017 #include "Parallel/SubLattice.h"
00018 
00027 template <typename T>
00028 class TRotSubLattice : public TSubLattice<T>
00029 {
00030  protected:
00031   
00032   // functions doing the actual work adding interaction groups
00033   virtual bool doAddPIG(const string&,const string&,CVarMPIBuffer&);
00034   virtual bool doAddDamping(const string&,CVarMPIBuffer&);
00035 
00036  public:
00037   TRotSubLattice(const esys::lsm::CLatticeParam &prm, int rank, MPI_Comm comm, MPI_Comm worker_comm);
00038   virtual ~TRotSubLattice();
00039   virtual void setParticleAngularVelocity();
00040   virtual void addRotBondedIG();
00041   virtual void addRotThermBondedIG();
00042 };
00043 
00044 #include "Parallel/RotSubLattice.hpp"
00045 
00046 #endif //__ROTSUBLATTICE_H