00001
00002
00003
00004
00005
00006 #ifndef AMROC_BOUNDARYCONDITIONS_H
00007 #define AMROC_BOUNDARYCONDITIONS_H
00008
00009 #include "AMRBase.h"
00010
00024 template <class VectorType, int dim>
00025 class BoundaryConditions : public AMRBase<VectorType,dim> {
00026 typedef AMRBase<VectorType,dim> base;
00027 public:
00028 typedef typename base::vec_grid_fct_type vec_grid_fct_type;
00029 typedef typename base::vec_grid_data_type vec_grid_data_type;
00030
00031 BoundaryConditions() : base() {}
00032
00033 virtual ~BoundaryConditions() {}
00034
00035
00036
00037
00038 virtual void SetBndry(vec_grid_data_type &gd, const int& level, const BBox &bb,
00039 const int &side, const double& time) = 0;
00040
00041
00042 virtual void register_at(ControlDevice& Ctrl, const std::string& prefix) {
00043 base::LocCtrl = Ctrl.getSubDevice(prefix+"BoundaryConditions");
00044 }
00045 virtual void register_at(ControlDevice& Ctrl) {
00046 register_at(Ctrl, "");
00047 }
00048 };
00049
00050
00051 #endif