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
00031 #ifndef NORMS_H
00032 #define NORMS_H
00033
00034 #include "LevelData.H"
00035 #include "NodeFArrayBox.H"
00036 #include "Vector.H"
00037 #include "IntVectSet.H"
00038
00040
00042 Real norm(
00043 const NodeFArrayBox& a_nfab,
00045 const Real a_dx,
00047 const Box& a_subbox,
00049 const int a_p,
00051 const int a_startComp,
00053 const int a_numComp);
00054
00056
00058 Real maxnorm(
00059 const NodeFArrayBox& a_nfab,
00061 const Box& a_subbox,
00063 const int a_startComp,
00065 const int a_numComp);
00066
00068
00070 Real integral(
00071 const NodeFArrayBox& a_nfab,
00073 const Real a_dx,
00075 const Box& a_subbox,
00077 const int a_startComp,
00079 const int a_numComp);
00080
00082
00084 Real integral(
00085 const NodeFArrayBox& a_nfab,
00087 const Real a_dx,
00089 const int a_startComp,
00091 const int a_numComp);
00092
00094
00100 Real norm(
00101 const BoxLayoutData<NodeFArrayBox>& a_layout,
00103 const Real a_dx,
00105 const int a_p,
00107 const Interval& a_interval,
00109 bool a_verbose = true);
00110
00112
00118 Real maxnorm(
00119 const BoxLayoutData<NodeFArrayBox>& a_layout,
00121 const Interval& a_interval,
00123 bool a_verbose = true);
00124
00126
00132 Real norm(
00133 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00135 const Vector<ProblemDomain>& a_domain,
00137 const Vector<int>& a_nRefFine,
00139 const Real a_dxCrse,
00141 const Interval a_comps,
00143 const int a_p,
00145 const int a_lBase,
00147 bool a_verbose = true);
00148
00150
00156 Real norm(
00157 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00159 const Vector<Box>& a_domain,
00161 const Vector<int>& a_nRefFine,
00163 const Real a_dxCrse,
00165 const Interval a_comps,
00167 const int a_p,
00169 const int a_lBase,
00171 bool a_verbose = true);
00172
00174
00185 Real norm(
00186 const LevelData<NodeFArrayBox>& a_phi,
00188 const ProblemDomain& a_domain,
00190 const DisjointBoxLayout* a_finerGridsPtr,
00192 const int a_nRefFine,
00194 const Real a_dx,
00196 const Interval a_comps,
00198 const int a_p,
00200 bool a_verbose = true);
00201
00203
00214 Real norm(
00215 const LevelData<NodeFArrayBox>& a_phi,
00217 const Box& a_domain,
00219 const DisjointBoxLayout* a_finerGridsPtr,
00221 const int a_nRefFine,
00223 const Real a_dx,
00225 const Interval a_comps,
00227 const int a_p,
00229 bool a_verbose = true);
00230
00232
00249 Real norm(
00250 const LevelData<NodeFArrayBox>& a_phi,
00252 const ProblemDomain& a_domain,
00254 const DisjointBoxLayout& a_finerGridsCoarsened,
00256 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00258 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00260 const int a_nRefFine,
00262 const Real a_dx,
00264 const Interval a_comps,
00266 const int a_p,
00268 bool a_verbose = true);
00269
00270
00272
00289 Real norm(
00290 const LevelData<NodeFArrayBox>& a_phi,
00292 const Box& a_domain,
00294 const DisjointBoxLayout& a_finerGridsCoarsened,
00296 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00298 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00300 const int a_nRefFine,
00302 const Real a_dx,
00304 const Interval a_comps,
00306 const int a_p,
00308 bool a_verbose = true);
00309
00310
00312
00323 Real norm(
00324 const LevelData<NodeFArrayBox>& a_phi,
00326 const ProblemDomain& a_domain,
00328 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00330 const Real a_dx,
00332 const Interval a_comps,
00334 const int a_p,
00336 bool a_verbose = true);
00337
00338
00340
00351 Real norm(
00352 const LevelData<NodeFArrayBox>& a_phi,
00354 const Box& a_domain,
00356 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00358 const Real a_dx,
00360 const Interval a_comps,
00362 const int a_p,
00364 bool a_verbose = true);
00365
00366
00368
00374 Real maxnorm(
00375 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00377 const Vector<ProblemDomain>& a_domain,
00379 const Vector<int>& a_nRefFine,
00381 const Interval a_comps,
00383 const int a_lBase,
00385 bool a_verbose = true);
00386
00388
00394 Real maxnorm(
00395 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00397 const Vector<Box>& a_domain,
00399 const Vector<int>& a_nRefFine,
00401 const Interval a_comps,
00403 const int a_lBase,
00405 bool a_verbose = true);
00406
00408
00419 Real maxnorm(
00420 const LevelData<NodeFArrayBox>& a_phi,
00422 const ProblemDomain& a_domain,
00424 const DisjointBoxLayout* a_finerGridsPtr,
00426 const int a_nRefFine,
00428 const Interval a_comps,
00430 bool a_verbose = true);
00431
00433
00444 Real maxnorm(
00445 const LevelData<NodeFArrayBox>& a_phi,
00447 const Box& a_domain,
00449 const DisjointBoxLayout* a_finerGridsPtr,
00451 const int a_nRefFine,
00453 const Interval a_comps,
00455 bool a_verbose = true);
00456
00457
00459
00477 Real maxnorm(
00478 const LevelData<NodeFArrayBox>& a_phi,
00480 const ProblemDomain& a_domain,
00482 const DisjointBoxLayout& a_finerGridsCoarsened,
00484 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00486 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00488 const int a_nRefFine,
00490 const Interval a_comps,
00492 bool a_verbose = true);
00493
00494
00496
00514 Real maxnorm(
00515 const LevelData<NodeFArrayBox>& a_phi,
00517 const Box& a_domain,
00519 const DisjointBoxLayout& a_finerGridsCoarsened,
00521 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00523 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00525 const int a_nRefFine,
00527 const Interval a_comps,
00529 bool a_verbose = true);
00530
00531
00533
00546 Real maxnorm(
00547 const LevelData<NodeFArrayBox>& a_phi,
00549 const ProblemDomain& a_domain,
00551 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00553 const Interval a_comps,
00555 bool a_verbose = true);
00556
00558
00571 Real maxnorm(
00572 const LevelData<NodeFArrayBox>& a_phi,
00574 const Box& a_domain,
00576 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00578 const Interval a_comps,
00580 bool a_verbose = true);
00581
00582
00584
00589 Real integral(
00590 const BoxLayoutData<NodeFArrayBox>& a_layout,
00592 const Real a_dx,
00594 const Interval& a_interval,
00596 bool a_verbose = true);
00597
00599
00605 Real integral(
00606 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00608 const Vector<ProblemDomain>& a_domain,
00610 const Vector<int>& a_nRefFine,
00612 const Real a_dxCrse,
00614 const Interval a_comps,
00616 const int a_lBase,
00618 bool a_verbose = true);
00619
00621
00627 Real integral(
00628 const Vector<LevelData<NodeFArrayBox>* >& a_phi,
00630 const Vector<Box>& a_domain,
00632 const Vector<int>& a_nRefFine,
00634 const Real a_dxCrse,
00636 const Interval a_comps,
00638 const int a_lBase,
00640 bool a_verbose = true);
00641
00642
00644
00655 Real integral(
00656 const LevelData<NodeFArrayBox>& a_phi,
00658 const ProblemDomain& a_domain,
00660 const DisjointBoxLayout* a_finerGridsPtr,
00662 const int a_nRefFine,
00664 const Real a_dx,
00666 const Interval a_comps,
00668 bool a_verbose = true);
00669
00671
00682 Real integral(
00683 const LevelData<NodeFArrayBox>& a_phi,
00685 const Box& a_domain,
00687 const DisjointBoxLayout* a_finerGridsPtr,
00689 const int a_nRefFine,
00691 const Real a_dx,
00693 const Interval a_comps,
00695 bool a_verbose = true);
00696
00698
00716 Real integral(
00717 const LevelData<NodeFArrayBox>& a_phi,
00719 const ProblemDomain& a_domain,
00721 const DisjointBoxLayout& a_finerGridsCoarsened,
00723 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00725 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00727 const int a_nRefFine,
00729 const Real a_dx,
00731 const Interval a_comps,
00733 bool a_verbose = true);
00734
00736
00754 Real integral(
00755 const LevelData<NodeFArrayBox>& a_phi,
00757 const Box& a_domain,
00759 const DisjointBoxLayout& a_finerGridsCoarsened,
00761 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00763 const LayoutData< Vector<IntVectSet> >& a_IVSVintFinerCoarsened,
00765 const int a_nRefFine,
00767 const Real a_dx,
00769 const Interval a_comps,
00771 bool a_verbose = true);
00772
00773
00775
00786 Real integral(
00787 const LevelData<NodeFArrayBox>& a_phi,
00789 const ProblemDomain& a_domain,
00791 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00793 const Real a_dx,
00795 const Interval a_comps,
00797 bool a_verbose = true);
00798
00799
00801
00812 Real integral(
00813 const LevelData<NodeFArrayBox>& a_phi,
00815 const Box& a_domain,
00817 const LayoutData< Vector<IntVectSet> >& a_IVSVext,
00819 const Real a_dx,
00821 const Interval a_comps,
00823 bool a_verbose = true);
00824 #endif