Lines Matching refs:lusol

166   Mat_LUSOL *lusol = (Mat_LUSOL *)A->spptr;  in MatDestroy_LUSOL()  local
169 if (lusol && lusol->CleanUpLUSOL) { in MatDestroy_LUSOL()
170 PetscCall(PetscFree(lusol->ip)); in MatDestroy_LUSOL()
171 PetscCall(PetscFree(lusol->iq)); in MatDestroy_LUSOL()
172 PetscCall(PetscFree(lusol->lenc)); in MatDestroy_LUSOL()
173 PetscCall(PetscFree(lusol->lenr)); in MatDestroy_LUSOL()
174 PetscCall(PetscFree(lusol->locc)); in MatDestroy_LUSOL()
175 PetscCall(PetscFree(lusol->locr)); in MatDestroy_LUSOL()
176 PetscCall(PetscFree(lusol->iploc)); in MatDestroy_LUSOL()
177 PetscCall(PetscFree(lusol->iqloc)); in MatDestroy_LUSOL()
178 PetscCall(PetscFree(lusol->ipinv)); in MatDestroy_LUSOL()
179 PetscCall(PetscFree(lusol->iqinv)); in MatDestroy_LUSOL()
180 PetscCall(PetscFree(lusol->mnsw)); in MatDestroy_LUSOL()
181 PetscCall(PetscFree(lusol->mnsv)); in MatDestroy_LUSOL()
182 PetscCall(PetscFree3(lusol->data, lusol->indc, lusol->indr)); in MatDestroy_LUSOL()
191 Mat_LUSOL *lusol = (Mat_LUSOL *)A->spptr; in MatSolve_LUSOL() local
201 m = n = lusol->n; in MatSolve_LUSOL()
202 nnz = lusol->nnz; in MatSolve_LUSOL()
204 for (i = 0; i < m; i++) lusol->mnsv[i] = bb[i]; in MatSolve_LUSOL()
206lusol->mnsv, xx, &nnz, lusol->luparm, lusol->parmlu, lusol->data, lusol->indc, lusol->indr, lusol-… in MatSolve_LUSOL()
218 Mat_LUSOL *lusol = (Mat_LUSOL *)F->spptr; in MatLUFactorNumeric_LUSOL() local
227 …PetscCheck(m == lusol->n, PETSC_COMM_SELF, PETSC_ERR_ARG_SIZ, "factorization struct inconsistent"); in MatLUFactorNumeric_LUSOL()
236 nnz = PetscMax(lusol->nnz, (int)(lusol->elbowroom * nz)); in MatLUFactorNumeric_LUSOL()
239 if (nnz < lusol->luparm[12]) { in MatLUFactorNumeric_LUSOL()
240 nnz = (int)(lusol->luroom * lusol->luparm[12]); in MatLUFactorNumeric_LUSOL()
241 } else if ((factorizations > 0) && (lusol->luroom < 6)) { in MatLUFactorNumeric_LUSOL()
242 lusol->luroom += 0.1; in MatLUFactorNumeric_LUSOL()
245 nnz = PetscMax(nnz, (int)(lusol->luroom * (lusol->luparm[22] + lusol->luparm[23]))); in MatLUFactorNumeric_LUSOL()
247 if (nnz > lusol->nnz) { in MatLUFactorNumeric_LUSOL()
248 PetscCall(PetscFree3(lusol->data, lusol->indc, lusol->indr)); in MatLUFactorNumeric_LUSOL()
249 PetscCall(PetscMalloc3(nnz, &lusol->data, nnz, &lusol->indc, nnz, &lusol->indr)); in MatLUFactorNumeric_LUSOL()
250 lusol->nnz = nnz; in MatLUFactorNumeric_LUSOL()
261 lusol->indc[nz] = i + 1; in MatLUFactorNumeric_LUSOL()
262 lusol->indr[nz] = a->j[rs] + 1; in MatLUFactorNumeric_LUSOL()
263 lusol->data[nz] = a->a[rs]; in MatLUFactorNumeric_LUSOL()
271lusol->luparm, lusol->parmlu, lusol->data, lusol->indc, lusol->indr, lusol->ip, lusol->iq, lusol->… in MatLUFactorNumeric_LUSOL()
311 Mat_LUSOL *lusol; in MatLUFactorSymbolic_LUSOL() local
321 lusol = (Mat_LUSOL *)F->spptr; in MatLUFactorSymbolic_LUSOL()
325 lusol->luparm[i] = 0; in MatLUFactorSymbolic_LUSOL()
326 lusol->parmlu[i] = 0; in MatLUFactorSymbolic_LUSOL()
329 lusol->luparm[1] = -1; in MatLUFactorSymbolic_LUSOL()
330 lusol->luparm[2] = 5; in MatLUFactorSymbolic_LUSOL()
331 lusol->luparm[7] = 1; in MatLUFactorSymbolic_LUSOL()
333 lusol->parmlu[0] = 1 / Factorization_Tolerance; in MatLUFactorSymbolic_LUSOL()
334 lusol->parmlu[1] = 1 / Factorization_Tolerance; in MatLUFactorSymbolic_LUSOL()
335 lusol->parmlu[2] = Factorization_Small_Tolerance; in MatLUFactorSymbolic_LUSOL()
336 lusol->parmlu[3] = Factorization_Pivot_Tolerance; in MatLUFactorSymbolic_LUSOL()
337 lusol->parmlu[4] = Factorization_Pivot_Tolerance; in MatLUFactorSymbolic_LUSOL()
338 lusol->parmlu[5] = 3.0; in MatLUFactorSymbolic_LUSOL()
339 lusol->parmlu[6] = 0.3; in MatLUFactorSymbolic_LUSOL()
340 lusol->parmlu[7] = 0.6; in MatLUFactorSymbolic_LUSOL()
343 lusol->elbowroom = PetscMax(lusol->elbowroom, info->fill); in MatLUFactorSymbolic_LUSOL()
344 nnz = PetscMax((int)(lusol->elbowroom * nz), 5 * n); in MatLUFactorSymbolic_LUSOL()
346 lusol->n = n; in MatLUFactorSymbolic_LUSOL()
347 lusol->nz = nz; in MatLUFactorSymbolic_LUSOL()
348 lusol->nnz = nnz; in MatLUFactorSymbolic_LUSOL()
349 lusol->luroom = 1.75; in MatLUFactorSymbolic_LUSOL()
351 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->ip)); in MatLUFactorSymbolic_LUSOL()
352 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->iq)); in MatLUFactorSymbolic_LUSOL()
353 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->lenc)); in MatLUFactorSymbolic_LUSOL()
354 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->lenr)); in MatLUFactorSymbolic_LUSOL()
355 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->locc)); in MatLUFactorSymbolic_LUSOL()
356 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->locr)); in MatLUFactorSymbolic_LUSOL()
357 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->iploc)); in MatLUFactorSymbolic_LUSOL()
358 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->iqloc)); in MatLUFactorSymbolic_LUSOL()
359 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->ipinv)); in MatLUFactorSymbolic_LUSOL()
360 PetscCall(PetscMalloc(sizeof(int) * n, &lusol->iqinv)); in MatLUFactorSymbolic_LUSOL()
361 PetscCall(PetscMalloc(sizeof(double) * n, &lusol->mnsw)); in MatLUFactorSymbolic_LUSOL()
362 PetscCall(PetscMalloc(sizeof(double) * n, &lusol->mnsv)); in MatLUFactorSymbolic_LUSOL()
363 PetscCall(PetscMalloc3(nnz, &lusol->data, nnz, &lusol->indc, nnz, &lusol->indr)); in MatLUFactorSymbolic_LUSOL()
365 lusol->CleanUpLUSOL = PETSC_TRUE; in MatLUFactorSymbolic_LUSOL()
380 Mat_LUSOL *lusol; in MatGetFactor_seqaij_lusol() local
390 PetscCall(PetscNew(&lusol)); in MatGetFactor_seqaij_lusol()
391 B->spptr = lusol; in MatGetFactor_seqaij_lusol()