64 m_NZ = maxNonZeroValues;
82 if ( (
m_N <= 0) || (
m_NZ <= 0) )
85 throw FEMException(__FILE__, __LINE__,
"ItpackSparseMatrix::Initialize");
111 for (i=0; i<
m_NZ; i++)
117 for (i=0; i<=
m_N; i++)
130 for (i=0; i<
m_N; i++)
180 throw FEMException(__FILE__, __LINE__,
"ItpackSparseMatrix::Finalize");
205 throw FEMException(__FILE__, __LINE__,
"ItpackSparseMatrix::UnFinalize");
232 if ( (
m_N <= 0) || (
m_NZ <= 0) )
234 throw FEMException(__FILE__, __LINE__,
"ItpackSparseMatrix::Set");
254 sbsij_(&
m_N, &
m_NZ,
m_IA,
m_JA,
m_A,
m_IWORK, &fortranI, &fortranJ, &value, &
m_MODE, &
m_LEVEL, &
m_NOUT, &IER);
280 if ( (
m_N <= 0) || (
m_NZ <= 0) )
282 throw FEMException(__FILE__, __LINE__,
"ItpackSparseMatrix::Add");
301 sbsij_(&
m_N, &
m_NZ,
m_IA,
m_JA,
m_A,
m_IWORK, &fortranI, &fortranJ, &value, &
m_MODE, &
m_LEVEL, &
m_NOUT, &IER);
334 for (
int k=lower; k<upper; k++)
336 if (
m_JA[k] == fortranJ)
338 returnValue =
m_A[k];
392 for (i=0; i<
m_N; i++)
398 for (i=0; i<
m_N; i++)
404 for (j=lower; j<upper; j++)
406 result[i] +=
m_A[j] * vector[
m_JA[j] - 1 ];
439 for (i=0; i<
m_N; i++)
441 for (j=0; j<
m_N; j++)
450 for (k=lower; k<upper; k++)
452 summed +=
m_A[k] * rightMatrix->
Get(
m_JA[k]-1, j );
458 resultMatrix->
Set(i,j,summed);
489 std::string solverError;
491 if (errorCode == 703)
493 solverError =
"maximumNumberOfNonZeroValuesInMatrix is too small";
497 solverError =
"Unknown error code returned";
501 buf <<
"Error: " << solverError;
511 std::string solverError;
516 solverError =
"Improper index of matrix";
519 solverError =
"maximumNumberOfNonZeroValuesInMatrix is too small";
522 solverError =
"Unknown error code returned";
526 buf <<
"Error: " << solverError;