template<class Implementation>
class Dumux::PrimaryVariableSwitch< Implementation >
The primary variable switch controlling the phase presence state variable.
|
| PrimaryVariableSwitch (int verbosity=1) |
|
bool | wasSwitched (std::size_t dofIdxGlobal) const |
| If the primary variables were recently switched. More...
|
|
void | reset (const std::size_t numDofs) |
| Reset all flags. More...
|
|
template<class SolutionVector , class GridVariables , class Problem > |
bool | update (SolutionVector &curSol, GridVariables &gridVariables, const Problem &problem, const typename GridVariables::GridGeometry &gridGeometry) |
| Updates the variable switch / phase presence. More...
|
|
template<class Problem , class GridVariables , class SolutionVector > |
void | updateSwitchedVolVars (const Problem &problem, const typename GridVariables::GridGeometry::GridView::template Codim< 0 >::Entity &element, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, const SolutionVector &sol) |
| Updates the volume variables whose primary variables were switched. More...
|
|
template<class Problem , class GridVariables , class SolutionVector > |
void | updateSwitchedFluxVarsCache (const Problem &problem, const typename GridVariables::GridGeometry::GridView::template Codim< 0 >::Entity &element, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, const SolutionVector &sol) |
| Updates the fluxVars cache for dof whose primary variables were switched. More...
|
|
template<class Problem , class GridVariables , class SolutionVector > |
void | updateBoundary (const Problem &problem, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, SolutionVector &sol) |
| Updates the the primary variables state at the boundary. More...
|
|
template<class Problem , class GridVariables , class SolutionVector > |
void | updateDirichletConstraints (const Problem &problem, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, SolutionVector &sol) |
| Updates the the primary variables state at the boundary. More...
|
|
int | verbosity () const |
| The verbosity level. More...
|
|
|
Implementation & | asImp_ () |
| Return actual implementation (static polymorphism) More...
|
|
const Implementation & | asImp_ () const |
| Return actual implementation (static polymorphism) More...
|
|
template<class VolumeVariables , class GlobalPosition > |
bool | update_ (typename VolumeVariables::PrimaryVariables &priVars, const VolumeVariables &volVars, std::size_t dofIdxGlobal, const GlobalPosition &globalPos) |
|
template<class Geometry , class Problem > |
bool | skipDof_ (const typename Geometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const Geometry &fvGeometry, const typename Geometry::SubControlVolume &scv, const Problem &problem) |
|
template<class Geometry , class Problem > |
bool | isConstrainedDof_ (const typename Geometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const Geometry &fvGeometry, const typename Geometry::SubControlVolume &scv, const Problem &problem) |
|
template<class Problem , class Element , class SubControlVolume , class SolutionVector > |
bool | handleDirichletBoundaryCondition_ (const Problem &problem, const Element &element, const SubControlVolume &scv, SolutionVector &sol) |
|
template<class Problem , class Element , class SubControlVolume , class SolutionVector > |
bool | handleInternalDirichletConstraint_ (const Problem &problem, const Element &element, const SubControlVolume &scv, SolutionVector &sol) |
|
template<class Implementation >
template<class Problem , class GridVariables , class SolutionVector >
void Dumux::PrimaryVariableSwitch< Implementation >::updateBoundary |
( |
const Problem & |
problem, |
|
|
const typename GridVariables::GridGeometry & |
gridGeometry, |
|
|
GridVariables & |
gridVariables, |
|
|
SolutionVector & |
sol |
|
) |
| |
|
inline |
Updates the the primary variables state at the boundary.
Required when a Dirichlet BC differs from the initial condition (only for box method).
template<class Implementation >
template<class Problem , class GridVariables , class SolutionVector >
void Dumux::PrimaryVariableSwitch< Implementation >::updateDirichletConstraints |
( |
const Problem & |
problem, |
|
|
const typename GridVariables::GridGeometry & |
gridGeometry, |
|
|
GridVariables & |
gridVariables, |
|
|
SolutionVector & |
sol |
|
) |
| |
|
inline |
Updates the the primary variables state at the boundary.
Required when a Dirichlet constraint (at a boundary or internal) differs from the initial condition.
template<class Implementation >
template<class Problem , class GridVariables , class SolutionVector >
void Dumux::PrimaryVariableSwitch< Implementation >::updateSwitchedFluxVarsCache |
( |
const Problem & |
problem, |
|
|
const typename GridVariables::GridGeometry::GridView::template Codim< 0 >::Entity & |
element, |
|
|
const typename GridVariables::GridGeometry & |
gridGeometry, |
|
|
GridVariables & |
gridVariables, |
|
|
const SolutionVector & |
sol |
|
) |
| |
|
inline |
Updates the fluxVars cache for dof whose primary variables were switched.
Required when flux variables are cached globally (not for box method).
template<class Implementation >
template<class Problem , class GridVariables , class SolutionVector >
void Dumux::PrimaryVariableSwitch< Implementation >::updateSwitchedVolVars |
( |
const Problem & |
problem, |
|
|
const typename GridVariables::GridGeometry::GridView::template Codim< 0 >::Entity & |
element, |
|
|
const typename GridVariables::GridGeometry & |
gridGeometry, |
|
|
GridVariables & |
gridVariables, |
|
|
const SolutionVector & |
sol |
|
) |
| |
|
inline |
Updates the volume variables whose primary variables were switched.
Required when volume variables are cached globally.