/[escript]/trunk/paso/src/UMFPACK.c
ViewVC logotype

Diff of /trunk/paso/src/UMFPACK.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3641 by gross, Wed Jan 5 00:24:46 2011 UTC revision 3642 by caltinay, Thu Oct 27 03:41:51 2011 UTC
# Line 81  void Paso_UMFPACK(Paso_SparseMatrix* A, Line 81  void Paso_UMFPACK(Paso_SparseMatrix* A,
81      /* call LDU symbolic factorization: */      /* call LDU symbolic factorization: */
82      error=umfpack_di_symbolic(n,n,A->pattern->ptr,A->pattern->index,A->val,&(pt->symbolic),control,info);      error=umfpack_di_symbolic(n,n,A->pattern->ptr,A->pattern->index,A->val,&(pt->symbolic),control,info);
83      if (error != UMFPACK_OK) {      if (error != UMFPACK_OK) {
84         if (verbose) printf("UMFPACK: symbolic factorization factorization failed.\n");         if (verbose) printf("UMFPACK: symbolic factorization failed.\n");
85         Esys_setError(VALUE_ERROR,"UMFPACK: symbolic factorization failed.");         Esys_setError(VALUE_ERROR,"UMFPACK: symbolic factorization failed.");
86         return;         return;
87      } else {      } else {
# Line 102  void Paso_UMFPACK(Paso_SparseMatrix* A, Line 102  void Paso_UMFPACK(Paso_SparseMatrix* A,
102      error=umfpack_di_solve(UMFPACK_A,A->pattern->ptr,A->pattern->index,A->val,out,in,pt->numeric,control,info);      error=umfpack_di_solve(UMFPACK_A,A->pattern->ptr,A->pattern->index,A->val,out,in,pt->numeric,control,info);
103      if (error != UMFPACK_OK) {      if (error != UMFPACK_OK) {
104         if (verbose) printf("UMFPACK: forward/backward substitution failed.\n");         if (verbose) printf("UMFPACK: forward/backward substitution failed.\n");
105         Esys_setError(VALUE_ERROR,"forward/backward substition failed. Most likely the matrix is singular.");         Esys_setError(VALUE_ERROR,"forward/backward substitution failed. Most likely the matrix is singular.");
106         return;         return;
107      }      }
108      if (verbose) printf("UMFPACK: forward/backward substitution completed (time = %e).\n",Esys_timer()-time0);      if (verbose) printf("UMFPACK: forward/backward substitution completed (time = %e).\n",Esys_timer()-time0);
109       }       }
110       #else       #else
111       Esys_setError(SYSTEM_ERROR,"Paso_UMFPACK:UMFPACK is not avialble.");       Esys_setError(SYSTEM_ERROR,"Paso_UMFPACK: UMFPACK is not available.");
112       #endif       #endif
113  }  }

Legend:
Removed from v.3641  
changed lines
  Added in v.3642

  ViewVC Help
Powered by ViewVC 1.1.26