21 #include "NamespaceHeader.H" 72 bool a_homogeneous) = 0;
90 operator()(a_state, a_valid, a_domain, a_dx, a_homogeneous);
103 const bool homogeneous)
108 operator()(ph[dit], dbl[dit], dbl.
physDomain(), dx, homogeneous);
114 const bool homogeneous)
117 for (
int i=0; i<phi.size(); i++)
167 if (m_funcptr != NULL)
169 m_funcptr(a_state, a_valid, a_domain, a_dx, a_homogeneous);
173 m_bc->operator()(a_state, a_valid, a_domain, a_dx, a_index, a_homogeneous);
182 m_bc->setTime(a_time);
247 if (m_funcptr != NULL)
249 m_funcptr(a_pos, a_dir, a_side, a_value);
253 m_bc->operator()(a_pos, a_dir, a_side, a_value);
287 m_funcptr(a_state, a_valid, a_domain, a_dx, a_homogeneous);
499 #include "NamespaceFooter.H" virtual ~BCValueFunction()
Definition: BCFunc.H:213
virtual void setTime(const Real &a_time)
Definition: BCFunc.H:97
virtual void operator()(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)=0
virtual void operator()(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, const DataIndex &a_index, bool a_homogeneous)
Definition: BCFunc.H:83
this BCFunction simply wraps a BCFunc
Definition: BCFunc.H:263
void fillGhostCells(const Vector< LevelData< FArrayBox > *> &phi, const Real dx0, const Vector< int > &refV, const bool homogeneous)
Fill the ghost cells for a Hierarchy of levels.
Definition: BCFunc.H:112
const ProblemDomain & physDomain() const
RefCountedPtr< BCFunction > m_bc
Definition: BCFunc.H:193
BCFuncWrapper(BCFunc funcptr)
Definition: BCFunc.H:270
#define CH_assert(cond)
Definition: CHArray.H:37
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
virtual ~BCValueHolder()
Definition: BCFunc.H:238
void operator()(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous, const DataIndex a_index=DataIndex())
Definition: BCFunc.H:160
BCFunc m_funcptr
Definition: BCFunc.H:192
BCValueHolder(RefCountedPtr< BCValueFunction > refptr)
Definition: BCFunc.H:234
void fillGhostCells(const LevelData< FArrayBox > &phi, const Real dx, const bool homogeneous)
Fill the ghost cells for a single level.
Definition: BCFunc.H:102
RealVect m_hiSideValue
Definition: BCFunc.H:330
one dimensional dynamic array
Definition: Vector.H:53
RefCountedPtr< BCFunction > ConstDiriNeumBC(const IntVect &a_loSideType, const RealVect &a_loSideValue, const IntVect &a_hiSideType, const RealVect &a_hiSideValue)
void(* BCValueFunc)(Real *a_pos, int *a_dir, Side::LoHiSide *a_side, Real *a_value)
Definition: BCFunc.H:205
void doNothingBC(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)
For use with pure periodic BC.
DataIterator dataIterator() const
Definition: LayoutDataI.H:78
virtual bool ok() const
return true if this iterator is still in its Layout
Definition: LayoutIterator.H:117
Definition: DataIterator.H:190
BCFunction()
Base class constructor. Called by all subclass constructors.
Definition: BCFunc.H:51
BCHolder(BCFunc funcptr)
Creates a BCHolder using a function pointer.
Definition: BCFunc.H:148
IntVect m_hiSideType
Definition: BCFunc.H:329
void(* BCFunc)(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)
Definition: BCFunc.H:30
IntVect m_loSideType
Definition: BCFunc.H:326
void ExtrapolateBC(FArrayBox &a_state, const Box &a_valid, Real a_dx, int a_dir, Side::LoHiSide a_side, Interval &a_interval, int a_order=1)
BCFunc m_funcptr
Definition: BCFunc.H:302
Structure for passing component ranges in code.
Definition: Interval.H:23
BCHolder(RefCountedPtr< BCFunction > refptr)
Creates a BCHolder using a BCFunction instance.
Definition: BCFunc.H:153
void setTime(Real a_time)
Definition: BCFunc.H:179
void NeumBC(FArrayBox &a_state, const Box &a_valid, Real a_dx, bool a_homogeneous, const BCValueHolder &a_value, int a_dir, Side::LoHiSide a_side, Interval &a_interval)
BCValueHolder(BCValueFunc funcptr)
Definition: BCFunc.H:230
double Real
Definition: REAL.H:33
virtual ~BCFuncWrapper()
Definition: BCFunc.H:275
BCHolder()
Definition: BCFunc.H:143
void DiriBC(FArrayBox &a_state, const Box &a_valid, Real a_dx, bool a_homogeneous, BCValueHolder a_value, int a_dir, Side::LoHiSide a_side, Interval &a_interval, int a_order=1)
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
LoHiSide
Definition: LoHiSide.H:27
RefCountedPtr< BCFunction > getBCFunction()
Provides access to the bc function.
Definition: BCFunc.H:186
RealVect m_loSideValue
Definition: BCFunc.H:327
void ReflectiveVectorBC(FArrayBox &a_state, const Box &a_valid, Real a_dx, int a_dir, Side::LoHiSide a_side, int a_order=2)
BCFuncWrapper(const BCFuncWrapper &src)
Definition: BCFunc.H:291
BCValueHolder()
Definition: BCFunc.H:226
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:465
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
RefCountedPtr< BCValueFunction > m_bc
Definition: BCFunc.H:259
BCFunction & operator=(const BCFunction &)
Definition: DataIndex.H:112
const DisjointBoxLayout & disjointBoxLayout() const
Definition: LevelData.H:225
BCFuncWrapper()
Definition: BCFunc.H:266
void NoSlipVectorBC(FArrayBox &a_state, const Box &a_valid, Real a_dx, int a_dir, Side::LoHiSide a_side, int a_order=2)
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
Definition: FArrayBox.H:45
virtual void operator()(Real *a_pos, int *a_dir, Side::LoHiSide *a_side, Real *a_value)
Definition: BCFunc.H:242
virtual ~BCFunction()
Destructor.
Definition: BCFunc.H:56
BCValueFunc m_funcptr
Definition: BCFunc.H:258
virtual void operator()(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)
simply calls through to bcFunc
Definition: BCFunc.H:280
virtual BCFuncWrapper & operator=(const BCFuncWrapper &src)
Definition: BCFunc.H:295