|
|
using | VectorBlockWellType = Dune::FieldVector<Scalar,numWellEq> |
|
using | BVectorWell = Dune::BlockVector<VectorBlockWellType> |
|
using | VectorBlockType = Dune::FieldVector<Scalar,numEq> |
|
using | BVector = Dune::BlockVector<VectorBlockType> |
|
using | DiagMatrixBlockWellType = Dune::FieldMatrix<Scalar,numWellEq,numWellEq> |
|
using | DiagMatWell = Dune::BCRSMatrix<DiagMatrixBlockWellType> |
|
using | OffDiagMatrixBlockWellType = Dune::FieldMatrix<Scalar,numWellEq,numEq> |
|
using | OffDiagMatWell = Dune::BCRSMatrix<OffDiagMatrixBlockWellType> |
|
|
| MultisegmentWellEquations (const MultisegmentWellGeneric< Scalar, IndexTraits > &well, const ParallelWellInfo< Scalar > ¶llel_well_info) |
| void | init (const int numPerfs, const std::vector< int > &cells, const std::vector< std::vector< int > > &segment_inlets, const std::vector< std::vector< int > > &segment_perforations, const ParallelWellInfo< Scalar > ¶llel_well_info) |
| | Setup sparsity pattern for the matrices.
|
|
void | clear () |
| | Set all coefficients to 0.
|
|
void | apply (const BVector &x, BVector &Ax) const |
| | Apply linear operator to vector.
|
|
void | apply (BVector &r) const |
| | Apply linear operator to vector.
|
|
void | createSolver () |
| | Compute the LU-decomposition of D matrix.
|
|
BVectorWell | solve () const |
| | Apply inverted D matrix to residual and return result.
|
|
BVectorWell | solve (const BVectorWell &rhs) const |
| | Apply inverted D matrix to rhs and return result.
|
| void | recoverSolutionWell (const BVector &x, BVectorWell &xw) const |
| | Recover well solution.
|
|
template<class SparseMatrixAdapter> |
| void | extract (SparseMatrixAdapter &jacobian) const |
| | Add the matrices of this well to the sparse matrix adapter.
|
|
template<class PressureMatrix> |
| void | extractCPRPressureMatrix (PressureMatrix &jacobian, const BVector &weights, const int pressureVarIndex, const bool, const WellInterfaceGeneric< Scalar, IndexTraits > &well, const int seg_pressure_var_ind, const WellState< Scalar, IndexTraits > &well_state) const |
| | Extract CPR pressure matrix.
|
|
void | sumDistributed (Parallel::Communication comm) |
| | Sum with off-process contribution.
|
|
const BVectorWell & | residual () const |
| | Returns a const reference to the residual.
|