Chombo + EB  3.0
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  /// For every box in this level, this function is called.
41  void fluxBC(EBFluxFAB& a_flux,
42  const EBCellFAB& a_Wcenter,
43  const EBCellFAB& a_Wextrap,
44  const Side::LoHiSide& a_sd,
45  const Real& a_time,
46  const EBISBox& a_ebisBox,
47  const DataIndex& a_dit,
48  const Box& a_box,
49  const Box& a_faceBox,
50  const int& a_dir);
51 
52  /// Initialize---no op here
53  void initialize(LevelData<EBCellFAB>& a_conState,
54  const EBISLayout& a_ebisl) const;
55 
56  /// Set boundary slopes --no op here
57  void setBndrySlopes(EBCellFAB& a_deltaPrim,
58  const EBCellFAB& a_primState,
59  const EBISBox& a_ebisBox,
60  const Box& a_box,
61  const int& a_dir)
62  {;}
63 
64 
65 protected:
69 
70 };
71 
72 
73 ///
74 /**
75  */
77 {
78 public:
79 
80  ///
82 
83  ///
85 
86 
87  ///
88  EBPhysIBC* create() const;
89 
90 
91 };
92 
93 #include "NamespaceFooter.H"
94 #endif
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
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:57
bool m_isDefined
Definition: ExtrapAdvectBC.H:66
A EBFaceFAB-like container for edge-centered fluxes.
Definition: EBFluxFAB.H:25
RealVect m_dx
Definition: ExtrapAdvectBC.H:67
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:68
LoHiSide
Definition: LoHiSide.H:27
Definition: EBPhysIBCFactory.H:25
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
Definition: EBPhysIBC.H:27
void initialize(LevelData< EBCellFAB > &a_conState, const EBISLayout &a_ebisl) const
Initialize—no op here.
Definition: DataIndex.H:112
Definition: ExtrapAdvectBC.H:76
Definition: EBISLayout.H:39
void define(const ProblemDomain &a_domain, const RealVect &a_dx)
EBPhysIBC * create() const