OpenVDB 11.0.0
Loading...
Searching...
No Matches
Preconditioner< T > Class Template Referenceabstract

Base class for conjugate gradient preconditioners. More...

#include <openvdb/math/ConjGradient.h>

Public Types

using ValueType = T
 
using Ptr = SharedPtr<Preconditioner>
 

Public Member Functions

template<SizeType STENCIL_SIZE>
 Preconditioner (const SparseStencilMatrix< T, STENCIL_SIZE > &)
 
virtual ~Preconditioner ()=default
 
virtual bool isValid () const
 
virtual void apply (const Vector< T > &r, Vector< T > &z)=0
 Apply this preconditioner to a residue vector: z = M−1r
 

Detailed Description

template<typename T>
class openvdb::v11_0::math::pcg::Preconditioner< T >

Base class for conjugate gradient preconditioners.

Member Typedef Documentation

◆ Ptr

template<typename T >
using Ptr = SharedPtr<Preconditioner>

◆ ValueType

template<typename T >
using ValueType = T

Constructor & Destructor Documentation

◆ Preconditioner()

template<typename T >
template<SizeType STENCIL_SIZE>
Preconditioner ( const SparseStencilMatrix< T, STENCIL_SIZE > & )
inline

◆ ~Preconditioner()

template<typename T >
virtual ~Preconditioner ( )
virtualdefault

Member Function Documentation

◆ apply()

template<typename T >
virtual void apply ( const Vector< T > & r,
Vector< T > & z )
pure virtual

Apply this preconditioner to a residue vector: z = M−1r

Parameters
rresidue vector
[out]zpreconditioned residue vector

Implemented in IncompleteCholeskyPreconditioner< MatrixType >, and JacobiPreconditioner< MatrixType >.

◆ isValid()

template<typename T >
virtual bool isValid ( ) const
inlinevirtual