00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _COMPUTENORM_H_
00012 #define _COMPUTENORM_H_
00013
00014 #include "REAL.H"
00015 #include "Vector.H"
00016 #include "LevelData.H"
00017 #include "FArrayBox.H"
00018 #include "Interval.H"
00019 #include "FluxBox.H"
00020 #include "NamespaceHeader.H"
00021
00023 Real computeNorm(const Vector<LevelData<FArrayBox>* >& a_phi,
00024 const Vector<int>& a_nRefFine,
00025 const Real a_dxCrse,
00026 const Interval a_comps = Interval(0,0),
00027 const int a_p = 2,
00028 const int a_lBase = 0);
00029
00031 Real computeNorm(const LevelData<FArrayBox>& a_phi,
00032 const DisjointBoxLayout* a_finerGrids,
00033 const int a_nRefFine,
00034 const Real a_dx,
00035 const Interval a_comps = Interval(0,0),
00036 const int a_p = 2);
00037
00039 Real computeMax(const Vector<LevelData<FArrayBox>* >& a_phi,
00040 const Vector<int>& a_nRefFine,
00041 const Interval a_comps = Interval(0,0),
00042 const int a_lBase = 0);
00043
00045 Real computeMax(const LevelData<FArrayBox>& a_phi,
00046 const DisjointBoxLayout* a_finerGrids,
00047 const int a_nRefFine,
00048 const Interval a_comps = Interval(0,0));
00049
00051 Real computeMin(const Vector<LevelData<FArrayBox>* >& a_phi,
00052 const Vector<int>& a_nRefFine,
00053 const Interval a_comps = Interval(0,0),
00054 const int a_lBase = 0);
00055
00057 Real computeMin(const LevelData<FArrayBox>& a_phi,
00058 const DisjointBoxLayout* a_finerGrids,
00059 const int a_nRefFine,
00060 const Interval a_comps = Interval(0,0));
00061
00063 Real norm(const BoxLayoutData<FluxBox>& a_layout,
00064 const Interval& a_interval,
00065 const int& a_p);
00066 #include "NamespaceFooter.H"
00067 #endif