ITK  4.13.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Attributes | List of all members
itk::fem::LinearSystemWrapperItpack Class Reference

#include <itkFEMLinearSystemWrapperItpack.h>

+ Inheritance diagram for itk::fem::LinearSystemWrapperItpack:
+ Collaboration diagram for itk::fem::LinearSystemWrapperItpack:

Detailed Description

LinearSystemWrapper class that uses Itpack numeric library functions to define and solve a sparse linear system of equations.

See Also
LinearSystemWrapper

Definition at line 52 of file itkFEMLinearSystemWrapperItpack.h.

Public Types

typedef std::vector
< MatrixRepresentation
MatrixHolder
 
typedef ItpackSparseMatrix MatrixRepresentation
 
typedef LinearSystemWrapperItpack Self
 
typedef LinearSystemWrapper Superclass
 
typedef std::vector
< VectorRepresentation
VectorHolder
 
typedef double * VectorRepresentation
 
- Public Types inherited from itk::fem::LinearSystemWrapper
typedef std::vector< unsigned int > ColumnArray
 
typedef const SelfConstPointer
 
typedef SelfPointer
 
typedef LinearSystemWrapper Self
 
typedef Solution Superclass
 
- Public Types inherited from itk::fem::Solution
typedef const SelfConstPointer
 
typedef double Float
 
typedef SelfPointer
 
typedef Solution Self
 
typedef Solution Superclass
 

Public Member Functions

virtual void AddMatrixValue (unsigned int i, unsigned int j, Float value, unsigned int matrixIndex) override
 
virtual void AddSolutionValue (unsigned int i, Float value, unsigned int solutionIndex) override
 
virtual void AddVectorValue (unsigned int i, Float value, unsigned int vectorIndex) override
 
virtual void CopySolution2Vector (unsigned solutionIndex, unsigned int vectorIndex) override
 
virtual void CopyVector2Solution (unsigned int vectorIndex, unsigned int solutionIndex) override
 
virtual void DestroyMatrix (unsigned int matrixIndex) override
 
virtual void DestroySolution (unsigned int solutionIndex) override
 
virtual void DestroyVector (unsigned int vectorIndex) override
 
double GetAccuracy () const
 
int GetAdaptiveCaseSwitch () const
 
int GetAdaptiveSwitch () const
 
virtual void GetColumnsOfNonZeroMatrixElementsInRow (unsigned int row, ColumnArray &cols, unsigned int matrixIndex) override
 
int GetCommunicationSwitch () const
 
double GetDampingFactor () const
 
double GetDigitsInError () const
 
double GetDigitsInResidual () const
 
int GetErrorAnalysisSwitch () const
 
int GetErrorReportingLevel () const
 
double GetEstimatedSpectralRadiusLU () const
 
double GetEstimatedSpectralRadiusSSOR () const
 
double GetLargestJacobiEigenvalueEstimate () const
 
virtual Float GetMatrixValue (unsigned int i, unsigned int j, unsigned int matrixIndex) const override
 
int GetMaximumNumberIterations () const
 
int GetOutputNumber () const
 
double GetOverrelaxationParameter ()
 
int GetRedBlackOrderingSwitch ()
 
int GetRemoveSwitch ()
 
double GetSmallestJacobiEigenvalueEstimate ()
 
virtual Float GetSolutionValue (unsigned int i, unsigned int solutionIndex) const override
 
int GetSymmetricMatrixFlag ()
 
double GetTimeForCall ()
 
double GetTimeToConvergence ()
 
int GetTimingSwitch ()
 
double GetTolerance ()
 
virtual Float GetVectorValue (unsigned int i, unsigned int vectorIndex) const override
 
int GetWorkspaceUsed ()
 
virtual void InitializeMatrix (unsigned int matrixIndex) override
 
virtual void InitializeSolution (unsigned int solutionIndex) override
 
virtual void InitializeVector (unsigned int vectorIndex) override
 
virtual bool IsMatrixInitialized (unsigned int matrixIndex) override
 
virtual bool IsSolutionInitialized (unsigned int solutionIndex) override
 
virtual bool IsVectorInitialized (unsigned int vectorIndex) override
 
