Chombo + EB + MF  3.2
ExtrapAdvectBC.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 _EXTRAPADVECTBC_H_
12 #define _EXTRAPADVECTBC_H_
13 
14 #include <iostream>
15 
16 #include "LevelData.H"
17 #include "FArrayBox.H"
18 #include "Vector.H"
19 #include "RealVect.H"
20 #include "AMRIO.H"
21 
22 #include "EBPhysIBC.H"
23 #include "EBPhysIBCFactory.H"
24 #include "NamespaceHeader.H"
25 
26 ///uses extrapolated value in all cases
27 class ExtrapAdvectBC : public EBPhysIBC
28 {
29 public:
30  virtual ~ExtrapAdvectBC();
31 
32  ///
34 
35 
36  ///
37  void define(const ProblemDomain& a_domain,
38  const RealVect& a_dx);
39 
40  void setCurDataIndex(const DataIndex& a_dit)
41  {
42  }
43 
44  /// For every box in this level, this function is called.
45  void fluxBC(EBFluxFAB& a_flux,
46  const EBCellFAB& a_Wcenter,
47  const EBCellFAB& a_Wextrap,
48  const Side::LoHiSide& a_sd,
49  const Real& a_time,
50  const EBISBox& a_ebisBox,
51  const DataIndex& a_dit,
52  const Box& a_box,
53  const Box& a_faceBox,
54  const int& a_dir);
55 
56  /// Initialize---no op here
57  void initialize(LevelData<EBCellFAB>& a_conState,
58  const EBISLayout& a_ebisl) const;
59 
60  /// Set boundary slopes --no op here
61  void setBndrySlopes(EBCellFAB& a_deltaPrim,
62  const EBCellFAB& a_primState,
63  const EBISBox& a_ebisBox,
64  const Box& a_box,
65  const int& a_dir)
66  {;}
67 
68 
69 protected:
73 
74 };
75 
76 
77 ///
78 /**
79  */
81 {
82 public:
83 
84  ///
86 
87  ///
89 
90 
91  ///
92  EBPhysIBC* create() const;
93 
94 
95 };
96 
97 #include "NamespaceFooter.H"
98 #endif
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
void setCurDataIndex(const DataIndex &a_dit)
Definition: ExtrapAdvectBC.H:40
Definition: EBISBox.H:46
uses extrapolated value in all cases
Definition: ExtrapAdvectBC.H:27
void setBndrySlopes(EBCellFAB &a_deltaPrim, const EBCellFAB &a_primState, const EBISBox &a_ebisBox, const Box &a_box, const int &a_dir)
Set boundary slopes –no op here.
Definition: ExtrapAdvectBC.H:61
void initialize(LevelData< EBCellFAB > &a_conState, const EBISLayout &a_ebisl) const
Initialize—no op here.
bool m_isDefined
Definition: ExtrapAdvectBC.H:70
A EBFaceFAB-like container for edge-centered fluxes.
Definition: EBFluxFAB.H:25
RealVect m_dx
Definition: ExtrapAdvectBC.H:71
void fluxBC(EBFluxFAB &a_flux, const EBCellFAB &a_Wcenter, const EBCellFAB &a_Wextrap, const Side::LoHiSide &a_sd, const Real &a_time, const EBISBox &a_ebisBox, const DataIndex &a_dit, const Box &a_box, const Box &a_faceBox, const int &a_dir)
For every box in this level, this function is called.
Definition: EBCellFAB.H:29
double Real
Definition: REAL.H:33
virtual ~ExtrapAdvectBC()
ProblemDomain m_domain
Definition: ExtrapAdvectBC.H:72
LoHiSide
Definition: LoHiSide.H:27
Definition: EBPhysIBCFactory.H:25
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
Definition: EBPhysIBC.H:27
Definition: DataIndex.H:114
Definition: ExtrapAdvectBC.H:80
Definition: EBISLayout.H:39
void define(const ProblemDomain &a_domain, const RealVect &a_dx)