Chombo + EB + MF  3.2
DivergenceStencil.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 _DIVERGENCESTENCIL_H_
12 #define _DIVERGENCESTENCIL_H_
13 
14 #include "AggStencil.H"
15 #include "Stencils.H"
16 #include "Vector.H"
17 #include "REAL.H"
18 #include "EBCellFAB.H"
19 #include "EBFaceFAB.H"
20 #include "EBFluxFAB.H"
21 #include "BaseIVFAB.H"
22 #include "CH_Timer.H"
23 #include "EBISBox.H"
24 #include "RefCountedPtr.H"
25 #include "NamespaceHeader.H"
26 
27 /// stencil to evaluate the conservative divergence of a flux
28 /**
29  */
31 {
32 public:
33  ///
34  /**
35  The data holders sent in can be dummies but they must be the
36  right size.
37  */
38  DivergenceStencil(const EBCellFAB & a_diveFluxFaB,
39  const EBFluxFAB & a_faceFluxFAB,
40  const BaseIVFAB<Real> & a_bndyFluxFAB,
41  const Box & a_grid,
42  const EBISBox & a_ebisBox,
43  const RealVect & a_dx,
44  bool a_useEBFlux = true);
45 
46  ///
48  {
49  }
50 
51  ///
52  /**
53  Take the divergence of the incoming fluxes
54  */
55  void divergence(EBCellFAB & a_divF,
56  const EBFluxFAB & a_faceFlux,
57  const BaseIVFAB<Real> & a_bndryFlux,
58  const int & a_destVar,
59  bool incrementOnly = false);
60 protected:
66 
67 private:
68  /// disallowed operators. Without code because Jeff says that is better.
69 
70  ///weak construction is bad.
72 
73  ///deep copy for this object would kill performance
75 
76  ///no reason to allow this one either.
77  DivergenceStencil(const DivergenceStencil& stenin);
78 
79 };
80 
81 #include "NamespaceFooter.H"
82 #endif
DivergenceStencil & operator=(const DivergenceStencil &stenin)
deep copy for this object would kill performance
A reference-counting handle class.
Definition: RefCountedPtr.H:173
#define CH_SPACEDIM
Definition: SPACE.H:51
Definition: EBISBox.H:46
void divergence(EBCellFAB &a_divF, const EBFluxFAB &a_faceFlux, const BaseIVFAB< Real > &a_bndryFlux, const int &a_destVar, bool incrementOnly=false)
A EBFaceFAB-like container for edge-centered fluxes.
Definition: EBFluxFAB.H:25
~DivergenceStencil()
Definition: DivergenceStencil.H:47
DivergenceStencil()
disallowed operators. Without code because Jeff says that is better.
Definition: EBCellFAB.H:29
stencil to evaluate the conservative divergence of a flux
Definition: DivergenceStencil.H:30
RefCountedPtr< AggStencil< EBFaceFAB, EBCellFAB > > m_openStencil[CH_SPACEDIM]
Definition: DivergenceStencil.H:64
bool m_useEBFlux
Definition: DivergenceStencil.H:61
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
RefCountedPtr< AggStencil< BaseIVFAB< Real >, EBCellFAB > > m_bdryStencil
Definition: DivergenceStencil.H:65
Box m_grid
Definition: DivergenceStencil.H:62
RealVect m_dx
Definition: DivergenceStencil.H:63