chombo-discharge
CD_DomainFluxIFFABFactory.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_DomainFluxIFFABFactory_
13 #define CD_DomainFluxIFFABFactory_
14 
15 // Chombo includes
16 #include <Vector.H>
17 #include <ProblemDomain.H>
18 #include <EBISLayout.H>
19 #include <DataIndex.H>
20 
21 // Our includes
22 #include <CD_DomainFluxIFFAB.H>
23 #include <CD_NamespaceHeader.H>
24 
28 class DomainFluxIFFABFactory : public DataFactory<DomainFluxIFFAB>
29 {
30 public:
36  DomainFluxIFFABFactory(const EBISLayout& a_ebisl, const ProblemDomain& a_domain);
37 
42 
50  virtual DomainFluxIFFAB*
51  create(const Box& a_box, int a_nComp, const DataIndex& a_dit) const;
52 
53 protected:
57  EBISLayout m_ebisl;
58 
62  ProblemDomain m_domain;
63 };
64 
65 #include <CD_NamespaceFooter.H>
66 
67 #endif
Declaration of a BaseIFFAB wrapper that holds domain fluxes.
Factory class for making DomainFluxIFFAB.
Definition: CD_DomainFluxIFFABFactory.H:29
virtual DomainFluxIFFAB * create(const Box &a_box, int a_nComp, const DataIndex &a_dit) const
Factory method.
Definition: CD_DomainFluxIFFABFactory.cpp:26
ProblemDomain m_domain
Domain.
Definition: CD_DomainFluxIFFABFactory.H:62
EBISLayout m_ebisl
EBIS layout.
Definition: CD_DomainFluxIFFABFactory.H:57
~DomainFluxIFFABFactory()
Destructor (does nothing)
Definition: CD_DomainFluxIFFABFactory.cpp:22
DomainFluxIFFABFactory(const EBISLayout &a_ebisl, const ProblemDomain &a_domain)
Full constructor.
Definition: CD_DomainFluxIFFABFactory.cpp:16
Class for holding fluxes on domain boundaries.
Definition: CD_DomainFluxIFFAB.H:30