The primary variable switch for the 2p2c-CO2 model controlling the phase presence state variable. More...
#include <dumux/porousmediumflow/co2/primaryvariableswitch.hh>
The primary variable switch for the 2p2c-CO2 model controlling the phase presence state variable.
The phase switch occurs when the equilibrium concentration of a component in a phase is exceeded, instead of the sum of the components in the virtual phase (the phase which is not present) being greater that unity as done in the 2p2c 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 IndexType , class GlobalPosition > | |
bool | update_ (typename VolumeVariables::PrimaryVariables &priVars, const VolumeVariables &volVars, IndexType dofIdxGlobal, const GlobalPosition &globalPos) |
TwoPTwoCCO2PrimaryVariableSwitch & | asImp_ () |
Return actual implementation (static polymorphism) More... | |
const TwoPTwoCCO2PrimaryVariableSwitch & | asImp_ () const |
Return actual implementation (static polymorphism) More... | |
bool | update_ (typename VolumeVariables::PrimaryVariables &priVars, const VolumeVariables &volVars, std::size_t dofIdxGlobal, const GlobalPosition &globalPos) |
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 |
|
inlineprotectedinherited |
|
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 |