void JacobianConjugateGradient ()
 
void JacobianSemiIterative ()
 
 LinearSystemWrapperItpack ()
 
virtual void MultiplyMatrixMatrix (unsigned int resultMatrixIndex, unsigned int leftMatrixIndex, unsigned int rightMatrixIndex) override
 
virtual void MultiplyMatrixSolution (unsigned int resultVectorIndex, unsigned int matrixIndex, unsigned int solutionIndex) override
 
virtual void MultiplyMatrixVector (unsigned int resultVectorIndex, unsigned int matrixIndex, unsigned int vectorIndex) override
 
void ReducedSystemConjugateGradient ()
 
void ReducedSystemSemiIteration ()
 
virtual void ScaleMatrix (Float scale, unsigned int matrixIndex) override
 
void SetAccuracy (double i)
 
void SetAdaptiveCaseSwitch (int i)
 
void SetAdaptiveSwitch (int i)
 
void SetCommunicationSwitch (int i)
 
void SetDampingFactor (double i)
 
void SetDigitsInError (double i)
 
void SetDigitsInResidual (double i)
 
void SetErrorAnalysisSwitch (int i)
 
void SetEstimatedSpectralRadiusLU (double i)
 
void SetEstimatedSpectralRadiusSSOR (double i)
 
void SetLargestJacobiEigenvalueEstimate (double i)
 
virtual void SetMatrixValue (unsigned int i, unsigned int j, Float value, unsigned int matrixIndex) override
 
virtual void SetMaximumNonZeroValuesInMatrix (unsigned int maxNonZeroValues)
 
void SetMaximumNumberIterations (int i)
 
void SetOverrelaxationParameter (double i)
 
void SetRedBlackOrderingSwitch (int i)
 
void SetRemoveSwitch (int i)
 
void SetSmallestJacobiEigenvalueEstimate (double i)
 
virtual void SetSolutionValue (unsigned int i, Float value, unsigned int solutionIndex) override
 
void SetSymmetricMatrixFlag (int i)
 
void SetTimeForCall (double i)
 
void SetTimeToConvergence (double i)
 
void SetTimingSwitch (int i)
 
void SetTolerance (double i)
 
virtual void SetVectorValue (unsigned int i, Float value, unsigned int vectorIndex) override
 
void SetWorkspaceUsed (int i)
 
virtual void Solve (void) override
 
void SuccessiveOverrelaxation ()
 
virtual void SwapMatrices (unsigned int matrixIndex1, unsigned int matrixIndex2) override
 
virtual void SwapSolutions (unsigned int solutionIndex1, unsigned int solutionIndex2) override
 
virtual void SwapVectors (unsigned int vectorIndex1, unsigned int vectorIndex2) override
 
void SymmetricSuccessiveOverrelaxationConjugateGradient ()
 
void SymmetricSuccessiveOverrelaxationSuccessiveOverrelaxation ()
 
 ~LinearSystemWrapperItpack () override
 
- Public Member Functions inherited from itk::fem::LinearSystemWrapper
virtual void AddMatrixMatrix (unsigned int matrixIndex1, unsigned int matrixIndex2)
 
virtual void AddVectorVector (unsigned int vectorIndex1, unsigned int vectorIndex2)
 
virtual void Clean ()
 
virtual void CopyMatrix (unsigned int matrixIndex1, unsigned int matrixIndex2)
 
virtual void CopySolution2Vector (unsigned int solutionIndex, unsigned int vectorIndex)=0
 
virtual void CopyVector (unsigned int vectorSource, unsigned int vectorDestination)
 
unsigned int GetNumberOfMatrices () const
 
unsigned int GetNumberOfSolutions () const
 
unsigned int GetNumberOfVectors () const
 
unsigned int GetSystemOrder () const
 
virtual void OptimizeMatrixStorage (unsigned int matrixIndex, unsigned int tempMatrixIndex)
 
virtual void ReverseCuthillMckeeOrdering (ColumnArray &newNumbering, unsigned int matrixIndex=0)
 
void ScaleSolution (Float scale, unsigned int solutionIndex=0)
 
void ScaleVector (Float scale, unsigned int vectorIndex=0)
 
