Class to specify the type of a boundary. More...
#include <dumux/common/boundarytypes.hh>
Class to specify the type of a boundary.
Classes | |
struct | BoundaryInfo |
use bitfields to minimize the size More... | |
Public Member Functions | |
BoundaryTypes () | |
void | reset () |
Reset the boundary types for all equations. More... | |
void | resetEq (int eqIdx) |
Reset the boundary types for one equation. More... | |
bool | isSet (int eqIdx) const |
Returns true if the boundary types for a given equation has been specified. More... | |
void | checkWellPosed () const |
Make sure the boundary conditions are well-posed. More... | |
void | setAllNeumann () |
Set all boundary conditions to Neumann. More... | |
void | setAllDirichlet () |
Set all boundary conditions to Dirichlet. More... | |
void | setAllCouplingDirichlet () |
Set all boundary conditions to Dirichlet-like coupling. More... | |
void | setAllCouplingNeumann () |
Set all boundary conditions to Neumann-like coupling. More... | |
void | setNeumann (int eqIdx) |
Set a Neumann boundary condition for a single equation. More... | |
void | setDirichlet (int pvIdx, int eqIdx) |
Set a Dirichlet boundary condition for a single primary variable. More... | |
void | setCouplingDirichlet (int eqIdx) |
Set a boundary condition for a single equation to a Dirichlet-like coupling condition. More... | |
void | setCouplingNeumann (int eqIdx) |
Set a boundary condition for a single equation to a Neumann-like coupling condition. More... | |
void | setDirichlet (int pvIdx) |
Set a Dirichlet boundary condition for a single primary variable. More... | |
bool | isDirichlet (unsigned eqIdx) const |
Returns true if an equation is used to specify a Dirichlet condition. More... | |
bool | hasOnlyDirichlet () const |
Returns true if all equations are used to specify a Dirichlet condition. More... | |
bool | hasDirichlet () const |
Returns true if some equation is used to specify a Dirichlet condition. More... | |
bool | isNeumann (unsigned eqIdx) const |
Returns true if an equation is used to specify a Neumann condition. More... | |
bool | hasOnlyNeumann () const |
Returns true if all equations are used to specify a Neumann condition. More... | |
bool | hasNeumann () const |
Returns true if some equation is used to specify a Neumann condition. More... | |
bool | isCouplingDirichlet (unsigned eqIdx) const |
Returns true if an equation is used to specify an Dirichlet coupling condition. More... | |
bool | hasCouplingDirichlet () const |
Returns true if some equation is used to specify an Dirichlet coupling condition. More... | |
bool | isCouplingNeumann (unsigned eqIdx) const |
Returns true if an equation is used to specify an Neumann coupling condition. More... | |
bool | hasCouplingNeumann () const |
Returns true if some equation is used to specify an Neumann coupling condition. More... | |
bool | isCoupling (unsigned eqIdx) const |
Returns true if an equation is used to specify a coupling condition. More... | |
bool | hasCoupling () const |
Returns true if some equation is used to specify a coupling condition. More... | |
unsigned | dirichletToEqIndex (unsigned pvIdx) const |
Returns the index of the equation which should be used for the Dirichlet condition of the pvIdx's primary variable. More... | |
unsigned | eqToDirichletIndex (unsigned eqIdx) const |
Returns the index of the primary variable which should be used for the Dirichlet condition given an equation index. More... | |
Static Public Member Functions | |
static constexpr int | size () |
we have a boundary condition for each equation More... | |
Protected Attributes | |
std::array< BoundaryInfo, numEq > | boundaryInfo_ |
std::array< unsigned int, numEq > | eq2pvIdx_ |
std::array< unsigned int, numEq > | pv2eqIdx_ |
|
inline |
|
inline |
Make sure the boundary conditions are well-posed.
If they are not, an assertion fails and the program aborts! (if the NDEBUG macro is not defined)
|
inline |
Returns the index of the equation which should be used for the Dirichlet condition of the pvIdx's primary variable.
pvIdx | The index of the primary variable which is be set by the Dirichlet condition. |
|
inline |
Returns the index of the primary variable which should be used for the Dirichlet condition given an equation index.
eqIdx | The index of the equation which is used to set the Dirichlet condition. |
|
inline |
Returns true if some equation is used to specify a coupling condition.
|
inline |
Returns true if some equation is used to specify an Dirichlet coupling condition.
|
inline |
Returns true if some equation is used to specify an Neumann coupling condition.
|
inline |
Returns true if some equation is used to specify a Dirichlet condition.
|
inline |
Returns true if some equation is used to specify a Neumann condition.
|
inline |
Returns true if all equations are used to specify a Dirichlet condition.
|
inline |
Returns true if all equations are used to specify a Neumann condition.
|
inline |
Returns true if an equation is used to specify a coupling condition.
eqIdx | The index of the equation |
|
inline |
Returns true if an equation is used to specify an Dirichlet coupling condition.
eqIdx | The index of the equation |
|
inline |
Returns true if an equation is used to specify an Neumann coupling condition.
eqIdx | The index of the equation |
|
inline |
Returns true if an equation is used to specify a Dirichlet condition.
eqIdx | The index of the equation |
|
inline |
Returns true if an equation is used to specify a Neumann condition.
eqIdx | The index of the equation |
|
inline |
Returns true if the boundary types for a given equation has been specified.
eqIdx | The index of the equation |
|
inline |
Reset the boundary types for all equations.
After this method no equations will be disabled and neither Neumann nor Dirichlet conditions will be evaluated. This corresponds to a Neumann zero boundary.
|
inline |
Reset the boundary types for one equation.
|
inline |
Set all boundary conditions to Dirichlet-like coupling.
|
inline |
Set all boundary conditions to Neumann-like coupling.
|
inline |
Set all boundary conditions to Dirichlet.
|
inline |
Set all boundary conditions to Neumann.
|
inline |
Set a boundary condition for a single equation to a Dirichlet-like coupling condition.
|
inline |
Set a boundary condition for a single equation to a Neumann-like coupling condition.
|
inline |
Set a Dirichlet boundary condition for a single primary variable.
Depending on the discretization, setting the Dirichlet condition will replace the balance equation with index equal to pvIdx.
pvIdx | The index of the primary variable inside a PrimaryVariables object. |
|
inline |
Set a Dirichlet boundary condition for a single primary variable.
pvIdx | The index of the primary variable for which the Dirichlet condition should apply. |
eqIdx | The index of the equation which should used to set the Dirichlet condition |
|
inline |
Set a Neumann boundary condition for a single equation.
eqIdx | The index of the equation |
|
inlinestaticconstexpr |
we have a boundary condition for each equation
|
protected |
|
protected |
|
protected |