|
mixed/SolverAdapter.hpp
Go to the documentation of this file.
109 // initialize mixed operator and scalar product depending on the linear operator type provided to the constructor
114 if constexpr (std::is_same_v<std::remove_pointer_t<Operator>, Dune::MatrixAdapter<MatrixType, Vector, Vector>>)
123 else if constexpr (std::is_same_v<std::remove_pointer_t<Operator>, Opm::WellModelMatrixAdapter<MatrixType, Vector, Vector>>)
133 // parallel runs with plain block-sparse matrices and all ghost cells sorted after local cells, i.e. Opm::GhostLastMatrixAdapter
134 else if constexpr (std::is_same_v<std::remove_pointer_t<Operator>, Opm::GhostLastMatrixAdapter<MatrixType, Vector, Vector, Comm>>)
142 // parallel runs with separate linear operators for wells and all ghost cells sorted after local cells, i.e. Opm::WellModelGhostLastMatrixAdapter
143 else if constexpr (std::is_same_v<std::remove_pointer_t<Operator>, Opm::WellModelGhostLastMatrixAdapter<MatrixType, Vector, Vector, true>>)
145 using MixedOperatorType = Opm::WellModelMixedGhostLastMatrixAdapter<MixedMatrixType, Vector, Comm>;
161 else { OPM_THROW(std::invalid_argument, "MixedBiCGSTABSolver: Unsupported linear operator type!!\n");}
201 Dune::SolverCategory::Category category() const override{return Dune::SolverCategory::overlapping;};
Definition: ScalarProducts.hpp:16 void apply(Vector &x, Vector &b, double reduction, InverseOperatorResult &res) override Unused variant of solver application. Definition: mixed/SolverAdapter.hpp:192 ~MixedBiCGSTABSolver() destructor Definition: mixed/SolverAdapter.hpp:175 static constexpr auto block_size Definition: mixed/SolverAdapter.hpp:35 MixedBiCGSTABSolver(Operator *op, std::shared_ptr< AbstractScalarProductType > sp, std::shared_ptr< AbstractPrecondType > prec, const double &tol, const int &maxiter, const int &verbosity, const Comm &comm) constructor Definition: mixed/SolverAdapter.hpp:47 Dune::ScalarProduct< Vector > AbstractScalarProductType Definition: mixed/SolverAdapter.hpp:33 Dune::SolverCategory::Category category() const override Solver category. Definition: mixed/SolverAdapter.hpp:201 void apply(Vector &x, Vector &b, InverseOperatorResult &res) override Solver application. Definition: mixed/SolverAdapter.hpp:182 Interface class adding the update() method to the preconditioner interface. Definition: PreconditionerWithUpdate.hpp:34 Definition: ScalarProducts.hpp:126 Dune linear operator that assumes ghost rows are ordered after interior rows. Avoids some computation... Definition: WellOperators.hpp:406 Adapter to take advantage of the fact that all matrix rows associated with ghost cells are located at... Definition: Operators.hpp:18 Wraps c-implementation of mixed-precision matrix. Definition: MatrixWrapper.hpp:22 Adapter to combine a matrix and another linear operator into a combined linear operator. Definition: WellOperators.hpp:301 Adapter to combine a matrix and another linear operator into a combined linear operator. Definition: WellOperators.hpp:225 Adapter to combine a matrix with another linear operator while taking advantage of the fact that all ... Definition: Operators.hpp:74 Definition: fvbaseprimaryvariables.hh:161 Dune::InverseOperatorResult InverseOperatorResult Definition: GpuBridge.hpp:32 |