LinearSystemWrapper class that uses Itpack numeric library functions to define and solve a sparse linear system of equations. More...
#include <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 solutionIndex, unsigned int vectorIndex) |
virtual void | CopySolution2Vector (unsigned int solutionIndex, unsigned int vectorIndex)=0 |
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 () | |
Protected Attributes | |
unsigned int | m_NumberOfMatrices |
unsigned int | m_NumberOfSolutions |
unsigned int | m_NumberOfVectors |
unsigned int | m_Order |
LinearSystemWrapper class that uses Itpack numeric library functions to define and solve a sparse linear system of equations.
Definition at line 48 of file itkFEMLinearSystemWrapperItpack.h.
typedef std::vector<unsigned int> itk::fem::LinearSystemWrapper::ColumnArray [inherited] |
Definition at line 59 of file itkFEMLinearSystemWrapper.h.
typedef const Self* itk::fem::LinearSystemWrapper::ConstPointer [inherited] |
Const pointer to an object.
Reimplemented from itk::fem::Solution.
Definition at line 57 of file itkFEMLinearSystemWrapper.h.
typedef double itk::fem::Solution::Float [inherited] |
Floating point storage type used within a class
Reimplemented in itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.
Definition at line 50 of file itkFEMSolution.h.
typedef std::vector<MatrixRepresentation> itk::fem::LinearSystemWrapperItpack::MatrixHolder |
vector of matrices typedef
Definition at line 62 of file itkFEMLinearSystemWrapperItpack.h.
matrix representatin typedef
Definition at line 59 of file itkFEMLinearSystemWrapperItpack.h.
typedef Self* itk::fem::LinearSystemWrapper::Pointer [inherited] |
Pointer to an object.
Reimplemented from itk::fem::Solution.
Definition at line 56 of file itkFEMLinearSystemWrapper.h.
Standard "Self" typedef.
Reimplemented from itk::fem::LinearSystemWrapper.
Definition at line 53 of file itkFEMLinearSystemWrapperItpack.h.
Standard "Superclass" typedef.
Reimplemented from itk::fem::LinearSystemWrapper.
Definition at line 56 of file itkFEMLinearSystemWrapperItpack.h.
typedef std::vector<VectorRepresentation> itk::fem::LinearSystemWrapperItpack::VectorHolder |
vector of vector typedef
Definition at line 72 of file itkFEMLinearSystemWrapperItpack.h.
typedef double* itk::fem::LinearSystemWrapperItpack::VectorRepresentation |
vector representation typedef
Definition at line 69 of file itkFEMLinearSystemWrapperItpack.h.
itk::fem::LinearSystemWrapperItpack::LinearSystemWrapperItpack | ( | ) |
-----------------------------------------------------------------
Functions required by LinearSystemWrapper
----------------------------------------------------------------- constructor
itk::fem::LinearSystemWrapperItpack::~LinearSystemWrapperItpack | ( | ) |
destructor
virtual void itk::fem::LinearSystemWrapper::AddMatrixMatrix | ( | unsigned int | matrixIndex1, | |
unsigned int | matrixIndex2 | |||
) | [virtual, inherited] |
Adds two matrices storing the result in the first matrix.
matrixIndex1 | index of a matrix to add the other matrix to | |
matrixIndex2 | index of matrix to add |
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.
i | row of the element | |
j | column of the element | |
value | value to add to the existing element | |
matrixIndex | index 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.
i | element Index in solution vector | |
value | new value of the element | |
solutionIndex | index 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.
i | row of the element | |
value | value to add to the existing element | |
vectorIndex | index of vector to add value to |
Implements itk::fem::LinearSystemWrapper.
virtual void itk::fem::LinearSystemWrapper::AddVectorVector | ( | unsigned int | vectorIndex1, | |
unsigned int | vectorIndex2 | |||
) | [virtual, inherited] |
Adds two vectors storing the result in the first vector.
vectorIndex1 | index of a vector to add the other vector to | |
vectorIndex2 | index of vector to add |
virtual void itk::fem::LinearSystemWrapper::Clean | ( | void | ) | [virtual, inherited] |
Clear all the data (matrices) inside the system, so that the system is ready to solve another problem from scratch.
virtual void itk::fem::LinearSystemWrapper::CopyMatrix | ( | unsigned int | matrixIndex1, | |
unsigned int | matrixIndex2 | |||
) | [virtual, inherited] |
Copies the content of source matrix to destination matrix. Any existing data in destination matrix is overwritten.
matrixIndex1 | index of a matrix that will be copied | |
matrixIndex2 | index of matrix to copy to |
virtual void itk::fem::LinearSystemWrapperItpack::CopySolution2Vector | ( | unsigned | solutionIndex, | |
unsigned int | vectorIndex | |||
) | [virtual] |
virtual void itk::fem::LinearSystemWrapper::CopySolution2Vector | ( | unsigned int | solutionIndex, | |
unsigned int | vectorIndex | |||
) | [pure virtual, inherited] |
Copy a solution vector to a vector
solutionIndex | index of solution vector to copy | |
vectorIndex | index of vector to copy solution to |
virtual void itk::fem::LinearSystemWrapper::CopyVector | ( | unsigned int | vectorSource, | |
unsigned int | vectorDestination | |||
) | [virtual, inherited] |
Copy a vector
vectorSource | index of a vector to copy | |
vectorDestination | index to copy the vector to |
virtual void itk::fem::LinearSystemWrapperItpack::CopyVector2Solution | ( | unsigned int | vectorIndex, | |
unsigned int | solutionIndex | |||
) | [virtual] |
Copy a vector to a solution vector
vectorIndex | index of a vector to copy | |
solutionIndex | index 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
matrixIndex | index 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
solutionIndex | index 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
vectorIndex | index of vector to destroy |
Implements itk::fem::LinearSystemWrapper.
double itk::fem::LinearSystemWrapperItpack::GetAccuracy | ( | ) | [inline] |
Get the level of accuracy
Definition at line 222 of file itkFEMLinearSystemWrapperItpack.h.
int itk::fem::LinearSystemWrapperItpack::GetAdaptiveCaseSwitch | ( | ) | [inline] |
Get flag indicating ??
Definition at line 154 of file itkFEMLinearSystemWrapperItpack.h.
int itk::fem::LinearSystemWrapperItpack::GetAdaptiveSwitch | ( | ) | [inline] |
Get flag indicating ??
Definition at line 143 of file itkFEMLinearSystemWrapperItpack.h.
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.
row | Row number | |
cols | Which 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. | |
matrixIndex | Index of matrix (defaults to 0) |
Reimplemented from itk::fem::LinearSystemWrapper.
int itk::fem::LinearSystemWrapperItpack::GetCommunicationSwitch | ( | ) | [inline] |
Get the communication flag - meaningless in this implementation
Definition at line 114 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetDampingFactor | ( | ) | [inline] |
Get the damping factor used by ??
Definition at line 255 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetDigitsInError | ( | ) | [inline] |
Get the number of digits in the error
Definition at line 332 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetDigitsInResidual | ( | ) | [inline] |
Get the number of digits in the residual
Definition at line 343 of file itkFEMLinearSystemWrapperItpack.h.
int itk::fem::LinearSystemWrapperItpack::GetErrorAnalysisSwitch | ( | ) | [inline] |
Get the flag for level of error reporting - meaningless in this implementation
Definition at line 211 of file itkFEMLinearSystemWrapperItpack.h.
int itk::fem::LinearSystemWrapperItpack::GetErrorReportingLevel | ( | ) | [inline] |
Get a flag indicating the type of error reporting
Definition at line 103 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetEstimatedSpectralRadiusLU | ( | ) | [inline] |
Get the ??
Definition at line 288 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetEstimatedSpectralRadiusSSOR | ( | ) | [inline] |
Get the ??
Definition at line 277 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetLargestJacobiEigenvalueEstimate | ( | ) | [inline] |
Get ??
Definition at line 233 of file itkFEMLinearSystemWrapperItpack.h.
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.
i | row of the element | |
j | column of the element | |
matrixIndex | index of matrix to get value from |
Implements itk::fem::LinearSystemWrapper.
int itk::fem::LinearSystemWrapperItpack::GetMaximumNumberIterations | ( | ) | [inline] |
Get the maximum number iterations that may be performed
Definition at line 96 of file itkFEMLinearSystemWrapperItpack.h.
unsigned int itk::fem::LinearSystemWrapper::GetNumberOfMatrices | ( | ) | [inline, inherited] |
Set the maximum number of entries permitted in a matrix
matrixIndex | index of matrix to set value for | |
maxNonZeros | maximum number of entries allowed in matrix |
Definition at line 112 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_NumberOfMatrices.
unsigned int itk::fem::LinearSystemWrapper::GetNumberOfSolutions | ( | ) | [inline, inherited] |
Get Index of solutions used by system
Definition at line 134 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_NumberOfSolutions.
unsigned int itk::fem::LinearSystemWrapper::GetNumberOfVectors | ( | ) | [inline, inherited] |
Get Index of vectors used by system
Definition at line 123 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_NumberOfVectors.
int itk::fem::LinearSystemWrapperItpack::GetOutputNumber | ( | ) | [inline] |
Get the output number - meaningless in this implementation
Definition at line 121 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetOverrelaxationParameter | ( | ) | [inline] |
Get the over-relaxation parameter ??
Definition at line 266 of file itkFEMLinearSystemWrapperItpack.h.
int itk::fem::LinearSystemWrapperItpack::GetRedBlackOrderingSwitch | ( | ) | [inline] |
Get the flag indicating use of red black ordering
Definition at line 178 of file itkFEMLinearSystemWrapperItpack.h.
int itk::fem::LinearSystemWrapperItpack::GetRemoveSwitch | ( | ) | [inline] |
Get flag indicating ??
Definition at line 189 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetSmallestJacobiEigenvalueEstimate | ( | ) | [inline] |
Get ??
Definition at line 244 of file itkFEMLinearSystemWrapperItpack.h.
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.
i | element index in solution vector | |
solutionIndex | index of solution vector to get value from |
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 132 of file itkFEMLinearSystemWrapperItpack.h.
unsigned int itk::fem::LinearSystemWrapper::GetSystemOrder | ( | ) | const [inline, inherited] |
Get the order of the system
Definition at line 92 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_Order.
double itk::fem::LinearSystemWrapperItpack::GetTimeForCall | ( | ) | [inline] |
Get the time for call
Definition at line 321 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetTimeToConvergence | ( | ) | [inline] |
Get the time to convergence
Definition at line 310 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 200 of file itkFEMLinearSystemWrapperItpack.h.
double itk::fem::LinearSystemWrapperItpack::GetTolerance | ( | ) | [inline] |
Get the tolerance level
Definition at line 299 of file itkFEMLinearSystemWrapperItpack.h.
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.
i | row of the element | |
vectorIndex | index 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
Definition at line 167 of file itkFEMLinearSystemWrapperItpack.h.
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.
matrixIndex | index 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.
solutionIndex | index 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
matrixIndex | index 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
solutionIndex | index 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
vectorIndex | vector 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 348 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::JacobianSemiIterative | ( | ) | [inline] |
Set numerical solving method to jacobian semi iterative
Definition at line 353 of file itkFEMLinearSystemWrapperItpack.h.
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
leftMatrixIndex | index of left matrix | |
rightMatrixIndex | index of right matrix | |
resultMatrixIndex | index 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
matrixIndex | index of matrix to multiply | |
vectorIndex | index of vector to multiply | |
resultVectorIndex | index of vector where result is store |
Reimplemented from itk::fem::LinearSystemWrapper.
virtual void itk::fem::LinearSystemWrapper::OptimizeMatrixStorage | ( | unsigned int | matrixIndex, | |
unsigned int | tempMatrixIndex | |||
) | [virtual, inherited] |
Remove all zeros from a matrix
matrixIndex | index of matrix to remove zeros from | |
tempMatrixIndex | index of matrix to use for temp storage space |
void itk::fem::LinearSystemWrapperItpack::ReducedSystemConjugateGradient | ( | ) | [inline] |
Set numerical solving method to reduced system conjugate gradient
Definition at line 375 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::ReducedSystemSemiIteration | ( | ) | [inline] |
Set numerical solving method to reduced system semi-iteration
Definition at line 379 of file itkFEMLinearSystemWrapperItpack.h.
virtual void itk::fem::LinearSystemWrapper::ReverseCuthillMckeeOrdering | ( | ColumnArray & | newNumbering, | |
unsigned int | matrixIndex = 0 | |||
) | [virtual, inherited] |
Reorder the Degrees of Freedom in order to reduce bandwidth of matrix
matrixIndex | index of matrix to examine | |
newNumbering | vector of new degree of freedom ordering |
void itk::fem::LinearSystemWrapperItpack::ScaleMatrix | ( | Float | scale, | |
unsigned int | matrixIndex | |||
) | [virtual] |
Multiplies all elements of a matrix by a scalar
scale | scalar to multiply all matrix values by | |
matrixIndex | index of matrix to modify |
Reimplemented from itk::fem::LinearSystemWrapper.
void itk::fem::LinearSystemWrapper::ScaleSolution | ( | Float | scale, | |
unsigned int | solutionIndex = 0 | |||
) | [inherited] |
Multiplies all elements of a solution by a scalar
scale | scalar to multiply all solution values by | |
solutionIndex | index of solution to modify |
void itk::fem::LinearSystemWrapper::ScaleVector | ( | Float | scale, | |
unsigned int | vectorIndex = 0 | |||
) | [inherited] |
Multiplies all elements of a vector by a scalar
scale | scalar to multiply all vector values by | |
vectorIndex | index of vector to modify |
void itk::fem::LinearSystemWrapperItpack::SetAccuracy | ( | double | i | ) | [inline] |
Set the level of accuracy for an acceptable solution
i | accuracy desired |
Definition at line 217 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetAdaptiveCaseSwitch | ( | int | i | ) | [inline] |
void itk::fem::LinearSystemWrapperItpack::SetAdaptiveSwitch | ( | int | i | ) | [inline] |
void itk::fem::LinearSystemWrapperItpack::SetCommunicationSwitch | ( | int | i | ) | [inline] |
Set the communication switch - meaningless in this implementation
i | flag value |
Definition at line 109 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetDampingFactor | ( | double | i | ) | [inline] |
Set the damping factor used by ??
i | damping factor |
Definition at line 250 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetDigitsInError | ( | double | i | ) | [inline] |
Set digits in error
i | number of digits in error |
Definition at line 327 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetDigitsInResidual | ( | double | i | ) | [inline] |
Set the number of digits in the residual
i | number of digits in the residual |
Definition at line 338 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetErrorAnalysisSwitch | ( | int | i | ) | [inline] |
Set the flag for level of error reporting - meaningless in this implementation
i | flag for level of error analysis |
Definition at line 206 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetEstimatedSpectralRadiusLU | ( | double | i | ) | [inline] |
void itk::fem::LinearSystemWrapperItpack::SetEstimatedSpectralRadiusSSOR | ( | double | i | ) | [inline] |
void itk::fem::LinearSystemWrapperItpack::SetLargestJacobiEigenvalueEstimate | ( | double | i | ) | [inline] |
Set ??
i | larges jacobian eigenvalue estimate |
Definition at line 228 of file itkFEMLinearSystemWrapperItpack.h.
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.
i | row of the element | |
j | column of the element | |
value | new value of the element | |
matrixIndex | index 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
maxNonZeroValues | maximum number of entries allowed in matrix |
Definition at line 394 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetMaximumNumberIterations | ( | int | i | ) | [inline] |
Set the maximum number of iterations
i | maximum number of iterations that may be performed |
Definition at line 91 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapper::SetNumberOfMatrices | ( | unsigned int | nMatrices | ) | [inline, inherited] |
Set Index of matrices used by the system
nMatrices | Index of matrices used by system |
Definition at line 98 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_NumberOfMatrices.
void itk::fem::LinearSystemWrapper::SetNumberOfSolutions | ( | unsigned int | nSolutions | ) | [inline, inherited] |
Set Index of solutions used by the system
nSolutions | Index of solutions used by system |
Definition at line 129 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_NumberOfSolutions.
void itk::fem::LinearSystemWrapper::SetNumberOfVectors | ( | unsigned int | nVectors | ) | [inline, inherited] |
Set Index of vectors used by the system
nVectors | Index of vectors used by system |
Definition at line 118 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_NumberOfVectors.
void itk::fem::LinearSystemWrapperItpack::SetOverrelaxationParameter | ( | double | i | ) | [inline] |
Set the over-relaxation parameter ??
i | parameter |
Definition at line 261 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetRedBlackOrderingSwitch | ( | int | i | ) | [inline] |
Set flag indicating use of red black ordering
i | 1=red black ordering used, 0=not |
Definition at line 173 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetRemoveSwitch | ( | int | i | ) | [inline] |
Set flag indicating ??
i | ?? |
Definition at line 184 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetSmallestJacobiEigenvalueEstimate | ( | double | i | ) | [inline] |
Set ??
i | smalles jacobian eigenvalue estimate |
Definition at line 239 of file itkFEMLinearSystemWrapperItpack.h.
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.
i | element Index in solution vector | |
value | new value of the element | |
solutionIndex | index 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
i | 1=symmetric, 0=non-symmetric |
Definition at line 127 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapper::SetSystemOrder | ( | unsigned int | N | ) | [inline, inherited] |
Set the order of the system. All matrices will be of size NxN and all vectors will be of size N
N | order of the linear system |
Definition at line 87 of file itkFEMLinearSystemWrapper.h.
References itk::fem::LinearSystemWrapper::m_Order.
void itk::fem::LinearSystemWrapperItpack::SetTimeForCall | ( | double | i | ) | [inline] |
Set the time for call
i | ?? |
Definition at line 316 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetTimeToConvergence | ( | double | i | ) | [inline] |
Set the time to convergence
i | ?? |
Definition at line 305 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetTimingSwitch | ( | int | i | ) | [inline] |
Set the flag indicating use of timer routines - meaningless in this implementation
i | flag |
Definition at line 195 of file itkFEMLinearSystemWrapperItpack.h.
void itk::fem::LinearSystemWrapperItpack::SetTolerance | ( | double | i | ) | [inline] |
Set the tolerance level
i | tolerance |
Definition at line 294 of file itkFEMLinearSystemWrapperItpack.h.
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.
i | row of the element | |
value | new value of the element | |
vectorIndex | index 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
i | size of the workspace vector |
Definition at line 161 of file itkFEMLinearSystemWrapperItpack.h.
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.
Implements itk::fem::LinearSystemWrapper.
void itk::fem::LinearSystemWrapperItpack::SuccessiveOverrelaxation | ( | ) | [inline] |
Set numerical solving method to successive over-relaxation
Definition at line 358 of file itkFEMLinearSystemWrapperItpack.h.
virtual void itk::fem::LinearSystemWrapperItpack::SwapMatrices | ( | unsigned int | matrixIndex1, | |
unsigned int | matrixIndex2 | |||
) | [virtual] |
Swaps access indices of any 2 matrices in the linear system
matrixIndex1 | index of a matrix to swap | |
matrixIndex2 | index 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
solutionIndex1 | index of a solution vector to swap | |
solutionIndex2 | index 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
vectorIndex1 | index of a vector to swap | |
vectorIndex2 | index 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 364 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 370 of file itkFEMLinearSystemWrapperItpack.h.
unsigned int itk::fem::LinearSystemWrapper::m_NumberOfMatrices [protected, inherited] |
Number of matrices used by system
Definition at line 418 of file itkFEMLinearSystemWrapper.h.
Referenced by itk::fem::LinearSystemWrapper::GetNumberOfMatrices(), and itk::fem::LinearSystemWrapper::SetNumberOfMatrices().
unsigned int itk::fem::LinearSystemWrapper::m_NumberOfSolutions [protected, inherited] |
Number of solutions used by system
Definition at line 428 of file itkFEMLinearSystemWrapper.h.
Referenced by itk::fem::LinearSystemWrapper::GetNumberOfSolutions(), and itk::fem::LinearSystemWrapper::SetNumberOfSolutions().
unsigned int itk::fem::LinearSystemWrapper::m_NumberOfVectors [protected, inherited] |
Number of vectors used by system
Definition at line 423 of file itkFEMLinearSystemWrapper.h.
Referenced by itk::fem::LinearSystemWrapper::GetNumberOfVectors(), and itk::fem::LinearSystemWrapper::SetNumberOfVectors().
unsigned int itk::fem::LinearSystemWrapper::m_Order [protected, inherited] |
Order of linear system
Definition at line 413 of file itkFEMLinearSystemWrapper.h.
Referenced by itk::fem::LinearSystemWrapper::GetSystemOrder(), and itk::fem::LinearSystemWrapper::SetSystemOrder().