2 #ifndef __PROTO_BOUNDARY_CONDITION__ 3 #define __PROTO_BOUNDARY_CONDITION__ 45 static inline Box Boundary(
Box domainBox,
Face face);
66 template<
class T,
unsigned int C, MemType MEM,
unsigned int D,
unsigned int E>
85 template<
class T,
unsigned int C, MemType MEM,
unsigned int D,
unsigned int E>
104 static inline BCStencil<T> DirichletExtrapStencil(
int dist,
Face face,
int npoints);
115 template<
class T,
unsigned int C, MemType MEM,
unsigned int D,
unsigned int E>
116 static inline void DirichletFillGhost(
129 template<
class T,
unsigned int C, MemType MEM,
unsigned int D,
unsigned int E>
130 static inline void ExtrapolateCorners(
142 template<
class T,
unsigned int C=1, MemType MEM=HOST,
unsigned int D=1,
unsigned int E=1>
147 BC_ConstDirichlet(
Face a_face, T a_value, T a_dx)
152 const StateData& a_state,
153 Box a_domainBox)
const 155 this->Dirichlet(a_flux, a_state, a_domainBox, m_value, m_dx, this->face());
158 T& data() {
return m_value; }
165 template<
class T,
unsigned int C=1, MemType MEM=HOST,
unsigned int D=1,
unsigned int E=1>
171 : m_values(a_values), m_dx(a_dx) { this->m_face = a_face; }
175 const StateData& a_state,
176 Box a_domainBox)
const 178 this->Dirichlet(a_flux, a_state, a_domainBox, m_values, m_dx, this->face());
188 #include "implem/Proto_BoundaryConditionImplem.H" 190 #endif //end include guard Definition: Proto_Face.H:122
static void Dirichlet(Array< BoxData< T, C, MEM, D, E >, DIM > &fluxes, const BoxData< T, C, MEM, D, E > &state, const BoxData< T, C, MEM, D, E > &dirichletBCvalues, Face face, Box interiorBox, Array< T, DIM > dx)
Applies a variable dirichlet boundary condition on a specified face by updating the fluxes in all dir...
Definition: Proto_BoundaryCondition.H:73
Multidimensional Rectangular Array.
Definition: Proto_BoxData.H:314
A Linear Stencil Operation.
Definition: Proto_BoxData.H:76
static void Dirichlet(Array< BoxData< T, C, MEM, D, E >, DIM > &fluxes, const BoxData< T, C, MEM, D, E > &state, T dirichletBCValue, Face face, Box interiorBox, Array< T, DIM > dx)
Applies a constant dirichlet boundary condition on a specified face by updating the fluxes in all dir...
Definition: Proto_BoundaryCondition.H:47
An interval in DIM dimensional space.
Definition: Proto_Box.H:29
A variation of Stencil used for applying boundary conditions. Consider the diagram below...
Definition: Proto_BoundaryCondition.H:29
T coef
Definition: Proto_BoundaryCondition.H:31
Definition: Proto_Array.H:17
A templated constant size array object similar to std::array, but with the ability to be used inside ...
Definition: Proto_Array.H:28
Stencil< T > stencil
Definition: Proto_BoundaryCondition.H:30
Library of utility functions for assisiting in the application of boundary conditions.
Definition: Proto_BoundaryCondition.H:35