00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011
00012
00013
00014
00015 #ifndef NORMS_H
00016 #define NORMS_H
00017
00018 #include "LevelData.H"
00019 #include "NodeFArrayBox.H"
00020 #include "Vector.H"
00021 #include "IntVectSet.H"
00022
00023 #include "UsingNamespace.H"
00024
00026
00028 Real norm(
00029 const NodeFArrayBox& a_nfab,
00031 const Real a_dx,
00033 const Box& a_subbox,
00035 const int a_p,
00037 const int a_startComp = 0,
00039 const int a_numComp = 1);
00040
00042
00044 Real maxnorm(
00045 const NodeFArrayBox& a_nfab,
00047 const Box& a_subbox,
00049 const int a_startComp = 0,
00051 const int a_numComp = 1);
00052
00054
00060 Real norm(
00061 const BoxLayoutData<NodeFArrayBox>& a_layout,
00063 const Real a_dx,
00065 const int a_p,
00067 const Interval& a_interval,
00069 bool a_verbose = false);
00070
00072
00077 Real norm(
00078 const BoxLayoutData<NodeFArrayBox>& a_layout,
00080 const LevelData<NodeFArrayBox>& a_mask,
00082 const ProblemDomain& a_domain,
00084 const Real a_dx,
00086 const int a_p,
00088 const Interval& a_interval,
00090 bool a_verbose = false);
00091
00093
00098 Real maxnorm(
00099 const BoxLayoutData<NodeFArrayBox>& a_layout,
00101 const LevelData<NodeFArrayBox>& a_mask,
00103 const ProblemDomain& a_domain,
00105 const Interval& a_interval,
00107 bool a_verbose = false);
00108
00110
00116 Real maxnorm(
00117 const BoxLayoutData<NodeFArrayBox>& a_layout,
00119 const Interval& a_interval,
00121 bool a_verbose = false);
00122
00124
00130 Real norm(
00131 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00133 const Vector<ProblemDomain>& a_domain,
00135 const Vector<int>& a_nRefFine,
00137 const Real a_dxCrse,
00139 const Interval& a_comps,
00141 const int a_p,
00143 const int a_lBase,
00145 bool a_verbose = false);
00146
00148
00160 Real norm(
00161 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00163 const Vector<ProblemDomain>& a_domain,
00165 const Vector<LayoutData< Vector<Box> >* >& a_IVSVext,
00167 const Vector<LayoutData< Vector<Box> >* >& a_IVSVintFinerCoarsened,
00169 const Vector<DisjointBoxLayout>& a_layoutsFinerCoarsened,
00171 const Vector<int>& a_nRefFine,
00173 const Real a_dxCrse,
00175 const Interval& a_comps,
00177 const int a_p,
00179 const int a_lBase,
00181 bool a_verbose = false);
00182
00184
00196 Real norm(
00197 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00199 const Vector<ProblemDomain>& a_domain,
00201 const Vector<LayoutData< Vector<IntVectSet> >* >& a_IVSVext,
00203 const Vector<LayoutData< Vector<IntVectSet> >* >& a_IVSVintFinerCoarsened,
00205 const Vector<DisjointBoxLayout>& a_layoutsFinerCoarsened,
00207 const Vector<int>& a_nRefFine,
00209 const Real a_dxCrse,
00211 const Interval& a_comps,
00213 const int a_p,
00215 const int a_lBase,
00217 bool a_verbose = false);
00218
00220
00226 Real norm(
00227 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00229 const Vector<LevelData<NodeFArrayBox>* >& a_mask,
00231 const Vector<ProblemDomain>& a_vectPD,
00233 const Vector<int>& a_nRefFine,
00235 const Real a_dxCrse,
00237 const Interval& a_comps,
00239 const int a_p,
00241 const int a_lBase,
00243 bool a_verbose = false);
00244
00246
00252 Real norm(
00253 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00255 const Vector<Box>& a_domain,
00257 const Vector<int>& a_nRefFine,
00259 const Real a_dxCrse,
00261 const Interval& a_comps,
00263 const int a_p,
00265 const int a_lBase,
00267 bool a_verbose = false);
00268
00270
00281 Real norm(
00282 const LevelData<NodeFArrayBox>& a_phi,
00284 const ProblemDomain& a_domain,
00286 const DisjointBoxLayout* a_finerGridsPtr,
00288 const int a_nRefFine,
00290 const Real a_dx,
00292 const Interval& a_comps,
00294 const int a_p,
00296 bool a_verbose = false);
00297
00299
00310 Real norm(
00311 const LevelData<NodeFArrayBox>& a_phi,
00313 const Box& a_domain,
00315 const DisjointBoxLayout* a_finerGridsPtr,
00317 const int a_nRefFine,
00319 const Real a_dx,
00321 const Interval& a_comps,
00323 const int a_p,
00325 bool a_verbose = false);
00326
00328
00345 Real norm(
00346 const LevelData<NodeFArrayBox>& a_phi,
00348 const ProblemDomain& a_domain,
00350 const DisjointBoxLayout& a_finerGridsCoarsened,
00352 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00354 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00356 const int a_nRefFine,
00358 const Real a_dx,
00360 const Interval& a_comps,
00362 const int a_p,
00364 bool a_verbose = false);
00365
00366
00368
00385 Real norm(
00386 const LevelData<NodeFArrayBox>& a_phi,
00388 const ProblemDomain& a_domain,
00390 const DisjointBoxLayout& a_finerGridsCoarsened,
00392 const LayoutData< Vector<Box> >& a_IVSVext,
00394 const LayoutData< Vector<Box> >& a_IVSVintFinerCoarsened,
00396 const int a_nRefFine,
00398 const Real a_dx,
00400 const Interval& a_comps,
00402 const int a_p,
00404 bool a_verbose = false);
00405
00406
00408
00425 Real norm(
00426 const LevelData<NodeFArrayBox>& a_phi,
00428 const Box& a_domain,
00430 const DisjointBoxLayout& a_finerGridsCoarsened,
00432 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00434 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00436 const int a_nRefFine,
00438 const Real a_dx,
00440 const Interval& a_comps,
00442 const int a_p,
00444 bool a_verbose = false);
00445
00446
00448
00465 Real norm(
00466 const LevelData<NodeFArrayBox>& a_phi,
00468 const Box& a_domain,
00470 const DisjointBoxLayout& a_finerGridsCoarsened,
00472 const LayoutData< Vector<Box> >& a_IVSVext,
00474 const LayoutData< Vector<Box> >& a_IVSVintFinerCoarsened,
00476 const int a_nRefFine,
00478 const Real a_dx,
00480 const Interval& a_comps,
00482 const int a_p,
00484 bool a_verbose = false);
00485
00486
00488
00499 Real norm(
00500 const LevelData<NodeFArrayBox>& a_phi,
00502 const ProblemDomain& a_domain,
00504 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00506 const Real a_dx,
00508 const Interval& a_comps,
00510 const int a_p,
00512 bool a_verbose = false);
00513
00514
00516
00527 Real norm(
00528 const LevelData<NodeFArrayBox>& a_phi,
00530 const ProblemDomain& a_domain,
00532 const LayoutData< Vector<Box> >& a_IVSVext,
00534 const Real a_dx,
00536 const Interval& a_comps,
00538 const int a_p,
00540 bool a_verbose = false);
00541
00542
00544
00550 Real maxnorm(
00551 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00553 const Vector<ProblemDomain>& a_domain,
00555 const Vector<int>& a_nRefFine,
00557 const Interval& a_comps,
00559 const int a_lBase,
00561 bool a_verbose = false);
00562
00564
00570 Real maxnorm(
00571 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00573 const Vector<Box>& a_domain,
00575 const Vector<int>& a_nRefFine,
00577 const Interval& a_comps,
00579 const int a_lBase,
00581 bool a_verbose = false);
00582
00584
00595 Real maxnorm(
00596 const LevelData<NodeFArrayBox>& a_phi,
00598 const ProblemDomain& a_domain,
00600 const DisjointBoxLayout* a_finerGridsPtr,
00602 const int a_nRefFine,
00604 const Interval& a_comps,
00606 bool a_verbose = false);
00607
00609
00620 Real maxnorm(
00621 const LevelData<NodeFArrayBox>& a_phi,
00623 const Box& a_domain,
00625 const DisjointBoxLayout* a_finerGridsPtr,
00627 const int a_nRefFine,
00629 const Interval& a_comps,
00631 bool a_verbose = false);
00632
00633
00635
00653 Real maxnorm(
00654 const LevelData<NodeFArrayBox>& a_phi,
00656 const ProblemDomain& a_domain,
00658 const DisjointBoxLayout& a_finerGridsCoarsened,
00660 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00662 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00664 const int a_nRefFine,
00666 const Interval& a_comps,
00668 bool a_verbose = false);
00669
00670
00672
00690 Real maxnorm(
00691 const LevelData<NodeFArrayBox>& a_phi,
00693 const ProblemDomain& a_domain,
00695 const DisjointBoxLayout& a_finerGridsCoarsened,
00697 const LayoutData< Vector<Box> >& a_IVSVext,
00699 const LayoutData< Vector<Box> >& a_IVSVintFinerCoarsened,
00701 const int a_nRefFine,
00703 const Interval& a_comps,
00705 bool a_verbose = false);
00706
00707
00709
00727 Real maxnorm(
00728 const LevelData<NodeFArrayBox>& a_phi,
00730 const Box& a_domain,
00732 const DisjointBoxLayout& a_finerGridsCoarsened,
00734 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00736 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00738 const int a_nRefFine,
00740 const Interval& a_comps,
00742 bool a_verbose = false);
00743
00744
00746
00764 Real maxnorm(
00765 const LevelData<NodeFArrayBox>& a_phi,
00767 const Box& a_domain,
00769 const DisjointBoxLayout& a_finerGridsCoarsened,
00771 const LayoutData< Vector<Box> >& a_IVSVext,
00773 const LayoutData< Vector<Box> >& a_IVSVintFinerCoarsened,
00775 const int a_nRefFine,
00777 const Interval& a_comps,
00779 bool a_verbose = false);
00780
00781
00783
00796 Real maxnorm(
00797 const LevelData<NodeFArrayBox>& a_phi,
00799 const ProblemDomain& a_domain,
00801 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00803 const Interval& a_comps,
00805 bool a_verbose = false);
00806
00808
00821 Real maxnorm(
00822 const LevelData<NodeFArrayBox>& a_phi,
00824 const Box& a_domain,
00826 const LayoutData< Vector<Box> >& a_IVSVext,
00828 const Interval& a_comps,
00830 bool a_verbose = false);
00831
00832 #endif