/[escript]/trunk/paso/src/Solvers/Solver_ILU.c
ViewVC logotype

Diff of /trunk/paso/src/Solvers/Solver_ILU.c

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

revision 415 by gross, Wed Jan 4 05:37:33 2006 UTC revision 430 by gross, Wed Jan 11 06:40:50 2006 UTC
# Line 128  Paso_Solver_ILU* Paso_Solver_getILU(Paso Line 128  Paso_Solver_ILU* Paso_Solver_getILU(Paso
128                                          sizeof(index_t),                                          sizeof(index_t),
129                                          Paso_comparIndex);                                          Paso_comparIndex);
130                  if (where_p==NULL) {                  if (where_p==NULL) {
131                      Paso_setError(VALUE_ERROR, "__FILE__: main diagonal element missing.");                      Paso_setError(VALUE_ERROR, "Paso_Solver_getILU: main diagonal element missing.");
132                  } else {                  } else {
133                      iPtr+=(index_t)(where_p-index);                      iPtr+=(index_t)(where_p-index);
134                      /* get inverse of A_FF block: */                      /* get inverse of A_FF block: */
# Line 136  Paso_Solver_ILU* Paso_Solver_getILU(Paso Line 136  Paso_Solver_ILU* Paso_Solver_getILU(Paso
136                         if (ABS(A_p->val[iPtr])>0.) {                         if (ABS(A_p->val[iPtr])>0.) {
137                              out->inv_A_FF[i]=1./A_p->val[iPtr];                              out->inv_A_FF[i]=1./A_p->val[iPtr];
138                         } else {                         } else {
139                              Paso_setError(ZERO_DIVISION_ERROR, "__FILE__: Break-down in ILU decomposition: non-regular main diagonal block.");                              Paso_setError(ZERO_DIVISION_ERROR, "Paso_Solver_getILU: Break-down in ILU decomposition: non-regular main diagonal block.");
140                         }                         }
141                      } else if (n_block==2) {                      } else if (n_block==2) {
142                         A11=A_p->val[iPtr*4];                         A11=A_p->val[iPtr*4];
# Line 151  Paso_Solver_ILU* Paso_Solver_getILU(Paso Line 151  Paso_Solver_ILU* Paso_Solver_getILU(Paso
151                              out->inv_A_FF[i*4+2]=-A12*D;                              out->inv_A_FF[i*4+2]=-A12*D;
152                              out->inv_A_FF[i*4+3]= A11*D;                              out->inv_A_FF[i*4+3]= A11*D;
153                         } else {                         } else {
154                              Paso_setError(ZERO_DIVISION_ERROR, "__FILE__:Break-down in ILU decomposition: non-regular main diagonal block.");                              Paso_setError(ZERO_DIVISION_ERROR, "Paso_Solver_getILU:Break-down in ILU decomposition: non-regular main diagonal block.");
155                         }                         }
156                      } else if (n_block==3) {                      } else if (n_block==3) {
157                         A11=A_p->val[iPtr*9  ];                         A11=A_p->val[iPtr*9  ];
# Line 176  Paso_Solver_ILU* Paso_Solver_getILU(Paso Line 176  Paso_Solver_ILU* Paso_Solver_getILU(Paso
176                              out->inv_A_FF[i*9+7]=(A13*A21-A11*A23)*D;                              out->inv_A_FF[i*9+7]=(A13*A21-A11*A23)*D;
177                              out->inv_A_FF[i*9+8]=(A11*A22-A12*A21)*D;                              out->inv_A_FF[i*9+8]=(A11*A22-A12*A21)*D;
178                         } else {                         } else {
179                              Paso_setError(ZERO_DIVISION_ERROR, "__FILE__:Break-down in ILU decomposition: non-regular main diagonal block.");                              Paso_setError(ZERO_DIVISION_ERROR, "Paso_Solver_getILU:Break-down in ILU decomposition: non-regular main diagonal block.");
180                         }                         }
181                     }                     }
182                  }                  }

Legend:
Removed from v.415  
changed lines
  Added in v.430

  ViewVC Help
Powered by ViewVC 1.1.26