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 | updateSwitchedVolVars (const Problem &problem, const typename GridVariables::GridGeometry::GridView::template Codim< 0 >::Entity &element, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, const SolutionVector &uCurrentIter) const |
Do nothing when volume variables are not cached globally. 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 | updateSwitchedFluxVarsCache (const Problem &problem, const typename GridVariables::GridGeometry::GridView::template Codim< 0 >::Entity &element, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, const SolutionVector &sol) const |
Do nothing when flux variables are not cached globally or the box method is used. More... | |
void | updateBoundary (const Problem &problem, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, SolutionVector &sol) |
Updates the the primary variables state at the boundary. More... | |
void | updateBoundary (const Problem &problem, const typename GridVariables::GridGeometry &gridGeometry, GridVariables &gridVariables, SolutionVector &sol) const |
Do nothing when the box method is not used. 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) |
Protected Attributes | |
std::vector< bool > | wasSwitched_ |
std::vector< bool > | visited_ |
|
inlineprotectedinherited |
Return actual implementation (static polymorphism)
|
inlineprotectedinherited |
Return actual implementation (static polymorphism)
|
inlineinherited |
Reset all flags.
|
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 BC differes from the initial conditon (only for box method).
|
inlineinherited |
Do nothing when the box method is not used.
|
inlineinherited |
Updates the fluxVars cache for dof whose primary variables were switched.
Required when flux variables are cached globally (not for box method).
|
inlineinherited |
Do nothing when flux variables are not cached globally or the box method is used.
|
inlineinherited |
Updates the volume variables whose primary variables were switched.
Required when volume variables are cached globally.
|
inlineinherited |
Do nothing when volume variables are not cached globally.
|
inlineinherited |
The verbosity level.
|
inlineinherited |
If the primary variables were recently switched.
|
protectedinherited |
|
protectedinherited |