void SetNumberOfMatrices (unsigned int nMatrices)
 
void SetNumberOfSolutions (unsigned int nSolutions)
 
void SetNumberOfVectors (unsigned int nVectors)
 
void SetSystemOrder (unsigned int N)
 
virtual ~LinearSystemWrapper ()
 
 LinearSystemWrapper ()
 
- Public Member Functions inherited from itk::fem::Solution
virtual ~Solution ()
 

Private Attributes

integer m_IPARM [12]
 
MatrixHolderm_Matrices
 
unsigned int m_MaximumNonZeroValues
 
integer m_Method
 
ItkItpackSolverFunction m_Methods [7]
 
doublereal m_RPARM [12]
 
VectorHolderm_Solutions
 
VectorHolderm_Vectors
 

Additional Inherited Members

- Protected Attributes inherited from itk::fem::LinearSystemWrapper
unsigned int m_NumberOfMatrices
 
unsigned int m_NumberOfSolutions
 
unsigned int m_NumberOfVectors
 
unsigned int m_Order
 

Member Typedef Documentation

vector of matrices typedef

Definition at line 66 of file itkFEMLinearSystemWrapperItpack.h.

matrix representatin typedef

Definition at line 63 of file itkFEMLinearSystemWrapperItpack.h.

Standard "Self" typedef.

Definition at line 57 of file itkFEMLinearSystemWrapperItpack.h.

Standard "Superclass" typedef.

Definition at line 60 of file itkFEMLinearSystemWrapperItpack.h.

vector of vector typedef

Definition at line 76 of file itkFEMLinearSystemWrapperItpack.h.

vector representation typedef

Definition at line 73 of file itkFEMLinearSystemWrapperItpack.h.

Constructor & Destructor Documentation

itk::fem::LinearSystemWrapperItpack::LinearSystemWrapperItpack ( )

Functions required by LinearSystemWrapper


constructor

itk::fem::LinearSystemWrapperItpack::~LinearSystemWrapperItpack ( )
override

destructor

Member Function Documentation

virtual void itk::fem::LinearSystemWrapperItpack::AddMatrixValue ( unsigned int  i,
unsigned int  j,
Float  value,
unsigned int  matrixIndex 
)
overridevirtual

Virtual function to add a value to a specific element of the A matrix.

Parameters
irow of the element
jcolumn of the element
valuevalue to add to the existing element
matrixIndexindex of matrix to add value to

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::AddSolutionValue ( unsigned int  i,
Float  value,
unsigned int  solutionIndex 
)
overridevirtual

Virtual function to add a value of specific element of the solution vector.

Parameters
ielement Index in solution vector
valuenew value of the element
solutionIndexindex of solution vector to add value to

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::AddVectorValue ( unsigned int  i,
Float  value,
unsigned int  vectorIndex 
)
overridevirtual

Virtual function to add a value to a specific element of the B vector.

Parameters
irow of the element
valuevalue to add to the existing element
vectorIndexindex of vector to add value to

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::CopySolution2Vector ( unsigned  solutionIndex,
unsigned int  vectorIndex 
)
overridevirtual
virtual void itk::fem::LinearSystemWrapperItpack::CopyVector2Solution ( unsigned int  vectorIndex,
unsigned int  solutionIndex 
)
overridevirtual

Copy a vector to a solution vector

Parameters
vectorIndexindex of a vector to copy
solutionIndexindex of a solution to copy the solution to

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::DestroyMatrix ( unsigned int  matrixIndex)
overridevirtual

Free the memory from a matrix

Parameters
matrixIndexindex of matrix to destroy

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::DestroySolution ( unsigned int  solutionIndex)
overridevirtual

Free the memory from a solution vector

Parameters
solutionIndexindex of solution vector to destroy

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::DestroyVector ( unsigned int  vectorIndex)
overridevirtual

Free the memory from a vector

Parameters
vectorIndexindex of vector to destroy

Implements itk::fem::LinearSystemWrapper.

double itk::fem::LinearSystemWrapperItpack::GetAccuracy ( ) const
inline

Get the level of accuracy

Definition at line 295 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetAdaptiveCaseSwitch ( ) const
inline

Get flag indicating ??

