*
* @ingroup PETScWrappers
*/
- class PreconditionerBase
+ class PreconditionBase
{
public:
/**
* Constructor.
*/
- PreconditionerBase();
+ PreconditionBase();
/**
* Destructor.
*/
- virtual ~PreconditionerBase();
+ virtual ~PreconditionBase();
/**
* Destroys the preconditioner, leaving an object like just after having
* preconditioner.
*
* See the comment in the base class
- * @ref PreconditionerBase
+ * @ref PreconditionBase
* for when this preconditioner may or may not work.
*
* @ingroup PETScWrappers
*/
- class PreconditionJacobi : public PreconditionerBase
+ class PreconditionJacobi : public PreconditionBase
{
public:
/**
* the relevant section of the PETSc manual, but is not implemented here.
*
* See the comment in the base class
- * @ref PreconditionerBase
+ * @ref PreconditionBase
* for when this preconditioner may or may not work.
*
* @ingroup PETScWrappers
*/
- class PreconditionBlockJacobi : public PreconditionerBase
+ class PreconditionBlockJacobi : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionSOR : public PreconditionerBase
+ class PreconditionSOR : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionSSOR : public PreconditionerBase
+ class PreconditionSSOR : public PreconditionBase
{
public:
/**
* each processor.
*
* See the comment in the base class
- * @ref PreconditionerBase
+ * @ref PreconditionBase
* for when this preconditioner may or may not work.
*
* @ingroup PETScWrappers
*/
- class PreconditionEisenstat : public PreconditionerBase
+ class PreconditionEisenstat : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionICC : public PreconditionerBase
+ class PreconditionICC : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionILU : public PreconditionerBase
+ class PreconditionILU : public PreconditionBase
{
public:
/**
* (depending on the settings) performs an exact factorization of the
* matrix, so it is not necessary to wrap it in an iterative solver. This
* class is typically used with SolverPreOnly to get a direct
- * solver. Alternatively, you can use PreconditionerBase::vmult() directly.
+ * solver. Alternatively, you can use PreconditionBase::vmult() directly.
*
* @note This is not a parallel preconditioner so it only works in serial
* computations with a single processor.
*
* @ingroup PETScWrappers
*/
- class PreconditionLU : public PreconditionerBase
+ class PreconditionLU : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionBoomerAMG : public PreconditionerBase
+ class PreconditionBoomerAMG : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionParaSails : public PreconditionerBase
+ class PreconditionParaSails : public PreconditionBase
{
public:
/**
*
* @ingroup PETScWrappers
*/
- class PreconditionNone : public PreconditionerBase
+ class PreconditionNone : public PreconditionBase
{
public:
/**
*/
AdditionalData additional_data;
};
+
+ /**
+ * Alias for backwards-compatibility.
+ * @deprecated Use PETScWrappers::PreconditionBase instead.
+ */
+ using PreconditionerBase DEAL_II_DEPRECATED_EARLY = PreconditionBase;
} // namespace PETScWrappers
# ifndef DOXYGEN
class MatrixBase;
class VectorBase;
- class PreconditionerBase;
+ class PreconditionBase;
# endif
* performance reasons. See class Documentation.
*/
void
- solve(const MatrixBase & A,
- VectorBase & x,
- const VectorBase & b,
- const PreconditionerBase &preconditioner);
+ solve(const MatrixBase & A,
+ VectorBase & x,
+ const VectorBase & b,
+ const PreconditionBase &preconditioner);
/**
* intended for use with SLEPc spectral transformation class.
*/
void
- initialize(const PreconditionerBase &preconditioner);
+ initialize(const PreconditionBase &preconditioner);
protected:
/**
namespace PETScWrappers
{
- PreconditionerBase::PreconditionerBase()
+ PreconditionBase::PreconditionBase()
: pc(nullptr)
, matrix(nullptr)
{}
- PreconditionerBase::~PreconditionerBase()
+ PreconditionBase::~PreconditionBase()
{
try
{
}
void
- PreconditionerBase::clear()
+ PreconditionBase::clear()
{
matrix = nullptr;
void
- PreconditionerBase::vmult(VectorBase &dst, const VectorBase &src) const
+ PreconditionBase::vmult(VectorBase &dst, const VectorBase &src) const
{
AssertThrow(pc != nullptr, StandardExceptions::ExcInvalidState());
void
- PreconditionerBase::Tvmult(VectorBase &dst, const VectorBase &src) const
+ PreconditionBase::Tvmult(VectorBase &dst, const VectorBase &src) const
{
AssertThrow(pc != nullptr, StandardExceptions::ExcInvalidState());
void
- PreconditionerBase::create_pc()
+ PreconditionBase::create_pc()
{
// only allow the creation of the
// preconditioner once
const PC &
- PreconditionerBase::get_pc() const
+ PreconditionBase::get_pc() const
{
return pc;
}
- PreconditionerBase::operator Mat() const
+ PreconditionBase::operator Mat() const
{
return matrix;
}