Blender  V3.3
Public Member Functions | Public Attributes | List of all members
btKrylovSolver< MatrixX > Class Template Referenceabstract

#include <btKrylovSolver.h>

Inheritance diagram for btKrylovSolver< MatrixX >:
btConjugateGradient< btDeformableBackwardEulerObjective > btConjugateResidual< btDeformableBackwardEulerObjective > btConjugateGradient< MatrixX > btConjugateResidual< MatrixX >

Public Member Functions

 btKrylovSolver (int maxIterations, btScalar tolerance)
 
virtual ~btKrylovSolver ()
 
virtual int solve (MatrixX &A, TVStack &x, const TVStack &b, bool verbose=false)=0
 
virtual void reinitialize (const TVStack &b)=0
 
virtual SIMD_FORCE_INLINE TVStack sub (const TVStack &a, const TVStack &b)
 
virtual SIMD_FORCE_INLINE btScalar squaredNorm (const TVStack &a)
 
virtual SIMD_FORCE_INLINE btScalar norm (const TVStack &a)
 
virtual SIMD_FORCE_INLINE btScalar dot (const TVStack &a, const TVStack &b)
 
virtual SIMD_FORCE_INLINE void multAndAddTo (btScalar s, const TVStack &a, TVStack &result)
 
virtual SIMD_FORCE_INLINE TVStack multAndAdd (btScalar s, const TVStack &a, const TVStack &b)
 
virtual SIMD_FORCE_INLINE void setTolerance (btScalar tolerance)
 

Public Attributes

int m_maxIterations
 
btScalar m_tolerance
 

Detailed Description

template<class MatrixX>
class btKrylovSolver< MatrixX >

Definition at line 27 of file btKrylovSolver.h.

Constructor & Destructor Documentation

◆ btKrylovSolver()

template<class MatrixX >
btKrylovSolver< MatrixX >::btKrylovSolver ( int  maxIterations,
btScalar  tolerance 
)
inline

Definition at line 34 of file btKrylovSolver.h.

◆ ~btKrylovSolver()

template<class MatrixX >
virtual btKrylovSolver< MatrixX >::~btKrylovSolver ( )
inlinevirtual

Definition at line 39 of file btKrylovSolver.h.

Member Function Documentation

◆ dot()

template<class MatrixX >
virtual SIMD_FORCE_INLINE btScalar btKrylovSolver< MatrixX >::dot ( const TVStack a,
const TVStack b 
)
inlinevirtual

◆ multAndAdd()

template<class MatrixX >
virtual SIMD_FORCE_INLINE TVStack btKrylovSolver< MatrixX >::multAndAdd ( btScalar  s,
const TVStack a,
const TVStack b 
)
inlinevirtual

◆ multAndAddTo()

template<class MatrixX >
virtual SIMD_FORCE_INLINE void btKrylovSolver< MatrixX >::multAndAddTo ( btScalar  s,
const TVStack a,
TVStack result 
)
inlinevirtual

◆ norm()

template<class MatrixX >
virtual SIMD_FORCE_INLINE btScalar btKrylovSolver< MatrixX >::norm ( const TVStack a)
inlinevirtual

Definition at line 63 of file btKrylovSolver.h.

References Freestyle::a, btFabs(), btMax(), and ret.

Referenced by btConjugateResidual< MatrixX >::solve().

◆ reinitialize()

template<class MatrixX >
virtual void btKrylovSolver< MatrixX >::reinitialize ( const TVStack b)
pure virtual

◆ setTolerance()

template<class MatrixX >
virtual SIMD_FORCE_INLINE void btKrylovSolver< MatrixX >::setTolerance ( btScalar  tolerance)
inlinevirtual

Definition at line 102 of file btKrylovSolver.h.

References btKrylovSolver< MatrixX >::m_tolerance.

◆ solve()

template<class MatrixX >
virtual int btKrylovSolver< MatrixX >::solve ( MatrixX &  A,
TVStack x,
const TVStack b,
bool  verbose = false 
)
pure virtual

◆ squaredNorm()

template<class MatrixX >
virtual SIMD_FORCE_INLINE btScalar btKrylovSolver< MatrixX >::squaredNorm ( const TVStack a)
inlinevirtual

Definition at line 58 of file btKrylovSolver.h.

References Freestyle::a, and btKrylovSolver< MatrixX >::dot().

◆ sub()

template<class MatrixX >
virtual SIMD_FORCE_INLINE TVStack btKrylovSolver< MatrixX >::sub ( const TVStack a,
const TVStack b 
)
inlinevirtual

Member Data Documentation

◆ m_maxIterations

template<class MatrixX >
int btKrylovSolver< MatrixX >::m_maxIterations

◆ m_tolerance

template<class MatrixX >
btScalar btKrylovSolver< MatrixX >::m_tolerance

The documentation for this class was generated from the following file: