#include <itkFEMLinearSystemWrapperItpack.h>
Inheritance diagram for itk::fem::LinearSystemWrapperItpack:


Definition at line 36 of file itkFEMLinearSystemWrapperItpack.h.
Public Types | |
| typedef std::vector< unsigned int > | ColumnArray |
| typedef const Self * | ConstPointer |
| typedef double | Float |
| typedef std::vector< MatrixRepresentation > | MatrixHolder |
| typedef ItpackSparseMatrix | MatrixRepresentation |
| typedef Self * | Pointer |
| typedef LinearSystemWrapperItpack | Self |
| typedef LinearSystemWrapper | Superclass |
| typedef std::vector< VectorRepresentation > | VectorHolder |
| typedef double * | VectorRepresentation |
Public Member Functions | |
| virtual void | AddMatrixMatrix (unsigned int matrixIndex1, unsigned int matrixIndex2) |
| 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 | AddVectorVector (unsigned int vectorIndex1, unsigned int vectorIndex2) |
| virtual void | Clean (void) |
| virtual void | CopyMatrix (unsigned int matrixIndex1, unsigned int matrixIndex2) |
| virtual void | CopySolution2Vector (unsigned int solutionIndex, unsigned int vectorIndex)=0 |
| virtual void | CopySolution2Vector (unsigned solutionIndex, unsigned int vectorIndex) |
| virtual void | CopyVector (unsigned int vectorSource, unsigned int vectorDestination) |
| 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 () |
| int | GetAdaptiveCaseSwitch () |
| int | GetAdaptiveSwitch () |
| virtual void | GetColumnsOfNonZeroMatrixElementsInRow (unsigned int row, ColumnArray &cols, unsigned int matrixIndex) |
| int | GetCommunicationSwitch () |
| double | GetDampingFactor () |
| double | GetDigitsInError () |
| double | GetDigitsInResidual () |
| int | GetErrorAnalysisSwitch () |
| int | GetErrorReportingLevel () |
| double | GetEstimatedSpectralRadiusLU () |
| double | GetEstimatedSpectralRadiusSSOR () |
| double | GetLargestJacobiEigenvalueEstimate () |
| virtual Float | GetMatrixValue (unsigned int i, unsigned int j, unsigned int matrixIndex) const |
| int | GetMaximumNumberIterations () |
| unsigned int | GetNumberOfMatrices () |
| unsigned int | GetNumberOfSolutions () |
| unsigned int | GetNumberOfVectors () |
| int | GetOutputNumber () |
| double | GetOverrelaxationParameter () |
| int | GetRedBlackOrderingSwitch () |
| int | GetRemoveSwitch () |
| double | GetSmallestJacobiEigenvalueEstimate () |
| virtual Float | GetSolutionValue (unsigned int i, unsigned int solutionIndex) const |
| int | GetSymmetricMatrixFlag () |
| unsigned int | GetSystemOrder () const |
| 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) |
| virtual void | OptimizeMatrixStorage (unsigned int matrixIndex, unsigned int tempMatrixIndex) |
| void | ReducedSystemConjugateGradient () |
| void | ReducedSystemSemiIteration () |
| virtual void | ReverseCuthillMckeeOrdering (ColumnArray &newNumbering, unsigned int matrixIndex=0) |
| void | ScaleMatrix (Float scale, unsigned int matrixIndex) |
| void | ScaleSolution (Float scale, unsigned int solutionIndex=0) |
| void | ScaleVector (Float scale, unsigned int vectorIndex=0) |
| 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 | SetNumberOfMatrices (unsigned int nMatrices) |
| void | SetNumberOfSolutions (unsigned int nSolutions) |
| void | SetNumberOfVectors (unsigned int nVectors) |
| 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 | SetSystemOrder (unsigned int N) |
| 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 () | |
Public Attributes | |
| *Constructor for linear | system |
Protected Attributes | |
| unsigned int | m_NumberOfMatrices |
| unsigned int | m_NumberOfSolutions |
| unsigned int | m_NumberOfVectors |
| unsigned int | m_Order |
|
|
Definition at line 67 of file itkFEMLinearSystemWrapper.h. |
|
|
Const pointer to an object. Reimplemented from itk::fem::Solution. Definition at line 65 of file itkFEMLinearSystemWrapper.h. |
|
|
Floating point storage type used within a class Reimplemented in itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL. Definition at line 53 of file itkFEMSolution.h. |
|
|
vector of matrices typedef Definition at line 50 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
matrix representatin typedef Definition at line 47 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Pointer to an object. Reimplemented from itk::fem::Solution. Definition at line 62 of file itkFEMLinearSystemWrapper.h. |
|
|
Standard "Self" typedef. Reimplemented from itk::fem::LinearSystemWrapper. Definition at line 41 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Standard "Superclass" typedef. Reimplemented from itk::fem::LinearSystemWrapper. Definition at line 44 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
vector of vector typedef Definition at line 60 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
vector representation typedef Definition at line 57 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
constructor |
|
|
destructor |
|
||||||||||||
|
Adds two matrices storing the result in the first matrix.
|
|
||||||||||||||||||||
|
Virtual function to add a value to a specific element of the A matrix.
Implements itk::fem::LinearSystemWrapper. |
|
||||||||||||||||
|
Virtual function to add a value of specific element of the solution vector.
Implements itk::fem::LinearSystemWrapper. |
|
||||||||||||||||
|
Virtual function to add a value to a specific element of the B vector.
Implements itk::fem::LinearSystemWrapper. |
|
||||||||||||
|
Adds two vectors storing the result in the first vector.
|
|
|
Clear all the data (matrices) inside the system, so that the system is ready to solve another problem from scratch. |
|
||||||||||||
|
Copies the content of source matrix to destination matrix. Any existing data in destination matrix is overwritten.
|
|
||||||||||||
|
Copy a solution vector to a vector
|
|
||||||||||||
|
|
|
||||||||||||
|
Copy a vector
|
|
||||||||||||
|
Copy a vector to a solution vector
Implements itk::fem::LinearSystemWrapper. |
|
|
Free the memory from a matrix
Implements itk::fem::LinearSystemWrapper. |
|
|
Free teh mememory from a solution vector
Implements itk::fem::LinearSystemWrapper. |
|
|
Free the memory from a vector
Implements itk::fem::LinearSystemWrapper. |
|
|
Get the level of accuracy Definition at line 210 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get flag indicating ?? Definition at line 142 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get flag indicating ?? Definition at line 131 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||||||
|
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.
Reimplemented from itk::fem::LinearSystemWrapper. |
|
|
Get the communication flag - meaningless in this implementation Definition at line 102 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the damping factor used by ?? Definition at line 243 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the number of digits in the error Definition at line 320 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the number of digits in the residual Definition at line 331 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the flag for level of error reporting - meaningless in this implementation Definition at line 199 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get a flag indicating the type of error reporting Definition at line 91 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the ?? Definition at line 276 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the ?? Definition at line 265 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get ?? Definition at line 221 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||||||
|
Virtual function to get a value of a specific element of a matrix.
Implements itk::fem::LinearSystemWrapper. |
|
|
Get the maximum number iterations that may be performed Definition at line 84 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get Index of matrices used by system Definition at line 120 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_NumberOfMatrices. |
|
|
Get Index of solutions used by system Definition at line 142 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_NumberOfSolutions. |
|
|
Get Index of vectors used by system Definition at line 131 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_NumberOfVectors. |
|
|
Get the output number - meaningless in this implementation Definition at line 109 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the over-relaxation parameter ?? Definition at line 254 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the flag indicating use of red black ordering Definition at line 166 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get flag indicating ?? Definition at line 177 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get ?? Definition at line 232 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||
|
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.
Implements itk::fem::Solution. |
|
|
Get flag indicating use of symmetric matrix (1=symmetric, 0=non-symmetric) Definition at line 120 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the order of the system Definition at line 100 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_Order. |
|
|
Get the time for call Definition at line 309 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the time to convergence Definition at line 298 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the flag indicating use of the timer routines - meaningless in this implementation Definition at line 188 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Get the tolerance level Definition at line 287 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||
|
Virtual function to get a value of a specific element of the B vector.
Implements itk::fem::LinearSystemWrapper. |
|
|
Get the size of the workspace used by solver
Definition at line 155 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
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.
Implements itk::fem::LinearSystemWrapper. |
|
|
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.
Implements itk::fem::LinearSystemWrapper. |
|
|
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. |
|
|
Check to see if matrix is initialized
Implements itk::fem::LinearSystemWrapper. |
|
|
Check to see if solution vector is initialized
Implements itk::fem::LinearSystemWrapper. |
|
|
Check to see if vector is initialized
Implements itk::fem::LinearSystemWrapper. |
|
|
Set numerical solving method to jacobian conjugate gradient Definition at line 336 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set numerical solving method to jacobian semi iterative Definition at line 341 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||||||
|
Perform a matrix*matrix operation and store the result in the linear system
Implements itk::fem::LinearSystemWrapper. |
|
||||||||||||||||
|
Perform a matrix*vector operation and store the result in the linear system
Reimplemented from itk::fem::LinearSystemWrapper. |
|
||||||||||||
|
Remove all zeros from a matrix
|
|
|
Set numerical solving method to reduced system conjugate gradient Definition at line 363 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set numerical solving method to reduced system semi-iteration Definition at line 367 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||
|
Reorder the Degrees of Freedom in order to reduce bandwidth of matrix
|
|
||||||||||||
|
Multiplies all elements of a matrix by a scalar
Reimplemented from itk::fem::LinearSystemWrapper. |
|
||||||||||||
|
Multiplies all elements of a solution by a scalar
Reimplemented in itk::fem::LinearSystemWrapperDenseVNL. |
|
||||||||||||
|
Multiplies all elements of a vector by a scalar
Reimplemented in itk::fem::LinearSystemWrapperDenseVNL. |
|
|
Set the level of accuracy for an acceptable solution
Definition at line 205 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set flag for ??
Definition at line 137 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set flag for ???
Definition at line 126 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the communication switch - meaningless in this implementation
Definition at line 97 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the damping factor used by ??
Definition at line 238 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set digits in error
Definition at line 315 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the number of digits in the residual
Definition at line 326 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the flag for level of error reporting - meaningless in this implementation
Definition at line 194 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the ??
Definition at line 271 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the ??
Definition at line 260 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set ??
Definition at line 216 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||||||||||
|
Virtual function to set a value of a specific element of the A matrix.
Implements itk::fem::LinearSystemWrapper. |
|
|
set maximum number of entires in a matrix
Definition at line 382 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the maximum number of iterations
Definition at line 79 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set Index of matrices used by the system
Definition at line 106 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_NumberOfMatrices. |
|
|
Set Index of solutions used by the system
Definition at line 137 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_NumberOfSolutions. |
|
|
Set Index of vectors used by the system
Definition at line 126 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_NumberOfVectors. |
|
|
Set the over-relaxation parameter ??
Definition at line 249 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set flag indicating use of red black ordering
Definition at line 161 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set flag indicating ??
Definition at line 172 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set ??
Definition at line 227 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||||||
|
Virtual function to set a value of specific element of the solution vector.
Implements itk::fem::LinearSystemWrapper. |
|
|
Set flag indicating symmetric matrix is being used
Definition at line 115 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the order of the system. All matrices will be of size NxN and all vectors will be of size N
Definition at line 95 of file itkFEMLinearSystemWrapper.h. References itk::fem::LinearSystemWrapper::m_Order. |
|
|
Set the time for call
Definition at line 304 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the time to convergence
Definition at line 293 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the flag indicating use of timer routines - meaningless in this implementation
Definition at line 183 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set the tolerance level
Definition at line 282 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||||||
|
Virtual function to set a value of a specific element of the B vector.
Implements itk::fem::LinearSystemWrapper. |
|
|
Set size of workspace used by solver
Definition at line 149 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
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.
Implements itk::fem::LinearSystemWrapper. |
|
|
Set numerical solving method to successive over-relaxation Definition at line 346 of file itkFEMLinearSystemWrapperItpack.h. |
|
||||||||||||
|
Swaps access indices of any 2 matrices in the linear system
Implements itk::fem::LinearSystemWrapper. |
|
||||||||||||
|
Swaps access indices of any 2 solution vectors in the linear system
Implements itk::fem::LinearSystemWrapper. |
|
||||||||||||
|
Swaps access indices of any 2 vectors in the linear system
Implements itk::fem::LinearSystemWrapper. |
|
|
Set numerical solving method to symmetric successive over-relaxation conjugate gradient Definition at line 352 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Set numerical solving method to symmetric successive over-relaxation successive over-relaxation Definition at line 358 of file itkFEMLinearSystemWrapperItpack.h. |
|
|
Number of matrices used by system Definition at line 463 of file itkFEMLinearSystemWrapper.h. Referenced by itk::fem::LinearSystemWrapper::GetNumberOfMatrices(), and itk::fem::LinearSystemWrapper::SetNumberOfMatrices(). |
|
|
Number of solutions used by system Definition at line 473 of file itkFEMLinearSystemWrapper.h. Referenced by itk::fem::LinearSystemWrapper::GetNumberOfSolutions(), and itk::fem::LinearSystemWrapper::SetNumberOfSolutions(). |
|
|
Number of vectors used by system Definition at line 468 of file itkFEMLinearSystemWrapper.h. Referenced by itk::fem::LinearSystemWrapper::GetNumberOfVectors(), and itk::fem::LinearSystemWrapper::SetNumberOfVectors(). |
|
|
Order of linear system Definition at line 458 of file itkFEMLinearSystemWrapper.h. Referenced by itk::fem::LinearSystemWrapper::GetSystemOrder(), and itk::fem::LinearSystemWrapper::SetSystemOrder(). |
|
|
Definition at line 70 of file itkFEMLinearSystemWrapper.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000