Definition at line 191 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetAdaptiveSwitch ( ) const
inline

Get flag indicating ??

Definition at line 174 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::GetColumnsOfNonZeroMatrixElementsInRow ( unsigned int  row,
ColumnArray cols,
unsigned int  matrixIndex 
)
overridevirtual

Returns the column index (zero based) of the i-th non zero (non allocated)element in a given row of A matrix. This function is useful for optimizations when sparse matrices are used. Note that the value of an element with returned column index may actually be equal zero.

Parameters
rowRow number
colsWhich element in that row. Can range from 0 to number of elements allocated in a row. If this is out of range, the function returns -1.
matrixIndexIndex of matrix (defaults to 0)

Reimplemented from itk::fem::LinearSystemWrapper.

int itk::fem::LinearSystemWrapperItpack::GetCommunicationSwitch ( ) const
inline

Get the communication flag - meaningless in this implementation

Definition at line 130 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetDampingFactor ( ) const
inline

Get the damping factor used by ??

Definition at line 346 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetDigitsInError ( ) const
inline

Get the number of digits in the error

Definition at line 465 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetDigitsInResidual ( ) const
inline

Get the number of digits in the residual

Definition at line 482 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetErrorAnalysisSwitch ( ) const
inline

Get the flag for level of error reporting - meaningless in this implementation

Definition at line 278 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetErrorReportingLevel ( ) const
inline

Get a flag indicating the type of error reporting

Definition at line 113 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetEstimatedSpectralRadiusLU ( ) const
inline

Get the ??

Definition at line 397 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetEstimatedSpectralRadiusSSOR ( ) const
inline

Get the ??

Definition at line 380 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetLargestJacobiEigenvalueEstimate ( ) const
inline

Get ??

Definition at line 312 of file itkFEMLinearSystemWrapperItpack.h.

virtual Float itk::fem::LinearSystemWrapperItpack::GetMatrixValue ( unsigned int  i,
unsigned int  j,
unsigned int  matrixIndex 
) const
overridevirtual

Virtual function to get a value of a specific element of a matrix.

Parameters
irow of the element
jcolumn of the element
matrixIndexindex of matrix to get value from

Implements itk::fem::LinearSystemWrapper.

int itk::fem::LinearSystemWrapperItpack::GetMaximumNumberIterations ( ) const
inline

Get the maximum number iterations that may be performed

Definition at line 103 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetOutputNumber ( ) const
inline

Get the output number - meaningless in this implementation

Definition at line 140 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetOverrelaxationParameter ( )
inline

Get the over-relaxation parameter ??

Definition at line 363 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetRedBlackOrderingSwitch ( )
inline

Get the flag indicating use of red black ordering

Definition at line 227 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetRemoveSwitch ( )
inline

Get flag indicating ??

Definition at line 244 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetSmallestJacobiEigenvalueEstimate ( )
inline

Get ??

Definition at line 329 of file itkFEMLinearSystemWrapperItpack.h.

virtual Float itk::fem::LinearSystemWrapperItpack::GetSolutionValue ( unsigned int  i,
unsigned int  solutionIndex 
) const
overridevirtual

Returns value of i-th element in a solution vector. This value is calculated generalized displacement of the i-th degree of freedom in a FEM problem. Note that in general there may be several solution vectors. You can select which one do you want by passing the second parameter.

Parameters
ielement index in solution vector
solutionIndexindex of solution vector to get value from
Note
If the solution vector doesn't exist (problem was not yet solved), or the index i is out of range, the function returns 0.0.

Implements itk::fem::Solution.

int itk::fem::LinearSystemWrapperItpack::GetSymmetricMatrixFlag ( )
inline

Get flag indicating use of symmetric matrix (1=symmetric, 0=non-symmetric)

Definition at line 157 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetTimeForCall ( )
inline

Get the time for call

Definition at line 448 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetTimeToConvergence ( )
inline

Get the time to convergence

Definition at line 431 of file itkFEMLinearSystemWrapperItpack.h.

int itk::fem::LinearSystemWrapperItpack::GetTimingSwitch ( )
inline

Get the flag indicating use of the timer routines - meaningless in this implementation

