00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _EBFluxFAB_H_
00031 #define _EBFluxFAB_H_
00032
00033 #include "Box.H"
00034 #include "Vector.H"
00035 #include "EBFaceFAB.H"
00036
00038
00041 class EBFluxFAB
00042 {
00043
00044 public:
00046 EBFluxFAB();
00047
00048
00050 ~EBFluxFAB();
00051
00053 void clear();
00054
00056
00058 int nComp() const;
00059
00061 const Box& getRegion() const;
00062
00064 EBFaceFAB& operator[] (const int dir);
00065
00067 const EBFaceFAB& operator[] (const int dir) const;
00068
00069
00070 void setVal(const Real& val);
00071
00073
00077 void copy(const Box& Rfrom,
00078 const Interval& Cdest,
00079 const Box& Rto,
00080 const EBFluxFAB& src,
00081 const Interval& Csrc);
00082
00084 bool isDefined() const;
00085
00087 EBFluxFAB(const EBISBox& a_ebisBox, const Box& bx, int n);
00088
00090 void define(const EBISBox& a_ebisBox, const Box& bx, int n);
00091
00093 EBFluxFAB(const Box& bx, int n)
00094 {
00095 MayDay::Error("bogus constructor");
00096 }
00097 protected:
00098 void setDefaultValues();
00099
00101 Box m_region;
00102
00104 EBISBox m_ebisBox;
00105
00107 int m_nComp;
00108
00109 bool m_isDefined;
00110
00112 Tuple<EBFaceFAB*, CH_SPACEDIM> m_fluxes;
00113
00114
00115 private:
00117
00118 EBFluxFAB (const EBFluxFAB&)
00119 {
00120 MayDay::Error("bogus constructor");
00121 }
00122
00123 void operator = (const EBFluxFAB&)
00124 {
00125 MayDay::Error("bogus constructor");
00126 }
00127
00128 };
00129
00130
00131
00132 #endif
00133
00134