iMSTK
Interactive Medical Simulation Toolkit
Public Types | Public Member Functions | Public Attributes | List of all members
imstk::NonLinearSystem< Matrix > Class Template Reference

Base class for a multi-variable nonlinear system. More...

#include <imstkNonLinearSystem.h>

Public Types

using VectorFunctionType = std::function< const Vectord &(const Vectord &, const bool)>
 
using MatrixFunctionType = std::function< const Matrix &(const Vectord &)>
 
using VecMatPair = std::pair< const Vectord *, const Matrix * >
 
using VectorMatrixFunctionType = std::function< VecMatPair(const Vectord &, const bool)>
 
using UpdateFunctionType = std::function< void(const Vectord &, const bool)>
 
using UpdatePrevStateFunctionType = std::function< void()>
 

Public Member Functions

 NonLinearSystem (const VectorFunctionType &F, const MatrixFunctionType &dF)
 
 NonLinearSystem (const VectorFunctionType &F, const MatrixFunctionType &dF, const VectorMatrixFunctionType &F_dF)
 
virtual void setFunction (const VectorFunctionType &function)
 Set nonlinear method that evaluates the nonlinear function.
 
virtual void setJacobian (const MatrixFunctionType &function)
 Set the method that evaluates the gradient of the nonlinear function.
 
virtual const Vectord & evaluateF (const Vectord &x, const bool isSemiImplicit)
 Evaluate function at a given state.
 
virtual const Matrix & evaluateJacobian (const Vectord &x)
 Evaluate gradient of the function at a given state.
 
void setUnknownVector (Vectord &v)
 
Vectord & getUnknownVector ()
 Get the vector used to populate the solution.
 
void setUpdateFunction (const UpdateFunctionType &updateFunc)
 Get the vector denoting the filter. More...
 
void setUpdatePreviousStatesFunction (const UpdatePrevStateFunctionType &updateFunc)
 Set the update function.
 

Public Attributes

VectorFunctionType m_F
 Get the vector denoting the filter. More...
 
MatrixFunctionType m_dF
 Gradient of the Nonlinear function with respect to the unknown vector.
 
VectorMatrixFunctionType m_F_dF
 
Vectord * m_unknown = nullptr
 
UpdateFunctionType m_FUpdate
 
UpdatePrevStateFunctionType m_FUpdatePrevState
 

Detailed Description

template<typename Matrix>
class imstk::NonLinearSystem< Matrix >

Base class for a multi-variable nonlinear system.

Definition at line 20 of file imstkNonLinearSystem.h.

Member Function Documentation

◆ setUpdateFunction()

template<typename Matrix>
void imstk::NonLinearSystem< Matrix >::setUpdateFunction ( const UpdateFunctionType &  updateFunc)
inline

Get the vector denoting the filter.

Set the update function

Definition at line 90 of file imstkNonLinearSystem.h.

Member Data Documentation

◆ m_F

template<typename Matrix>
VectorFunctionType imstk::NonLinearSystem< Matrix >::m_F

Get the vector denoting the filter.

Nonlinear function

Definition at line 117 of file imstkNonLinearSystem.h.


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