00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _EBPHYSIBC_H_
00012 #define _EBPHYSIBC_H_
00013
00014 #include "EBCellFAB.H"
00015 #include "EBISLayout.H"
00016 #include "EBFluxFAB.H"
00017 #include "REAL.H"
00018 #include "LevelData.H"
00019 #include "ProblemDomain.H"
00020 #include "NamespaceHeader.H"
00021
00022
00023
00024
00025
00026
00027 class EBPhysIBC
00028 {
00029 public:
00030
00031 EBPhysIBC();
00032
00033
00034 virtual ~EBPhysIBC();
00035
00036
00037 virtual void define(const ProblemDomain& a_domain,
00038 const RealVect& a_dx) = 0;
00039
00040
00041 virtual void fluxBC(EBFluxFAB& a_flux,
00042 const EBCellFAB& a_Wcenter,
00043 const EBCellFAB& a_Wextrap,
00044 const Side::LoHiSide& a_sd,
00045 const Real& a_time,
00046 const EBISBox& a_ebisBox,
00047 const DataIndex& a_dit,
00048 const Box& a_box,
00049 const Box& a_faceBox,
00050 const int& a_dir) = 0;
00051
00052
00053 virtual void initialize(LevelData<EBCellFAB>& a_conState,
00054 const EBISLayout& a_ebisl) const = 0;
00055
00056
00057
00058
00059
00060
00061
00062 virtual void setBndrySlopes(EBCellFAB& a_deltaPrim,
00063 const EBCellFAB& a_primState,
00064 const EBISBox& a_ebisBox,
00065 const Box& a_box,
00066 const int& a_dir) = 0;
00067
00068 };
00069
00070 #include "NamespaceFooter.H"
00071 #endif