Definition at line 261 of file itkFEMLinearSystemWrapperItpack.h.

double itk::fem::LinearSystemWrapperItpack::GetTolerance ( )
inline

Get the tolerance level

Definition at line 414 of file itkFEMLinearSystemWrapperItpack.h.

virtual Float itk::fem::LinearSystemWrapperItpack::GetVectorValue ( unsigned int  i,
unsigned int  vectorIndex 
) const
overridevirtual

Virtual function to get a value of a specific element of the B vector.

Parameters
irow of the element
vectorIndexindex of vector to get value from

Implements itk::fem::LinearSystemWrapper.

int itk::fem::LinearSystemWrapperItpack::GetWorkspaceUsed ( )
inline

Get the size of the workspace used by solver

Note
after solver is called this is the amount of workspace actually used

Definition at line 210 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::InitializeMatrix ( unsigned int  matrixIndex)
overridevirtual

Initialization of the A matrix. First any existing data for matrix A must be be destroyed, and then a new matrix is created in the memory. All elements in A must be set to zero.

Parameters
matrixIndexindex of matrix to initialize

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::InitializeSolution ( unsigned int  solutionIndex)
overridevirtual

Initialization of a solution vector. Existing memory must be destroyed and the new solution vector is created in memory. All values should be set to zero.

Parameters
solutionIndexindex of solution vector to initialize

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::InitializeVector ( unsigned int  vectorIndex)
overridevirtual

Initialization of the a vector. First any existing data for vector B must be destroyed, then new vector is created in the memory. All elements in B must be set to zero.

Implements itk::fem::LinearSystemWrapper.

virtual bool itk::fem::LinearSystemWrapperItpack::IsMatrixInitialized ( unsigned int  matrixIndex)
overridevirtual

Check to see if matrix is initialized

Parameters
matrixIndexindex of matrix to examine

Implements itk::fem::LinearSystemWrapper.

virtual bool itk::fem::LinearSystemWrapperItpack::IsSolutionInitialized ( unsigned int  solutionIndex)
overridevirtual

Check to see if solution vector is initialized

Parameters
solutionIndexindex of solution vector to examine

Implements itk::fem::LinearSystemWrapper.

virtual bool itk::fem::LinearSystemWrapperItpack::IsVectorInitialized ( unsigned int  vectorIndex)
overridevirtual

Check to see if vector is initialized

Parameters
vectorIndexvector of index to examine

Implements itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::JacobianConjugateGradient ( )
inline

Set numerical solving method to jacobian conjugate gradient

Definition at line 490 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::JacobianSemiIterative ( )
inline

Set numerical solving method to jacobian semi iterative

Definition at line 498 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::MultiplyMatrixMatrix ( unsigned int  resultMatrixIndex,
unsigned int  leftMatrixIndex,
unsigned int  rightMatrixIndex 
)
overridevirtual

Perform a matrix*matrix operation and store the result in the linear system

Parameters
leftMatrixIndexindex of left matrix
rightMatrixIndexindex of right matrix
resultMatrixIndexindex of matrix where solution is stored

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::MultiplyMatrixSolution ( unsigned int  resultVectorIndex,
unsigned int  matrixIndex,
unsigned int  solutionIndex 
)
overridevirtual

Perform a matrix*solution operation and store the result in the linear system

Parameters
matrixIndexindex of matrix to multiply
solutionIndexindex of solution to multiply
resultVectorIndexindex of vector where result is store

Reimplemented from itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::MultiplyMatrixVector ( unsigned int  resultVectorIndex,
unsigned int  matrixIndex,
unsigned int  vectorIndex 
)
overridevirtual

Perform a matrix*vector operation and store the result in the linear system

Parameters
matrixIndexindex of matrix to multiply
vectorIndexindex of vector to multiply
resultVectorIndexindex of vector where result is store

Reimplemented from itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::ReducedSystemConjugateGradient ( )
inline

Set numerical solving method to reduced system conjugate gradient

Definition at line 532 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::ReducedSystemSemiIteration ( )
inline

Set numerical solving method to reduced system semi-iteration

Definition at line 539 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::ScaleMatrix ( Float  scale,
unsigned int  matrixIndex 
)
overridevirtual

