![]() |
Documentation 6b54b78464
|
Classes related to linear preconditioner wrappers. The actual operations are currently implemented mostly by CSysMatrix. More...
#include <functional>#include "../CConfig.hpp"#include "../geometry/CGeometry.hpp"#include "CSysVector.hpp"#include "CSysMatrix.hpp"Go to the source code of this file.
Classes | |
| class | CPreconditioner< ScalarType > |
| Abstract base class for defining a preconditioning operation. More... | |
| class | CIdentityPreconditioner< ScalarType > |
| No-op preconditioner used when Krylov solvers run without preconditioning. More... | |
| class | CJacobiPreconditioner< ScalarType > |
| Specialization of preconditioner that uses CSysMatrix class. More... | |
| class | CILUPreconditioner< ScalarType > |
| Specialization of preconditioner that uses CSysMatrix class. More... | |
| class | CLU_SGSPreconditioner< ScalarType > |
| Specialization of preconditioner that uses CSysMatrix class. More... | |
| class | CLineletPreconditioner< ScalarType > |
| Specialization of preconditioner that uses CSysMatrix class. More... | |
| class | CPastixPreconditioner< ScalarType > |
| Specialization of preconditioner that uses PaStiX to factorize a CSysMatrix. More... | |
| class | CAbstractPreconditioner< ScalarType > |
| Applies a std::function as the preconditioning operation. More... | |
Functions | |
| template<class ScalarType , class Apply > | |
| void | ApplyPreconditionerOnHost (const CSysVector< ScalarType > &u, CSysVector< ScalarType > &v, Apply &&apply) |
| Applies a preconditioner that only has a host implementation to vectors that live on the device: bring the input down, apply, put the result back. | |
| template<class ScalarType , class Apply > | |
| void | ApplyPreconditionerOnDevice (const CSysVector< ScalarType > &u, CSysVector< ScalarType > &v, bool useCuda, Apply &&apply) |
| Mirror of ApplyPreconditionerOnHost: applies a device preconditioner to host vectors. | |
Classes related to linear preconditioner wrappers. The actual operations are currently implemented mostly by CSysMatrix.
SU2 Project Website: https://su2code.github.io
The SU2 Project is maintained by the SU2 Foundation (http://su2foundation.org)
Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
SU2 is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
SU2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with SU2. If not, see http://www.gnu.org/licenses/.