21 #include "NamespaceHeader.H" 73 bool a_homogeneous) = 0;
91 operator()(a_state, a_valid, a_domain, a_dx, a_homogeneous);
104 const bool homogeneous)
109 operator()(ph[dit], dbl[dit], dbl.
physDomain(), dx, homogeneous);
116 const bool homogeneous)
119 for (
int i=0; i<phi.size(); i++)
169 if (m_funcptr != NULL)
171 m_funcptr(a_state, a_valid, a_domain, a_dx, a_homogeneous);
175 m_bc->operator()(a_state, a_valid, a_domain, a_dx, a_index, a_homogeneous);
184 m_bc->setTime(a_time);
250 if (m_funcptr != NULL)
252 m_funcptr(a_pos, a_dir, a_side, a_value);
256 m_bc->operator()(a_pos, a_dir, a_side, a_value);
461 #include "NamespaceFooter.H" virtual ~BCValueFunction()
Definition: BCFunc.H:216
virtual void setTime(const Real &a_time)
Definition: BCFunc.H:98
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:84
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:114
const ProblemDomain & physDomain() const
RefCountedPtr< BCFunction > m_bc
Definition: BCFunc.H:195
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
virtual ~BCValueHolder()
Definition: BCFunc.H:241
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:162
BCFunc m_funcptr
Definition: BCFunc.H:194
BCValueHolder(RefCountedPtr< BCValueFunction > refptr)
Definition: BCFunc.H:237
void fillGhostCells(const LevelData< FArrayBox > &phi, const Real dx, const bool homogeneous)
Fill the ghost cells for a single level.
Definition: BCFunc.H:103
RealVect m_hiSideValue
Definition: BCFunc.H:288
one dimensional dynamic array
Definition: Vector.H:52
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:207
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:79
virtual bool ok() const
return true if this iterator is still in its Layout
Definition: LayoutIterator.H:110
Definition: DataIterator.H:140
BCFunction()
Base class constructor. Called by all subclass constructors.
Definition: BCFunc.H:52
BCHolder(BCFunc funcptr)
Creates a BCHolder using a function pointer.
Definition: BCFunc.H:150
IntVect m_hiSideType
Definition: BCFunc.H:287
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:284
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)
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:155
void setTime(Real a_time)
Definition: BCFunc.H:181
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:233
double Real
Definition: REAL.H:33
BCHolder()
Definition: BCFunc.H:145
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:31
LoHiSide
Definition: LoHiSide.H:27
RefCountedPtr< BCFunction > getBCFunction()
Provides access to the bc function.
Definition: BCFunc.H:188
RealVect m_loSideValue
Definition: BCFunc.H:285
void ReflectiveVectorBC(FArrayBox &a_state, const Box &a_valid, Real a_dx, int a_dir, Side::LoHiSide a_side, int a_order=2)
BCValueHolder()
Definition: BCFunc.H:229
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:262
BCFunction & operator=(const BCFunction &)
Definition: DataIndex.H:112
const DisjointBoxLayout & disjointBoxLayout() const
Definition: LevelData.H:196
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:44
virtual void operator()(Real *a_pos, int *a_dir, Side::LoHiSide *a_side, Real *a_value)
Definition: BCFunc.H:245
virtual ~BCFunction()
Destructor.
Definition: BCFunc.H:57
BCValueFunc m_funcptr
Definition: BCFunc.H:261