ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Attributes
itk::fem::LinearSystemWrapperItpack Class Reference

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

#include <itkFEMLinearSystemWrapperItpack.h>

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

List of all members.

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 Member Functions

virtual void AddMatrixValue (unsigned int i, unsigned int j, Float value, unsigned int matrixIndex)
virtual void AddSolutionValue (unsigned int i, Float value, unsigned int solutionIndex)
virtual void AddVectorValue (unsigned int i, Float value, unsigned int vectorIndex)
virtual void CopySolution2Vector (unsigned solutionIndex, unsigned int vectorIndex)
virtual void CopyVector2Solution (unsigned int vectorIndex, unsigned int solutionIndex)
virtual void DestroyMatrix (unsigned int matrixIndex)
virtual void DestroySolution (unsigned int solutionIndex)
virtual void DestroyVector (unsigned int vectorIndex)
double GetAccuracy () const
int GetAdaptiveCaseSwitch () const
int GetAdaptiveSwitch () const
virtual void GetColumnsOfNonZeroMatrixElementsInRow (unsigned int row, ColumnArray &cols, unsigned int matrixIndex)
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
int GetMaximumNumberIterations () const
int GetOutputNumber () const
double GetOverrelaxationParameter ()
int GetRedBlackOrderingSwitch ()
int GetRemoveSwitch ()
double GetSmallestJacobiEigenvalueEstimate ()
virtual Float GetSolutionValue (unsigned int i, unsigned int solutionIndex) const
int GetSymmetricMatrixFlag ()
double GetTimeForCall ()
double GetTimeToConvergence ()
int GetTimingSwitch ()
double GetTolerance ()
virtual Float GetVectorValue (unsigned int i, unsigned int vectorIndex) const
int GetWorkspaceUsed ()
virtual void InitializeMatrix (unsigned int matrixIndex)
virtual void InitializeSolution (unsigned int solutionIndex)
virtual void InitializeVector (unsigned int vectorIndex)
virtual bool IsMatrixInitialized (unsigned int matrixIndex)
virtual bool IsSolutionInitialized (unsigned int solutionIndex)
virtual bool IsVectorInitialized (unsigned int vectorIndex)
void JacobianConjugateGradient ()
void JacobianSemiIterative ()
 LinearSystemWrapperItpack ()
virtual void MultiplyMatrixMatrix (unsigned int resultMatrixIndex, unsigned int leftMatrixIndex, unsigned int rightMatrixIndex)
virtual void MultiplyMatrixVector (unsigned int resultVectorIndex, unsigned int matrixIndex, unsigned int vectorIndex)
void ReducedSystemConjugateGradient ()
void ReducedSystemSemiIteration ()
void ScaleMatrix (Float scale, unsigned int matrixIndex)
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)
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)
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)
void SetWorkspaceUsed (int i)
virtual void Solve (void)
void SuccessiveOverrelaxation ()
virtual void SwapMatrices (unsigned int matrixIndex1, unsigned int matrixIndex2)
virtual void SwapSolutions (unsigned int solutionIndex1, unsigned int solutionIndex2)
virtual void SwapVectors (unsigned int vectorIndex1, unsigned int vectorIndex2)
void SymmetricSuccessiveOverrelaxationConjugateGradient ()
void SymmetricSuccessiveOverrelaxationSuccessiveOverrelaxation ()
 ~LinearSystemWrapperItpack ()

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

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 51 of file itkFEMLinearSystemWrapperItpack.h.


Member Typedef Documentation

vector of matrices typedef

Definition at line 65 of file itkFEMLinearSystemWrapperItpack.h.

matrix representatin typedef

Definition at line 62 of file itkFEMLinearSystemWrapperItpack.h.

Standard "Self" typedef.

Reimplemented from itk::fem::LinearSystemWrapper.

Definition at line 56 of file itkFEMLinearSystemWrapperItpack.h.

Standard "Superclass" typedef.

Reimplemented from itk::fem::LinearSystemWrapper.

Definition at line 59 of file itkFEMLinearSystemWrapperItpack.h.

vector of vector typedef

Definition at line 75 of file itkFEMLinearSystemWrapperItpack.h.

vector representation typedef

Definition at line 72 of file itkFEMLinearSystemWrapperItpack.h.


Constructor & Destructor Documentation

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

-----------------------------------------------------------------

Functions required by LinearSystemWrapper

