Opm::ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner > Class Template Reference Block parallel preconditioner. More...
Inheritance diagram for Opm::ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner >:
Detailed Descriptiontemplate<class Range, class Domain, class ParallelInfo, class SeqPreconditioner = Dune::Preconditioner<Range,Domain>> class Opm::ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner > Block parallel preconditioner. This is essentially a wrapper that takes a sequential preconditioner. In each step the sequential preconditioner is applied to the whole subdomain and then all owner data points are updated on all other processes from the processor that knows the complete matrix row for this data point (in dune-istl speak that is the one that owns the data). Note that this is different from the usual approach in dune-istl where the application of the sequential preconditioner only takes place on the (owner) partition of the process disregarding any overlap/ghost region. For more information see https://www.cs.colorado.edu/~cai/papers/rash.pdf
Member Typedef Documentation◆ communication_type
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
The type of the communication object. ◆ domain_type
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
The domain type of the preconditioner. ◆ field_type
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
The field type of the preconditioner. ◆ range_type
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
The range type of the preconditioner. Member Enumeration Documentation◆ anonymous enum
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
Constructor & Destructor Documentation◆ ParallelRestrictedOverlappingSchwarz()
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
Constructor. constructor gets all parameters to operate the prec.
Member Function Documentation◆ apply() [1/2]
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
Apply the preconditioner. Referenced by Opm::ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner >::apply(). ◆ apply() [2/2]
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
template<bool forward>
◆ post()
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
◆ pre()
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
Prepare the preconditioner. References Opm::ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner >::pre(). Referenced by Opm::ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner >::pre(). Friends And Related Function Documentation◆ Dune::Amg ::ConstructionTraits< ParallelRestrictedOverlappingSchwarz< Range, Domain, ParallelInfo, SeqPreconditioner > >
template<class Range , class Domain , class ParallelInfo , class SeqPreconditioner = Dune::Preconditioner<Range,Domain>>
The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||