• VTF
  • FSI
  • AMROC
  • SFC
  • Motion
  • STLIB
  • Main Page
  • Related Pages
  • Classes
  • Files
  • File List
  • File Members

amroc/lbm/LBMIntegrator.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // Copyright (C) 2012 Oak Ridge National Laboratory
00004 // Ralf Deiterding, deiterdingr@ornl.gov
00005 
00006 #ifndef LBM_INTEGRATOR_H
00007 #define LBM_INTEGRATOR_H
00008 
00015 #include "Interfaces/SchemeIntegrator.h"
00016 
00023 template <class LBMType, int dim>
00024 class LBMIntegrator : public SchemeIntegrator<LBMType,dim> {
00025   typedef SchemeIntegrator<LBMType,dim> base;
00026 public:   
00027   typedef typename base::vec_grid_data_type vec_grid_data_type;
00028 
00029   LBMIntegrator(LBMType &lbm) : base(lbm) {}
00030 
00031   virtual void SetupData(GridHierarchy* gh, const int& ghosts) {  
00032     LBM().SetLengthScale(gh->delta_x(0,0));
00033     base::SetupData(gh,ghosts);
00034   }
00035 
00036   virtual void AllocGridFluxes(const BBox &bb, vec_grid_data_type**& Flux) {}
00037   virtual void DeAllocGridFluxes(vec_grid_data_type**& Flux) {}
00038   virtual void ResetGridFluxes(vec_grid_data_type**& Flux) {}
00039 
00040   inline LBMType& LBM() { return base::Scheme(); }
00041   inline const LBMType& LBM() const { return base::Scheme(); }
00042 };
00043 
00044 
00045 #endif
00046