The primary variable switch for the two-phase one-component model. More...
#include <dumux/porousmediumflow/2p1c/primaryvariableswitch.hh>
The primary variable switch for the two-phase one-component model.
Public Member Functions | |
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... | |
bool | update (SolutionVector &curSol, GridVariables &gridVariables, const Problem &problem, const typename GridVariables::GridGeometry &gridGeometry) |
Updates the variable switch / phase presence. More... | |
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... | |
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... | |
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... | |
Protected Member Functions | |
template<class VolumeVariables , class GlobalPosition > | |
bool | update_ (typename VolumeVariables::PrimaryVariables &priVars, const VolumeVariables &volVars, std::size_t dofIdxGlobal, const GlobalPosition &globalPos) |
Performs variable switch at a degree of freedom location. More... | |
TwoPOneCPrimaryVariableSwitch & | asImp_ () |
Return actual implementation (static polymorphism) More... | |
const TwoPOneCPrimaryVariableSwitch & | asImp_ () const |
Return actual implementation (static polymorphism) More... | |
bool | skipDof_ (const typename Geometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const Geometry &fvGeometry, const typename Geometry::SubControlVolume &scv, const Problem &problem) |
bool | isConstrainedDof_ (const typename Geometry::GridGeometry::GridView::template Codim< 0 >::Entity &element, const Geometry &fvGeometry, const typename Geometry::SubControlVolume &scv, const Problem &problem) |
bool | handleDirichletBoundaryCondition_ (const Problem &problem, const Element &element, const SubControlVolume &scv, SolutionVector &sol) |
bool | handleInternalDirichletConstraint_ (const Problem &problem, const Element &element, const SubControlVolume &scv, SolutionVector &sol) |
Protected Attributes | |
std::vector< bool > | wasSwitched_ |
std::vector< bool > | visited_ |
|
inlineprotectedinherited |
Return actual implementation (static polymorphism)
|
inlineprotectedinherited |
Return actual implementation (static polymorphism)
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
Reset all flags.
|
inlineprotectedinherited |
|
inlineinherited |
Updates the variable switch / phase presence.
curSol | The current solution to be updated / modified |
gridVariables | The secondary variables on the grid |
problem | The problem |
gridGeometry | The finite-volume grid geometry |
|
inlineprotected |
Performs variable switch at a degree of freedom location.
priVars | The primary variables at the given degree of freedom (dof) location. |
volVars | The volume variables. |
dofIdxGlobal | The respective dof index. |
globalPos | The global position of the dof. |
|
inlineinherited |
Updates the the primary variables state at the boundary.
Required when a Dirichlet constraint (at a boundary or internal) differs from the initial condition.
|
inlineinherited |
Updates the fluxVars cache for dof whose primary variables were switched.
Required when flux variables are cached globally (not for box method).
|
inlineinherited |
Updates the volume variables whose primary variables were switched.
Required when volume variables are cached globally.
|
inlineinherited |
The verbosity level.
|
inlineinherited |
If the primary variables were recently switched.
|
protectedinherited |
|
protectedinherited |