----------------------------------------------------------------- constructor

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

destructor


Member Function Documentation

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

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 
) [virtual]

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 
) [virtual]

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 
) [virtual]
virtual void itk::fem::LinearSystemWrapperItpack::CopyVector2Solution ( unsigned int  vectorIndex,
unsigned int  solutionIndex 
) [virtual]

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) [virtual]

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) [virtual]

Free teh mememory from a solution vector

Parameters:
solutionIndexindex of solution vector to destroy

Implements itk::fem::LinearSystemWrapper.

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

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 294 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get flag indicating ??

Definition at line 190 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get flag indicating ??

Definition at line 173 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

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 usefull 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 129 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get the damping factor used by ??

Definition at line 345 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get the number of digits in the error

Definition at line 464 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get the number of digits in the residual

Definition at line 481 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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

Definition at line 277 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get a flag indicating the type of error reporting

Definition at line 112 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get the ??

Definition at line 396 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get the ??

Definition at line 379 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get ??

Definition at line 311 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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 102 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get the output number - meaningless in this implementation

Definition at line 139 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get the over-relaxation parameter ??

Definition at line 362 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get the flag indicating use of red black ordering

Definition at line 226 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get flag indicating ??

Definition at line 243 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get ??

Definition at line 328 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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 156 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get the time for call

Definition at line 447 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Get the time to convergence

Definition at line 430 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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

Definition at line 260 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Get the tolerance level

Definition at line 413 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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 209 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

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) [virtual]

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) [virtual]

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) [virtual]

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) [virtual]

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) [virtual]

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 489 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.

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

Set numerical solving method to jacobian semi iterative

Definition at line 497 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.

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

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::MultiplyMatrixVector ( unsigned int  resultVectorIndex,
unsigned int  matrixIndex,
unsigned int  vectorIndex 
) [virtual]

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 531 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.

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

Set numerical solving method to reduced system semi-iteration

Definition at line 538 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.

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

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 286 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Set flag for ??

Parameters:
i??

Definition at line 182 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set flag for ???

Parameters:
i??

Definition at line 165 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set the communication switch - meaningless in this implementation

Parameters:
iflag value

Definition at line 121 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set the damping factor used by ??

Parameters:
idamping factor

Definition at line 337 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Set digits in error

Parameters:
inumber of digits in error

Definition at line 456 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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 473 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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 269 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set the ??

Parameters:
i??

Definition at line 388 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Set the ??

Parameters:
i??

Definition at line 371 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Set ??

Parameters:
ilarges jacobian eigenvalue estimate

Definition at line 303 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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) [inline, virtual]

-----------------------------------------------------------------

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 555 of file itkFEMLinearSystemWrapperItpack.h.

References m_MaximumNonZeroValues.

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 94 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set the over-relaxation parameter ??

Parameters:
iparameter

Definition at line 354 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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 218 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set flag indicating ??

Parameters:
i??

Definition at line 235 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set ??

Parameters:
ismalles jacobian eigenvalue estimate

Definition at line 320 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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 148 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set the time for call

Parameters:
i??

Definition at line 439 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

Set the time to convergence

Parameters:
i??

Definition at line 422 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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 252 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

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

Set the tolerance level

Parameters:
itolerance

Definition at line 405 of file itkFEMLinearSystemWrapperItpack.h.

References m_RPARM.

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

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 200 of file itkFEMLinearSystemWrapperItpack.h.

References m_IPARM.

virtual void itk::fem::LinearSystemWrapperItpack::Solve ( void  ) [virtual]

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 505 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.

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

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 
) [virtual]

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 
) [virtual]

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 514 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.

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

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

Definition at line 523 of file itkFEMLinearSystemWrapperItpack.h.

References m_Method.


Member Data Documentation

pointer to vector of matrices

Definition at line 641 of file itkFEMLinearSystemWrapperItpack.h.

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

Definition at line 652 of file itkFEMLinearSystemWrapperItpack.h.

Referenced by SetMaximumNonZeroValuesInMatrix().

Array of pointers to available solver functions

Definition at line 655 of file itkFEMLinearSystemWrapperItpack.h.

pointer to vector of solution arrays

Definition at line 647 of file itkFEMLinearSystemWrapperItpack.h.

pointer to vector of force arrays

Definition at line 644 of file itkFEMLinearSystemWrapperItpack.h.


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