00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _EBELLIPTICLOADBALANCE_H_
00012 #define _EBELLIPTICLOADBALANCE_H_
00013
00014 #include "Box.H"
00015 #include "ProblemDomain.H"
00016 #include "Vector.H"
00017 #include "REAL.H"
00018 #include "EBIndexSpace.H"
00019 #include "NamespaceHeader.H"
00020
00021 class DisjointBoxLayout;
00022
00023
00024
00025
00026
00027
00028
00029
00030 extern int
00031 EBEllipticLoadBalance(Vector<int>& a_proc,
00032 const Vector<Box>& a_boxes,
00033 const ProblemDomain& a_domain,
00034 bool a_verbose = false,
00035 const EBIndexSpace *a_ebisPtr = Chombo_EBIS::instance() );
00036
00037
00038
00039
00040 extern void
00041 getPoissonLoadsAndBoxes(Vector<unsigned long long>& a_loads,
00042 Vector<Box> & a_boxes,
00043 const DisjointBoxLayout& a_dblOrig,
00044 const ProblemDomain& a_domain,
00045 const EBIndexSpace *a_ebisPtr = Chombo_EBIS::instance() );
00046
00047 extern void
00048 resetLoadOrder(Vector<unsigned long long>& a_loads,
00049 Vector<Box>& a_newBoxes,
00050 Vector<Box>& a_oldBoxes);
00051
00052 #include "NamespaceFooter.H"
00053 #endif