Chombo + EB  3.0
NeumannConductivityDomainBC.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 _NEUMANNCONDUCTIVITYDOMAINBC_H_
12 #define _NEUMANNCONDUCTIVITYDOMAINBC_H_
13 
14 #include "RefCountedPtr.H"
15 
16 #include "NeumannPoissonDomainBC.H"
17 #include "BaseBCValue.H"
18 #include "NamespaceHeader.H"
19 
21 {
22 public:
24 
26 
27  virtual void setValue(Real a_value);
28 
29  virtual int whichBC(int a_idir,
30  Side::LoHiSide a_side);
31 
32  virtual void setFunction(RefCountedPtr<BaseBCValue> a_flux);
33 
34  virtual void getFaceFlux(BaseFab<Real>& a_faceFlux,
35  const BaseFab<Real>& a_phi,
36  const RealVect& a_probLo,
37  const RealVect& a_dx,
38  const int& a_idir,
39  const Side::LoHiSide& a_side,
40  const DataIndex& a_dit,
41  const Real& a_time,
42  const bool& a_useHomogeneous);
43 
44  virtual void getFaceFlux(Real& a_faceFlux,
45  const VolIndex& a_vof,
46  const int& a_comp,
47  const EBCellFAB& a_phi,
48  const RealVect& a_probLo,
49  const RealVect& a_dx,
50  const int& a_idir,
51  const Side::LoHiSide& a_side,
52  const DataIndex& a_dit,
53  const Real& a_time,
54  const bool& a_useHomogeneous);
55 
56  virtual void getFaceGradPhi(Real& a_faceFlux,
57  const FaceIndex& a_face,
58  const int& a_comp,
59  const EBCellFAB& a_phi,
60  const RealVect& a_probLo,
61  const RealVect& a_dx,
62  const int& a_idir,
63  const Side::LoHiSide& a_side,
64  const DataIndex& a_dit,
65  const Real& a_time,
66  const bool& a_useAreaFrac,
67  const RealVect& a_centroid,
68  const bool& a_useHomogeneous);
69 
70  virtual void getFaceVel(Real& a_faceFlux,
71  const FaceIndex& a_face,
72  const EBFluxFAB& a_vel,
73  const RealVect& a_probLo,
74  const RealVect& a_dx,
75  const int& a_idir,
76  const int& a_icomp,
77  const Real& a_time,
78  const Side::LoHiSide& a_side,
79  const bool& a_doDivFreeOutflow);
80 
81 private:
84 
87 };
88 
90 {
91 public:
93 
95 
96  virtual void setValue(Real a_value);
97 
98  virtual void setFunction(RefCountedPtr<BaseBCValue> a_flux);
99 
100  virtual NeumannConductivityDomainBC* create(const ProblemDomain& a_domain,
101  const EBISLayout& a_layout,
102  const RealVect& a_dx);
103 
104 private:
107 
110 };
111 
112 #include "NamespaceFooter.H"
113 #endif
virtual void setFunction(RefCountedPtr< BaseBCValue > a_flux)
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
Real m_value
Definition: NeumannConductivityDomainBC.H:85
Definition: FaceIndex.H:28
Real m_value
Definition: NeumannConductivityDomainBC.H:108
Definition: BaseDomainBC.H:305
virtual void getFaceGradPhi(Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid, const bool &a_useHomogeneous)
virtual void setValue(Real a_value)
RefCountedPtr< BaseBCValue > m_flux
Definition: NeumannConductivityDomainBC.H:86
A EBFaceFAB-like container for edge-centered fluxes.
Definition: EBFluxFAB.H:25
virtual void getFaceVel(Real &a_faceFlux, const FaceIndex &a_face, const EBFluxFAB &a_vel, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const int &a_icomp, const Real &a_time, const Side::LoHiSide &a_side, const bool &a_doDivFreeOutflow)
virtual void setFunction(RefCountedPtr< BaseBCValue > a_flux)
Definition: EBCellFAB.H:29
virtual void setValue(Real a_value)
RefCountedPtr< BaseBCValue > m_flux
Definition: NeumannConductivityDomainBC.H:109
bool m_onlyHomogeneous
Definition: NeumannConductivityDomainBC.H:105
double Real
Definition: REAL.H:33
bool m_isFunction
Definition: NeumannConductivityDomainBC.H:106
Definition: BaseDomainBC.H:343
LoHiSide
Definition: LoHiSide.H:27
virtual int whichBC(int a_idir, Side::LoHiSide a_side)
bool m_onlyHomogeneous
Definition: NeumannConductivityDomainBC.H:82
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
virtual NeumannConductivityDomainBC * create(const ProblemDomain &a_domain, const EBISLayout &a_layout, const RealVect &a_dx)
Definition: NeumannConductivityDomainBC.H:89
Definition: DataIndex.H:112
Volume of Fluid Index.
Definition: VolIndex.H:31
Definition: EBISLayout.H:39
virtual ~NeumannConductivityDomainBC()
bool m_isFunction
Definition: NeumannConductivityDomainBC.H:83
virtual void getFaceFlux(BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous)
Definition: NeumannConductivityDomainBC.H:20