Chombo + EB + MF  3.2
MFEllipticLoadBalance.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _MFELLIPTICLOADBALANCE_H_
12 #define _MFELLIPTICLOADBALANCE_H_
13 
14 #include "REAL.H"
15 #include "Vector.H"
16 #include "Box.H"
17 #include "ProblemDomain.H"
18 #include "RefCountedPtr.H"
19 #include "MFIndexSpace.H"
20 #include "NamespaceHeader.H"
21 
22 class DisjointBoxLayout;
23 ///
24 /**
25  Load balance a Vector of Boxes.
26  We make the loads bases on a few ad hoc ideas.
27  we shall make fully covered boxes = constant load = covered load
28  we shall say that irregular points get irregular factor more load than
29  regular points.
30  */
31 extern int
33  const Vector<Box>& a_boxes,
35  const ProblemDomain& a_domain,
36  bool a_verbose = false);
37 
38 ///
39 /**
40  */
41 extern void
43  Vector<Box> & a_boxes,
45  const DisjointBoxLayout& a_dblOrig,
46  const ProblemDomain& a_domain);
47 
48 #include "NamespaceFooter.H"
49 #endif
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
void getPoissonLoadsAndBoxes(Vector< unsigned long long > &a_loads, Vector< Box > &a_boxes, RefCountedPtr< MFIndexSpace > &a_mfis, const DisjointBoxLayout &a_dblOrig, const ProblemDomain &a_domain)
int MFEllipticLoadBalance(Vector< int > &a_proc, const Vector< Box > &a_boxes, RefCountedPtr< MFIndexSpace > &a_mfis, const ProblemDomain &a_domain, bool a_verbose=false)