chombo-discharge
CD_MFReflux.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_MFReflux_H
13 #define CD_MFReflux_H
14 
15 // Chombo includes
16 #include <RefCountedPtr.H>
17 
18 // Our includes
19 #include <CD_EBReflux.H>
20 #include <CD_NamespaceHeader.H>
21 
25 class MFReflux
26 {
27 public:
31  MFReflux();
32 
37  MFReflux(const Vector<RefCountedPtr<EBReflux>>& a_fluxRegs);
38 
42  ~MFReflux();
43 
48  void
49  define(const Vector<RefCountedPtr<EBReflux>>& a_fluxRegs);
50 
55  const RefCountedPtr<EBReflux>&
56  getFluxRegPointer(const int a_phase) const;
57 
62  EBReflux&
63  getFluxReg(const int a_phase);
64 
69  const EBReflux&
70  getFluxReg(const int a_phase) const;
71 
72 protected:
76  Vector<RefCountedPtr<EBReflux>> m_fluxRegs;
77 };
78 
79 #include <CD_NamespaceFooter.H>
80 
81 #endif
Declaration of a class which can reflux over the coarse-fine interface.
Class which can do refluxing across a coarse-fine interface.
Definition: CD_EBReflux.H:37
Class which wraps EBRefluxs in multiphase.
Definition: CD_MFReflux.H:26
~MFReflux()
Destructor (does nothing)
Definition: CD_MFReflux.cpp:24
const RefCountedPtr< EBReflux > & getFluxRegPointer(const int a_phase) const
Get flux register for specified phase.
Definition: CD_MFReflux.cpp:34
MFReflux()
Weak constructor. Must subsequently call define.
Definition: CD_MFReflux.cpp:16
Vector< RefCountedPtr< EBReflux > > m_fluxRegs
Flux register for each phase.
Definition: CD_MFReflux.H:76
EBReflux & getFluxReg(const int a_phase)
Get flux register for specified phase.
Definition: CD_MFReflux.cpp:40
void define(const Vector< RefCountedPtr< EBReflux >> &a_fluxRegs)
Define function.
Definition: CD_MFReflux.cpp:28