Multiplies all elements of a matrix by a scalar

Parameters
scalescalar to multiply all matrix values by
matrixIndexindex of matrix to modify

Reimplemented from itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::SetAccuracy ( double  i)
inline

Set the level of accuracy for an acceptable solution

Parameters
iaccuracy desired

Definition at line 287 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetAdaptiveCaseSwitch ( int  i)
inline

Set flag for ??

Parameters
i??

Definition at line 183 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetAdaptiveSwitch ( int  i)
inline

Set flag for ???

Parameters
i??

Definition at line 166 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetCommunicationSwitch ( int  i)
inline

Set the communication switch - meaningless in this implementation

Parameters
iflag value

Definition at line 122 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetDampingFactor ( double  i)
inline

Set the damping factor used by ??

Parameters
idamping factor

Definition at line 338 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetDigitsInError ( double  i)
inline

Set digits in error

Parameters
inumber of digits in error

Definition at line 457 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetDigitsInResidual ( double  i)
inline

Set the number of digits in the residual

Parameters
inumber of digits in the residual

Definition at line 474 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetErrorAnalysisSwitch ( int  i)
inline

Set the flag for level of error reporting - meaningless in this implementation

Parameters
iflag for level of error analysis

Definition at line 270 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetEstimatedSpectralRadiusLU ( double  i)
inline

Set the ??

Parameters
i??

Definition at line 389 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetEstimatedSpectralRadiusSSOR ( double  i)
inline

Set the ??

Parameters
i??

Definition at line 372 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetLargestJacobiEigenvalueEstimate ( double  i)
inline

Set ??

Parameters
ilarges jacobian eigenvalue estimate

Definition at line 304 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::SetMatrixValue ( unsigned int  i,
unsigned int  j,
Float  value,
unsigned int  matrixIndex 
)
overridevirtual

Virtual function to set a value of a specific element of the A matrix.

Parameters
irow of the element
jcolumn of the element
valuenew value of the element
matrixIndexindex of matrix to set value in

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::SetMaximumNonZeroValuesInMatrix ( unsigned int  maxNonZeroValues)
inlinevirtual

Redefine methods defined in LinearSystemWrapper


set maximum number of entires in a matrix

Parameters
maxNonZeroValuesmaximum number of entries allowed in matrix
Note
this must be called before any matrices are initialized

Definition at line 556 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetMaximumNumberIterations ( int  i)
inline

Set the maximum number of iterations

Parameters
imaximum number of iterations that may be performed

Definition at line 95 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetOverrelaxationParameter ( double  i)
inline

Set the over-relaxation parameter ??

Parameters
iparameter

Definition at line 355 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetRedBlackOrderingSwitch ( int  i)
inline

Set flag indicating use of red black ordering

Parameters
i1=red black ordering used, 0=not

Definition at line 219 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetRemoveSwitch ( int  i)
inline

Set flag indicating ??

Parameters
i??

Definition at line 236 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetSmallestJacobiEigenvalueEstimate ( double  i)
inline

Set ??

Parameters
ismalles jacobian eigenvalue estimate

Definition at line 321 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::SetSolutionValue ( unsigned int  i,
Float  value,
unsigned int  solutionIndex 
)
overridevirtual

Virtual function to set a value of specific element of the solution vector.

Parameters
ielement Index in solution vector
valuenew value of the element
solutionIndexindex of solution vector to set value in

Implements itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::SetSymmetricMatrixFlag ( int  i)
inline

Set flag indicating symmetric matrix is being used

Parameters
i1=symmetric, 0=non-symmetric

Definition at line 149 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetTimeForCall ( double  i)
inline

Set the time for call

Parameters
i??

Definition at line 440 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetTimeToConvergence ( double  i)
inline

Set the time to convergence

Parameters
i??

Definition at line 423 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetTimingSwitch ( int  i)
inline

Set the flag indicating use of timer routines - meaningless in this implementation

Parameters
iflag

Definition at line 253 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SetTolerance ( double  i)
inline

Set the tolerance level

Parameters
itolerance

Definition at line 406 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::SetVectorValue ( unsigned int  i,
Float  value,
unsigned int  vectorIndex 
)
overridevirtual

