Classes |
Public Types |
Public Member Functions |
Protected Member Functions |
Protected Attributes |
List of all members
Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT > Class Template Reference A two-step version of an overlapping Schwarz preconditioner using one step ILU0 as. More...
Inheritance diagram for Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >:
Detailed Descriptiontemplate<class Matrix, class Domain, class Range, class ParallelInfoT> class Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT > A two-step version of an overlapping Schwarz preconditioner using one step ILU0 as. This preconditioner differs from a ParallelRestrictedOverlappingSchwarz with Dune:SeqILU0 in the following way: During apply we make sure that the current residual is consistent (i.e. each process knows the same value for each index. Then we solve Ly = d for y and make y consistent again. Last we solve Ux = y and make sure that x is consistent. In contrast for ParallelRestrictedOverlappingSchwarz we solve (LU)x = d for x without forcing consistency between the two steps.
Member Typedef Documentation◆ block_type
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ domain_type
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The domain type of the preconditioner. ◆ field_type
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The field type of the preconditioner. ◆ matrix_type
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The matrix type the preconditioner is for. ◆ range_type
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The range type of the preconditioner. ◆ size_type
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Constructor & Destructor Documentation◆ ParallelOverlappingILU0() [1/5]
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Constructor. Constructor gets all parameters to operate the prec.
References Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::interiorSize_, and Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::update(). ◆ ParallelOverlappingILU0() [2/5]
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Constructor gets all parameters to operate the prec.
References Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::interiorSize_, and Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::update(). ◆ ParallelOverlappingILU0() [3/5]
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Constructor. Constructor gets all parameters to operate the prec.
◆ ParallelOverlappingILU0() [4/5]
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Constructor. Constructor gets all parameters to operate the prec.
References Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::interiorSize_, and Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::update(). ◆ ParallelOverlappingILU0() [5/5]
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Constructor. Constructor gets all parameters to operate the prec.
References Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::update(). Member Function Documentation◆ apply()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Apply the preconditoner. ◆ category()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ copyOwnerToAll()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
template<class V >
◆ hasPerfectUpdate()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Implements Dune::PreconditionerWithUpdate< Domain, Range >. ◆ post()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Clean up. ◆ pre()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Prepare the preconditioner. ◆ reorderBack()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ reorderD()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Reorder D if needed and return a reference to it. ◆ reorderV()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Reorder V if needed and return a reference to it. ◆ update()
template<class Matrix , class Domain , class Range , class ParallelInfoT >
Implements Dune::PreconditionerWithUpdate< Domain, Range >. References Opm::colorVerticesWelshPowell(), Opm::detail::convertToCRS(), Opm::detail::ghost_last_bilu0_decomposition(), Opm::detail::milu0_decomposition(), Opm::MILU_1, Opm::MILU_2, Opm::MILU_3, Opm::MILU_4, Opm::detail::milun_decomposition(), Opm::reorderVerticesPreserving(), Opm::reorderVerticesSpheres(), and Opm::detail::set_interiorSize(). Referenced by Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::ParallelOverlappingILU0(). Member Data Documentation◆ A_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ comm_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ ILU_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The ILU0 decomposition of the matrix. ◆ iluIteration_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ interiorSize_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ inv_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ lower_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ milu_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ ordering_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
the reordering of the unknowns ◆ redBlack_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ relaxation_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ reorderedD_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The reordered right hand side. ◆ reorderedV_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The reordered left hand side. ◆ reorderSphere_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ upper_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
◆ w_
template<class Matrix , class Domain , class Range , class ParallelInfoT >
The relaxation factor to use. The documentation for this class was generated from the following files: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||