My Project
|
Base class for specifying auxiliary equations. More...
#include <baseauxiliarymodule.hh>
Public Member Functions | |
virtual unsigned | numDofs () const =0 |
Returns the number of additional degrees of freedom required for the auxiliary module. | |
void | setDofOffset (int value) |
Set the offset in the global system of equations for the first degree of freedom of this auxiliary module. | |
int | dofOffset () |
Return the offset in the global system of equations for the first degree of freedom of this auxiliary module. | |
int | localToGlobalDof (unsigned localDofIdx) const |
Given a degree of freedom relative to the current auxiliary equation, return the corresponding index in the global system of equations. | |
virtual void | addNeighbors (std::vector< NeighborSet > &neighbors) const =0 |
Specify the additional neighboring correlations caused by the auxiliary module. | |
virtual void | applyInitial ()=0 |
Set the initial condition of the auxiliary module in the solution vector. | |
virtual void | linearize (SparseMatrixAdapter &matrix, GlobalEqVector &residual)=0 |
Linearize the auxiliary equation. | |
virtual void | postSolve (GlobalEqVector &) |
This method is called after the linear solver has been called but before the solution is updated for the next iteration. | |
Protected Types | |
using | NeighborSet = std::set< unsigned > |
Base class for specifying auxiliary equations.
For example, these equations can be wells, non-neighboring connections, interfaces between model domains, etc.
|
pure virtual |
Specify the additional neighboring correlations caused by the auxiliary module.
Implemented in Opm::WellConnectionAuxiliaryModule< TypeTag >, and Opm::BlackoilWellModel< TypeTag >.
|
pure virtual |
Set the initial condition of the auxiliary module in the solution vector.
Implemented in Opm::WellConnectionAuxiliaryModule< TypeTag >, and Opm::BlackoilWellModel< TypeTag >.
|
pure virtual |
Linearize the auxiliary equation.
Implemented in Opm::WellConnectionAuxiliaryModule< TypeTag >, and Opm::BlackoilWellModel< TypeTag >.
|
pure virtual |
Returns the number of additional degrees of freedom required for the auxiliary module.
Implemented in Opm::WellConnectionAuxiliaryModule< TypeTag >, and Opm::BlackoilWellModel< TypeTag >.
|
inlinevirtual |
This method is called after the linear solver has been called but before the solution is updated for the next iteration.
It is intended to implement stuff like Schur complements.
Reimplemented in Opm::BlackoilWellModel< TypeTag >.