Virtual function to set a value of a specific element of the B vector.

Parameters
irow of the element
valuenew value of the element
vectorIndexindex of vector to set value in

Implements itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::SetWorkspaceUsed ( int  i)
inline

Set size of workspace used by solver

Parameters
isize of the workspace vector
Note
this value is set by default

Definition at line 201 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::Solve ( void  )
overridevirtual

Solves the linear system and creates the solution vector, which can later be accessed via GetSolutionValue(i,SolutionIndex) member function. Here all the major processing is done with calls to external numeric library.

Note
This function can only be called after the linear system was properly assembled.

Implements itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::SuccessiveOverrelaxation ( )
inline

Set numerical solving method to successive over-relaxation

Definition at line 506 of file itkFEMLinearSystemWrapperItpack.h.

virtual void itk::fem::LinearSystemWrapperItpack::SwapMatrices ( unsigned int  matrixIndex1,
unsigned int  matrixIndex2 
)
overridevirtual

Swaps access indices of any 2 matrices in the linear system

Parameters
matrixIndex1index of a matrix to swap
matrixIndex2index of matrix to swap with

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::SwapSolutions ( unsigned int  solutionIndex1,
unsigned int  solutionIndex2 
)
overridevirtual

Swaps access indices of any 2 solution vectors in the linear system

Parameters
solutionIndex1index of a solution vector to swap
solutionIndex2index of solution vector to swap with

Implements itk::fem::LinearSystemWrapper.

virtual void itk::fem::LinearSystemWrapperItpack::SwapVectors ( unsigned int  vectorIndex1,
unsigned int  vectorIndex2 
)
overridevirtual

Swaps access indices of any 2 vectors in the linear system

Parameters
vectorIndex1index of a vector to swap
vectorIndex2index of vector to swap with

Implements itk::fem::LinearSystemWrapper.

void itk::fem::LinearSystemWrapperItpack::SymmetricSuccessiveOverrelaxationConjugateGradient ( )
inline

Set numerical solving method to symmetric successive over-relaxation conjugate gradient

Definition at line 515 of file itkFEMLinearSystemWrapperItpack.h.

void itk::fem::LinearSystemWrapperItpack::SymmetricSuccessiveOverrelaxationSuccessiveOverrelaxation ( )
inline

Set numerical solving method to symmetric successive over-relaxation successive over-relaxation

Definition at line 524 of file itkFEMLinearSystemWrapperItpack.h.

Member Data Documentation

integer itk::fem::LinearSystemWrapperItpack::m_IPARM[12]
private

vector of length 12 used to initialize various parameters on input

Definition at line 670 of file itkFEMLinearSystemWrapperItpack.h.

MatrixHolder* itk::fem::LinearSystemWrapperItpack::m_Matrices
private

pointer to vector of matrices

Definition at line 650 of file itkFEMLinearSystemWrapperItpack.h.

unsigned int itk::fem::LinearSystemWrapperItpack::m_MaximumNonZeroValues
private

pointer to array of unsigned int's indicating max number of entries in each matrix

Definition at line 661 of file itkFEMLinearSystemWrapperItpack.h.

integer itk::fem::LinearSystemWrapperItpack::m_Method
private

flag indicating which solver function should be used

Definition at line 667 of file itkFEMLinearSystemWrapperItpack.h.

ItkItpackSolverFunction itk::fem::LinearSystemWrapperItpack::m_Methods[7]
private

Array of pointers to available solver functions

Definition at line 664 of file itkFEMLinearSystemWrapperItpack.h.

doublereal itk::fem::LinearSystemWrapperItpack::m_RPARM[12]
private

vector of length 12 used to initialize various parameters on input

Definition at line 673 of file itkFEMLinearSystemWrapperItpack.h.

VectorHolder* itk::fem::LinearSystemWrapperItpack::m_Solutions
private

pointer to vector of solution arrays

Definition at line 656 of file itkFEMLinearSystemWrapperItpack.h.

VectorHolder* itk::fem::LinearSystemWrapperItpack::m_Vectors
private

pointer to vector of force arrays

Definition at line 653 of file itkFEMLinearSystemWrapperItpack.h.


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