|
TpsaPreconditioner.hpp
Go to the documentation of this file.
75using ParSPresSPresOperatorT = Dune::OverlappingSchwarzOperator<Linear::SPresSPresMatrixT<Scalar>,
Definition: FlexibleSolver.hpp:45 Interface class adding the update() method to the preconditioner interface. Definition: PreconditionerWithUpdate.hpp:34 Lightweight, non-owning 5x5 view over the sub-matrices owned by TpsaMatrix. Provides the operator int... Definition: TpsaTypes.hpp:132 Block lower-triangular preconditioner for the field-split TPSA system. Definition: TpsaPreconditioner.hpp:106 void pre(MultiVector &, MultiVector &) override Nothing to prepare, the sub-solvers set themselves up. Definition: TpsaPreconditioner_impl.hpp:56 static constexpr auto _0 Field indices into the multi-vector: u_x, u_y, u_z, rotation, solid pressure. Definition: TpsaPreconditioner.hpp:117 static constexpr std::size_t pressureIdx The sub-solvers have no pressure equation to single out. Definition: TpsaPreconditioner.hpp:124 void apply(MultiVector &v, const MultiVector &d) override Apply the preconditioner, i.e. approximately solve S v = d. Definition: TpsaPreconditioner_impl.hpp:102 Dune::SolverCategory::Category category() const override Solver category, overlapping in parallel and sequential otherwise. Definition: TpsaPreconditioner_impl.hpp:70 bool hasPerfectUpdate() const override The block solvers are rebuilt from the current matrix on update(). Definition: TpsaPreconditioner_impl.hpp:94 void post(MultiVector &) override Nothing to clean up after the last apply(). Definition: TpsaPreconditioner_impl.hpp:63 TpsaPreconditioner(const Linear::TpsaMatrixView< Scalar > &S, const PropertyTree &prm) Sequential constructor. Definition: TpsaPreconditioner_impl.hpp:34 static constexpr bool isParallel Whether this instance runs the parallel code path. Definition: TpsaPreconditioner.hpp:114 void update() override Recompute the preconditioners of all five diagonal block solvers. Definition: TpsaPreconditioner_impl.hpp:82 Dune::BlockVector< Dune::FieldVector< Scalar, numDispDofs > > DispVector0T Definition: TpsaTypes.hpp:100 Dune::MultiTypeBlockVector< DispVector0T< Scalar >, DispVector1T< Scalar >, DispVector2T< Scalar >, RotVectorT< Scalar >, SPresVectorT< Scalar > > TpsaMultiVector The vector the Krylov solver and the preconditioner operate on. Definition: TpsaTypes.hpp:116 Dune::BlockVector< Dune::FieldVector< Scalar, numSolidPresDofs > > SPresVectorT Definition: TpsaTypes.hpp:108 Dune::BlockVector< Dune::FieldVector< Scalar, numRotDofs > > RotVectorT Definition: TpsaTypes.hpp:106 Definition: blackoilbioeffectsmodules.hh:45 Dune::OverlappingSchwarzOperator< Linear::SPresSPresMatrixT< Scalar >, Linear::SPresVectorT< Scalar >, Linear::SPresVectorT< Scalar >, TpsaParComm > ParSPresSPresOperatorT Parallel operator for the solid pressure block. Definition: TpsaPreconditioner.hpp:78 Dune::MatrixAdapter< Linear::RotRotMatrixT< Scalar >, Linear::RotVectorT< Scalar >, Linear::RotVectorT< Scalar > > SeqRotRotOperatorT Sequential operator for the rotation block. Definition: TpsaPreconditioner.hpp:50 Dune::MatrixAdapter< Linear::DispDispMatrix00T< Scalar >, Linear::DispVector0T< Scalar >, Linear::DispVector0T< Scalar > > SeqDispDispOperatorT Sequential operator for one of the three scalar displacement blocks. Definition: TpsaPreconditioner.hpp:45 Dune::OverlappingSchwarzOperator< Linear::DispDispMatrix00T< Scalar >, Linear::DispVector0T< Scalar >, Linear::DispVector0T< Scalar >, TpsaParComm > ParDispDispOperatorT Parallel operator for one of the three scalar displacement blocks. Definition: TpsaPreconditioner.hpp:66 Dune::OverlappingSchwarzOperator< Linear::RotRotMatrixT< Scalar >, Linear::RotVectorT< Scalar >, Linear::RotVectorT< Scalar >, TpsaParComm > ParRotRotOperatorT Parallel operator for the rotation block. Definition: TpsaPreconditioner.hpp:72 Dune::MatrixAdapter< Linear::SPresSPresMatrixT< Scalar >, Linear::SPresVectorT< Scalar >, Linear::SPresVectorT< Scalar > > SeqSPresSPresOperatorT Sequential operator for the solid pressure block. Definition: TpsaPreconditioner.hpp:55 Dune::OwnerOverlapCopyCommunication< int, int > TpsaParComm Communication type of a single TPSA field. Definition: TpsaPreconditioner.hpp:59 |