Opm::WellConnectionAuxiliaryModule< TypeTag, Model > Class Template Reference

#include <WellConnectionAuxiliaryModule.hpp>

Inheritance diagram for Opm::WellConnectionAuxiliaryModule< TypeTag, Model >:
Inheritance graph

Public Types

using NeighborSet = typename ::Opm::BaseAuxiliaryModule< TypeTag >::NeighborSet
 
using Domain = SubDomain< Grid >
 

Public Member Functions

 WellConnectionAuxiliaryModule (Model &model, Parallel::Communication comm)
 
unsigned numDofs () const override
 Returns the number of additional degrees of freedom required for the auxiliary module. More...
 
void addNeighbors (std::vector< NeighborSet > &neighbors) const override
 Specify the additional neighboring correlations caused by the auxiliary module. More...
 
void applyInitial () override
 Set the initial condition of the auxiliary module in the solution vector. More...
 
void linearize (SparseMatrixAdapter &jacobian, GlobalEqVector &res) override
 Linearize the auxiliary equation. More...
 
void postSolve (GlobalEqVector &deltaX) override
 This method is called after the linear solver has been called but before the solution is updated for the next iteration. More...
 
void linearizeDomain (const Domain &domain, SparseMatrixAdapter &jacobian, GlobalEqVector &res)
 
void postSolveDomain (const GlobalEqVector &deltaX, const Domain &domain)
 
template<class Restarter >
void deserialize (Restarter &)
 
template<class Restarter >
void serialize (Restarter &)
 This method writes the complete state of the well to the harddisk. More...
 
void setDofOffset (int value)
 Set the offset in the global system of equations for the first degree of freedom of this auxiliary module. More...
 
int dofOffset ()
 Return the offset in the global system of equations for the first degree of freedom of this auxiliary module. More...
 
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. More...
 

Member Typedef Documentation

◆ Domain

template<class TypeTag , class Model >
using Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::Domain = SubDomain<Grid>

◆ NeighborSet

template<class TypeTag , class Model >
using Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::NeighborSet = typename ::Opm::BaseAuxiliaryModule<TypeTag>::NeighborSet

Constructor & Destructor Documentation

◆ WellConnectionAuxiliaryModule()

template<class TypeTag , class Model >
Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::WellConnectionAuxiliaryModule ( Model &  model,
Parallel::Communication  comm 
)
inline

Member Function Documentation

◆ addNeighbors()

template<class TypeTag , class Model >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::addNeighbors ( std::vector< NeighborSet > &  neighbors) const
inlineoverridevirtual

Specify the additional neighboring correlations caused by the auxiliary module.

Implements Opm::BaseAuxiliaryModule< TypeTag >.

References Opm::Parallel::MpiSerializer::broadcast().

◆ applyInitial()

template<class TypeTag , class Model >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::applyInitial ( )
inlineoverridevirtual

Set the initial condition of the auxiliary module in the solution vector.

Implements Opm::BaseAuxiliaryModule< TypeTag >.

◆ deserialize()

template<class TypeTag , class Model >
template<class Restarter >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::deserialize ( Restarter &  )
inline

◆ dofOffset()

template<class TypeTag >
int Opm::BaseAuxiliaryModule< TypeTag >::dofOffset ( )
inlineinherited

Return the offset in the global system of equations for the first degree of freedom of this auxiliary module.

◆ linearize()

template<class TypeTag , class Model >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::linearize ( SparseMatrixAdapter &  matrix,
GlobalEqVector &  residual 
)
inlineoverridevirtual

Linearize the auxiliary equation.

Implements Opm::BaseAuxiliaryModule< TypeTag >.

References OPM_BEGIN_PARALLEL_TRY_CATCH, and OPM_END_PARALLEL_TRY_CATCH.

◆ linearizeDomain()

template<class TypeTag , class Model >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::linearizeDomain ( const Domain domain,
SparseMatrixAdapter &  jacobian,
GlobalEqVector &  res 
)
inline

◆ localToGlobalDof()

template<class TypeTag >
int Opm::BaseAuxiliaryModule< TypeTag >::localToGlobalDof ( unsigned  localDofIdx) const
inlineinherited

Given a degree of freedom relative to the current auxiliary equation, return the corresponding index in the global system of equations.

References Opm::BaseAuxiliaryModule< TypeTag >::numDofs().

◆ numDofs()

template<class TypeTag , class Model >
unsigned Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::numDofs ( ) const
inlineoverridevirtual

Returns the number of additional degrees of freedom required for the auxiliary module.

Implements Opm::BaseAuxiliaryModule< TypeTag >.

◆ postSolve()

template<class TypeTag , class Model >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::postSolve ( GlobalEqVector &  )
inlineoverridevirtual

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 from Opm::BaseAuxiliaryModule< TypeTag >.

◆ postSolveDomain()

template<class TypeTag , class Model >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::postSolveDomain ( const GlobalEqVector &  deltaX,
const Domain domain 
)
inline

◆ serialize()

template<class TypeTag , class Model >
template<class Restarter >
void Opm::WellConnectionAuxiliaryModule< TypeTag, Model >::serialize ( Restarter &  )
inline

This method writes the complete state of the well to the harddisk.

◆ setDofOffset()

template<class TypeTag >
void Opm::BaseAuxiliaryModule< TypeTag >::setDofOffset ( int  value)
inlineinherited

Set the offset in the global system of equations for the first degree of freedom of this auxiliary module.

Referenced by Opm::FvBaseDiscretization< TypeTag >::addAuxiliaryModule().


The documentation for this class was generated from the following file: