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 #ifndef _EBCellFAB_H_
00030 #define _EBCellFAB_H_
00031
00032 #include <cmath>
00033 #include <cstdlib>
00034 #include <cassert>
00035 #include "BaseEBCellFAB.H"
00036 #include "FArrayBox.H"
00037 #include "EBISBox.H"
00038 #include "Box.H"
00040
00044 class EBCellFAB: public BaseEBCellFAB<Real>
00045 {
00046 public:
00048 EBCellFAB();
00049
00050
00052
00056 EBCellFAB(const EBISBox& a_ebisBox,
00057 const Box& a_region, int a_nVar);
00058
00059
00061 virtual ~EBCellFAB();
00062
00064 const FArrayBox& getFArrayBox() const;
00065
00067
00071 FArrayBox& getFArrayBox();
00072
00074
00077 EBCellFAB& negate(void);
00078
00080
00083 EBCellFAB& operator+=(const EBCellFAB& a_ebfab);
00084
00086
00089 EBCellFAB& operator-=(const EBCellFAB& a_ebfab);
00090
00092
00095 EBCellFAB& operator*=(const EBCellFAB& a_ebfab);
00096
00098
00101 EBCellFAB& operator/=(const EBCellFAB& a_ebfab);
00102
00104
00107 EBCellFAB& operator+=(const Real& a_scalar);
00108
00110
00113 EBCellFAB& operator-=(const Real& a_scalar);
00114
00116
00119 EBCellFAB& operator*=(const Real& a_scalar);
00120
00122
00125 EBCellFAB& operator/=(const Real& a_scalar);
00126
00128
00135 virtual Real norm(int a_power,
00136 int a_comp,
00137 int a_numComp) const;
00138
00140
00148 virtual Real norm(const Box& a_subbox,
00149 int a_power,
00150 int a_comp,
00151 int a_numComp) const;
00152
00154
00160 virtual Real sumPow(const Box& a_subbox,
00161 int a_power,
00162 int a_comp,
00163 int a_numComp) const;
00164
00165
00167
00171 Real dotProduct(const EBCellFAB& ebfab2) const;
00172
00173
00174
00175 EBCellFAB(const Box& a_region, int a_nComp)
00176 {
00177 MayDay::Error("ebcelfab 1 invalid operator");
00178 }
00179 private:
00180
00181 EBCellFAB(const EBCellFAB& ebcin)
00182 {
00183 MayDay::Error("ebcellfab 2 invalid operator");
00184 }
00185 void operator=(const EBCellFAB& fabin)
00186 {
00187 MayDay::Error("ebcellfab 3 invalid operator");
00188 }
00189
00190 };
00191 #endif
00192