13#ifndef CD_DOMAINFLUXIFFAB_H
14#define CD_DOMAINFLUXIFFAB_H
18#include <ProblemDomain.H>
19#include <EBISLayout.H>
22#include <CD_NamespaceHeader.H>
56 DomainFluxIFFAB(
const ProblemDomain& a_domain,
const EBISBox& a_ebisbox,
const Box& a_box,
const int a_nComp);
106 define(
const ProblemDomain& a_domain,
const EBISBox& a_ebisbox,
const Box& a_box,
const int a_nComp);
115 operator()(
const int a_dir,
const Side::LoHiSide a_side);
123 const BaseIFFAB<Real>&
124 operator()(
const int a_dir,
const Side::LoHiSide a_side)
const;
133 size(
const Box& R,
const Interval& comps)
const;
143 linearOut(
void* buf,
const Box& R,
const Interval& comps)
const;
153 linearIn(
void* buf,
const Box& R,
const Interval& comps);
168 copy(
const Box& Rfrom,
const Interval& Cdest,
const Box& Rto,
const DomainFluxIFFAB& src,
const Interval& Csrc);
219#include <CD_NamespaceFooter.H>
Class for holding fluxes on domain boundaries.
Definition CD_DomainFluxIFFAB.H:32
~DomainFluxIFFAB()
Destructor (does nothing)
Definition CD_DomainFluxIFFAB.cpp:38
Tuple< BaseIFFAB< Real > *, CH_SPACEDIM > m_fluxLo
BaseIFFABs on Side::Lo sides.
Definition CD_DomainFluxIFFAB.H:199
void setDefaultValues()
Set default values.
Definition CD_DomainFluxIFFAB.cpp:212
static int preAllocatable()
Pre allocatable.
Definition CD_DomainFluxIFFAB.H:39
EBISBox m_ebisbox
EBISBox.
Definition CD_DomainFluxIFFAB.H:184
Tuple< BaseIFFAB< Real > *, CH_SPACEDIM > m_fluxHi
BaseIFFABs on Side::Hi sides.
Definition CD_DomainFluxIFFAB.H:204
int nComp() const
Get number of components.
Definition CD_DomainFluxIFFAB.cpp:59
Box m_box
Defining box.
Definition CD_DomainFluxIFFAB.H:179
void linearOut(void *buf, const Box &R, const Interval &comps) const
Linearization function.
Definition CD_DomainFluxIFFAB.cpp:99
ProblemDomain m_domain
Defining domain.
Definition CD_DomainFluxIFFAB.H:174
const ProblemDomain & getDomain() const
Get the defining problem domain.
Definition CD_DomainFluxIFFAB.cpp:65
int size(const Box &R, const Interval &comps) const
Linearization function.
Definition CD_DomainFluxIFFAB.cpp:85
BaseIFFAB< Real > & operator()(const int a_dir, const Side::LoHiSide a_side)
Get the BaseIFFAB on a particular domain side.
Definition CD_DomainFluxIFFAB.cpp:265
int m_nComp
Number of components.
Definition CD_DomainFluxIFFAB.H:189
void linearIn(void *buf, const Box &R, const Interval &comps)
Linearization function.
Definition CD_DomainFluxIFFAB.cpp:119
DomainFluxIFFAB()
Default constructor. Must subsequently call define.
Definition CD_DomainFluxIFFAB.cpp:20
const EBISBox & getEBISBox() const
Get the defining ebis box.
Definition CD_DomainFluxIFFAB.cpp:71
const Box & box() const
Get the defining box.
Definition CD_DomainFluxIFFAB.cpp:53
void define(const DomainFluxIFFAB &a_copy)
Make a clone of an input data holder.
Definition CD_DomainFluxIFFAB.cpp:77
bool m_isDefined
Is defined or not.
Definition CD_DomainFluxIFFAB.H:194
void copy(const Box &Rfrom, const Interval &Cdest, const Box &Rto, const DomainFluxIFFAB &src, const Interval &Csrc)
Copy functiopn.
Definition CD_DomainFluxIFFAB.cpp:247
void clear()
Clear object.
Definition CD_DomainFluxIFFAB.cpp:228