63 mat =
dynamic_cast< CompCol *
>(& A);
65 OOFEM_ERROR(
"CompCol matrix needed for Pardiso solver");
84 for (
int i = 0; i < n + 1; i++ ) {
88 for (
int i = 0; i < nnz; i++ ) {
109 int maxfct, mnum, phase, error, msglvl;
120 OOFEM_WARNING(
"Error during pardiso init, error code: %d", error);
130 iparm [ 12 - 1 ] = 2;
131 iparm [ 35 - 1 ] = 1;
146 pardiso( pt, & maxfct, & mnum, & mtype, & phase, & neqs,
147 a, (
int * ) ia, (
int * ) ja,
151 OOFEM_WARNING(
"Error during symbolic factorization: %d", error);
154 OOFEM_LOG_DEBUG(
"Reordering completed: %d nonzero factors, %d factorization MFLOPS\n", iparm [ 17 - 1 ], iparm [ 18 - 1 ]);
161 pardiso( pt, & maxfct, & mnum, & mtype, & phase, & neqs,
162 a, (
int * ) ia, (
int * ) ja,
166 OOFEM_WARNING(
"ERROR during numerical factorization: %d", error);
176 pardiso( pt, & maxfct, & mnum, & mtype, & phase, & neqs,
177 a, (
int * ) ia, (
int * ) ja,
180 printf(
"iparm(20) = %d\n", iparm [ 20 ]);
182 OOFEM_WARNING(
"ERROR during solution: %d, iparm(20) = %d", error, iparm [ 20 - 1 ]);
192 for (
int i = 0; i < n + 1; i++ ) {
195 for (
int i = 0; i < nnz; i++ ) {
207 pardiso( pt, & maxfct, & mnum, & mtype, & phase,
208 & neqs, & ddum, & idum, & idum, & idum, & nrhs,
void pardisoinit(void *, int *, int *, int *, double *, int *)
void pardiso(void *, int *, int *, int *, int *, int *, double *, int *, int *, int *, int *, int *, int *, double *, double *, int *, double *)