Chombo + EB  3.2
NWOEBVTOLoadBalance.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 _NWOEBVTOLOADBALANCE_H_
12 #define _NWOEBVTOLOADBALANCE_H_
13 
14 #include "Box.H"
15 #include "ProblemDomain.H"
16 #include "Vector.H"
17 #include "REAL.H"
18 #include "EBIndexSpace.H"
20 #include "DisjointBoxLayout.H"
21 #include "NamespaceHeader.H"
22 
23 ///
24 /**
25  Load balance a Vector of Boxes.
26  The order of boxes can change so that is why it is output as well as input.
27  This is introspective load balancing using NWOEBViscousTensorOp::relax times
28  for loads.
29  */
30 extern int
32  Vector<Box> & a_boxes,
33  const RefCountedPtr<BaseDomainBCFactory> & a_domBC,
34  const RefCountedPtr<BaseEBBCFactory> & a_ebBC,
35  const ProblemDomain & a_domain,
36  const EBIndexSpace *a_ebisPtr = Chombo_EBIS::instance() );
37 ///
38 /**
39  */
40 extern void
42  Vector<Box> & a_boxes,
43  const RefCountedPtr<BaseDomainBCFactory> & a_domBC,
44  const RefCountedPtr<BaseEBBCFactory> & a_ebBC,
45  const DisjointBoxLayout & a_dblOrig,
46  const ProblemDomain & a_domain,
47  const EBIndexSpace *a_ebisPtr = Chombo_EBIS::instance() );
48 
49 
50 #include "NamespaceFooter.H"
51 #endif
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Definition: EBIndexSpace.H:50
int NWOEBVTORelaxLoadBalance(Vector< int > &a_procs, Vector< Box > &a_boxes, const RefCountedPtr< BaseDomainBCFactory > &a_domBC, const RefCountedPtr< BaseEBBCFactory > &a_ebBC, const ProblemDomain &a_domain, const EBIndexSpace *a_ebisPtr=Chombo_EBIS::instance())
static EBIndexSpace * instance()
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
void getNWOEBVTORelaxLoadsAndBoxes(Vector< unsigned long long > &a_loads, Vector< Box > &a_boxes, const RefCountedPtr< BaseDomainBCFactory > &a_domBC, const RefCountedPtr< BaseEBBCFactory > &a_ebBC, const DisjointBoxLayout &a_dblOrig, const ProblemDomain &a_domain, const EBIndexSpace *a_ebisPtr=Chombo_EBIS::instance())