chombo-discharge
CD_MFInterfaceFAB.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_MFInterfaceFAB_H
13 #define CD_MFInterfaceFAB_H
14 
15 // Chombo includes
16 #include <BoxLayoutData.H>
17 #include <BaseIVFAB.H>
18 #include <IntVectSet.H>
19 
20 // Our includes
22 #include <CD_MFLevelGrid.H>
23 #include <CD_NamespaceHeader.H>
24 
28 template <class T>
30 {
31 public:
36 
42  MFInterfaceFAB(const MFLevelGrid& a_mflg, const DataIndex& a_dit);
43 
47  virtual ~MFInterfaceFAB();
48 
54  virtual void
55  define(const MFLevelGrid& a_mflg, const DataIndex& a_dit);
56 
61  virtual const IntVectSet&
62  getIVS() const;
63 
68  virtual BaseIVFAB<T>&
69  getIVFAB(const int a_phase);
70 
75  virtual const BaseIVFAB<T>&
76  getIVFAB(const int a_phase) const;
77 
82  virtual BaseIVFAB<T>*
83  getPhasePtr(int a_phase);
84 
88  virtual int
89  numPhases() const;
90 
94  virtual void
95  setVal(const T& a_value);
96 
97 protected:
101  Vector<BaseIVFAB<T>*> m_phase;
102 
106  IntVectSet m_ivs;
107 };
108 
109 #include <CD_NamespaceFooter.H>
110 
111 #include <CD_MFInterfaceFABImplem.H>
112 
113 #endif
Implementation of CD_MFInterfaceFAB.H.
Declaration of a wrapper for wrapping multifluid EBLevelGrids.
Multi-fluid index space.
Class for holding BaseIVFAB<T> on the interface between two phases.
Definition: CD_MFInterfaceFAB.H:30
MFInterfaceFAB()
Constructor. Must subsequently call define.
Definition: CD_MFInterfaceFABImplem.H:20
virtual int numPhases() const
Get number of phases.
Definition: CD_MFInterfaceFABImplem.H:87
virtual BaseIVFAB< T > & getIVFAB(const int a_phase)
Get BaseIVFAB for specified phase.
Definition: CD_MFInterfaceFABImplem.H:66
virtual void define(const MFLevelGrid &a_mflg, const DataIndex &a_dit)
Define function.
Definition: CD_MFInterfaceFABImplem.H:39
virtual ~MFInterfaceFAB()
Destructor.
Definition: CD_MFInterfaceFABImplem.H:30
virtual const IntVectSet & getIVS() const
Get defining region.
Definition: CD_MFInterfaceFABImplem.H:59
virtual void setVal(const T &a_value)
Set value on both fabs.
Definition: CD_MFInterfaceFABImplem.H:94
IntVectSet m_ivs
Defining region.
Definition: CD_MFInterfaceFAB.H:106
Vector< BaseIVFAB< T > * > m_phase
Pointers to storage on both phases.
Definition: CD_MFInterfaceFAB.H:101
virtual BaseIVFAB< T > * getPhasePtr(int a_phase)
Get BaseIVFAB for specified phase.
Definition: CD_MFInterfaceFABImplem.H:80
Wrapper class for holding multifluid EBLevelGrids.
Definition: CD_MFLevelGrid.H:29