/[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 4285 by jfenwick, Tue Jan 22 09:30:23 2013 UTC revision 4286 by caltinay, Thu Mar 7 04:28:11 2013 UTC
# Line 82  void Paso_UMFPACK(Paso_SparseMatrix* A, Line 82  void Paso_UMFPACK(Paso_SparseMatrix* A,
82      /* call LDU symbolic factorization: */      /* call LDU symbolic factorization: */
83      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);
84      if (error == UMFPACK_ERROR_out_of_memory ) {      if (error == UMFPACK_ERROR_out_of_memory ) {
85          if (verbose) printf("UMFPACK: symbolic factorization failed because of memory overlow.\n");          if (verbose) printf("UMFPACK: symbolic factorization failed because of memory overflow.\n");
86         Esys_setError(MEMORY_ERROR,"UMFPACK: symbolic factorization failed because of memory overlow.");         Esys_setError(MEMORY_ERROR,"UMFPACK: symbolic factorization failed because of memory overflow.");
87         return;         return;
88      } else if (error == UMFPACK_WARNING_singular_matrix ) {      } else if (error == UMFPACK_WARNING_singular_matrix ) {
89         if (verbose) printf("UMFPACK: symbolic factorization failed because of singular matrix.\n");         if (verbose) printf("UMFPACK: symbolic factorization failed because of singular matrix.\n");
# Line 101  void Paso_UMFPACK(Paso_SparseMatrix* A, Line 101  void Paso_UMFPACK(Paso_SparseMatrix* A,
101         /* call LDU factorization: */         /* call LDU factorization: */
102          error= umfpack_di_numeric(A->pattern->ptr,A->pattern->index,A->val,pt->symbolic,&(pt->numeric),control,info);          error= umfpack_di_numeric(A->pattern->ptr,A->pattern->index,A->val,pt->symbolic,&(pt->numeric),control,info);
103          if (error == UMFPACK_ERROR_out_of_memory ) {          if (error == UMFPACK_ERROR_out_of_memory ) {
104          if (verbose) printf("UMFPACK: LDU factorization failed because of memory overlow.\n");          if (verbose) printf("UMFPACK: LDU factorization failed because of memory overflow.\n");
105            Esys_setError(MEMORY_ERROR,"UMFPACK: LDU factorization failed because of memory overlow.");            Esys_setError(MEMORY_ERROR,"UMFPACK: LDU factorization failed because of memory overflow.");
106            return;            return;
107          } else if (error == UMFPACK_WARNING_singular_matrix ) {          } else if (error == UMFPACK_WARNING_singular_matrix ) {
108            if (verbose) printf("UMFPACK: LDU factorization failed because of singular matrix.\n");            if (verbose) printf("UMFPACK: LDU factorization failed because of singular matrix.\n");
# Line 126  void Paso_UMFPACK(Paso_SparseMatrix* A, Line 126  void Paso_UMFPACK(Paso_SparseMatrix* A,
126      time0=Esys_timer();      time0=Esys_timer();
127      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);
128      if (error == UMFPACK_ERROR_out_of_memory ) {      if (error == UMFPACK_ERROR_out_of_memory ) {
129          if (verbose) printf("UMFPACK: forward/backward substitution failed because of memory overlow.\n");          if (verbose) printf("UMFPACK: forward/backward substitution failed because of memory overflow.\n");
130            Esys_setError(MEMORY_ERROR,"UMFPACK: forward/backward substitution failed because of memory overlow.");            Esys_setError(MEMORY_ERROR,"UMFPACK: forward/backward substitution failed because of memory overflow.");
131            return;            return;
132      } else if (error == UMFPACK_WARNING_singular_matrix ) {      } else if (error == UMFPACK_WARNING_singular_matrix ) {
133            if (verbose) printf("UMFPACK: forward/backward substitution because of singular matrix.\n");            if (verbose) printf("UMFPACK: forward/backward substitution because of singular matrix.\n");

Legend:
Removed from v.4285  
changed lines
  Added in v.4286

  ViewVC Help
Powered by ViewVC 1.1.26