Lines Matching refs:jac

49   SNES_Composite     *jac  = (SNES_Composite *)snes->data;  in SNESCompositeApply_Multiplicative()  local
50 SNES_CompositeLink next = jac->head; in SNESCompositeApply_Multiplicative()
60 jac->innerFailures++; in SNESCompositeApply_Multiplicative()
61 if (jac->innerFailures >= snes->maxFailures) { in SNESCompositeApply_Multiplicative()
79 jac->innerFailures++; in SNESCompositeApply_Multiplicative()
80 if (jac->innerFailures >= snes->maxFailures) { in SNESCompositeApply_Multiplicative()
113 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESCompositeApply_Additive() local
114 SNES_CompositeLink next = jac->head; in SNESCompositeApply_Additive()
120 if (!jac->Xorig) PetscCall(VecDuplicate(X, &jac->Xorig)); in SNESCompositeApply_Additive()
121 Xorig = jac->Xorig; in SNESCompositeApply_Additive()
131 next = jac->head; in SNESCompositeApply_Additive()
136 jac->innerFailures++; in SNESCompositeApply_Additive()
137 if (jac->innerFailures >= snes->maxFailures) { in SNESCompositeApply_Additive()
150 jac->innerFailures++; in SNESCompositeApply_Additive()
151 if (jac->innerFailures >= snes->maxFailures) { in SNESCompositeApply_Additive()
186 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESCompositeApply_AdditiveOptimal() local
187 SNES_CompositeLink next = jac->head; in SNESCompositeApply_AdditiveOptimal()
188 Vec *Xes = jac->Xes, *Fes = jac->Fes; in SNESCompositeApply_AdditiveOptimal()
199 next = jac->head; in SNESCompositeApply_AdditiveOptimal()
207 next = jac->head; in SNESCompositeApply_AdditiveOptimal()
213 jac->innerFailures++; in SNESCompositeApply_AdditiveOptimal()
214 if (jac->innerFailures >= snes->maxFailures) { in SNESCompositeApply_AdditiveOptimal()
226 jac->innerFailures++; in SNESCompositeApply_AdditiveOptimal()
227 if (jac->innerFailures >= snes->maxFailures) { in SNESCompositeApply_AdditiveOptimal()
235 for (i = 0; i < jac->n; i++) { in SNESCompositeApply_AdditiveOptimal()
236 for (j = 0; j < i + 1; j++) PetscCall(VecDotBegin(Fes[i], Fes[j], &jac->h[i + j * jac->n])); in SNESCompositeApply_AdditiveOptimal()
237 PetscCall(VecDotBegin(Fes[i], F, &jac->g[i])); in SNESCompositeApply_AdditiveOptimal()
240 for (i = 0; i < jac->n; i++) { in SNESCompositeApply_AdditiveOptimal()
242 PetscCall(VecDotEnd(Fes[i], Fes[j], &jac->h[i + j * jac->n])); in SNESCompositeApply_AdditiveOptimal()
243 if (i == j) jac->fnorms[i] = PetscSqrtReal(PetscRealPart(jac->h[i + j * jac->n])); in SNESCompositeApply_AdditiveOptimal()
245 PetscCall(VecDotEnd(Fes[i], F, &jac->g[i])); in SNESCompositeApply_AdditiveOptimal()
250 for (i = 0; i < jac->n; i++) { in SNESCompositeApply_AdditiveOptimal()
251 for (j = i + 1; j < jac->n; j++) jac->h[i + j * jac->n] = jac->h[j + i * jac->n]; in SNESCompositeApply_AdditiveOptimal()
254 for (i = 0; i < jac->n; i++) { in SNESCompositeApply_AdditiveOptimal()
255 …for (j = 0; j < jac->n; j++) jac->h[i + j * jac->n] = jac->h[i + j * jac->n] - jac->g[j] - jac->g[… in SNESCompositeApply_AdditiveOptimal()
256 jac->beta[i] = ftf - jac->g[i]; in SNESCompositeApply_AdditiveOptimal()
259 jac->info = 0; in SNESCompositeApply_AdditiveOptimal()
260 jac->rcond = -1.; in SNESCompositeApply_AdditiveOptimal()
263 …ss_(&jac->n, &jac->n, &jac->nrhs, jac->h, &jac->lda, jac->beta, &jac->lda, jac->s, &jac->rcond, &j… in SNESCompositeApply_AdditiveOptimal()
265 …ACKgelss_(&jac->n, &jac->n, &jac->nrhs, jac->h, &jac->lda, jac->beta, &jac->lda, jac->s, &jac->rco… in SNESCompositeApply_AdditiveOptimal()
268 …PetscCheck(jac->info >= 0, PetscObjectComm((PetscObject)snes), PETSC_ERR_LIB, "Bad argument to GEL… in SNESCompositeApply_AdditiveOptimal()
269 …PetscCheck(jac->info <= 0, PetscObjectComm((PetscObject)snes), PETSC_ERR_LIB, "SVD failed to conve… in SNESCompositeApply_AdditiveOptimal()
272 for (i = 0; i < jac->n; i++) { in SNESCompositeApply_AdditiveOptimal()
273 …PetscCheck(!snes->errorifnotconverged || !PetscIsInfOrNanScalar(jac->beta[i]), PetscObjectComm((Pe… in SNESCompositeApply_AdditiveOptimal()
274 PetscCall(PetscInfo(snes, "%" PetscInt_FMT ": %g\n", i, (double)PetscRealPart(jac->beta[i]))); in SNESCompositeApply_AdditiveOptimal()
275 tot += jac->beta[i]; in SNESCompositeApply_AdditiveOptimal()
276 total += PetscAbsScalar(jac->beta[i]); in SNESCompositeApply_AdditiveOptimal()
279 PetscCall(VecMAXPY(X, jac->n, jac->beta, Xes)); in SNESCompositeApply_AdditiveOptimal()
290 min_fnorm = jac->fnorms[0]; in SNESCompositeApply_AdditiveOptimal()
292 for (i = 0; i < jac->n; i++) { in SNESCompositeApply_AdditiveOptimal()
293 if (jac->fnorms[i] < min_fnorm) { in SNESCompositeApply_AdditiveOptimal()
294 min_fnorm = jac->fnorms[i]; in SNESCompositeApply_AdditiveOptimal()
300 if (PetscRealPart(total) < jac->stol || min_fnorm * jac->rtol < *fnorm) { in SNESCompositeApply_AdditiveOptimal()
301 PetscCall(VecCopy(jac->Xes[min_i], X)); in SNESCompositeApply_AdditiveOptimal()
302 PetscCall(VecCopy(jac->Fes[min_i], F)); in SNESCompositeApply_AdditiveOptimal()
311 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESSetUp_Composite() local
312 SNES_CompositeLink next = jac->head; in SNESSetUp_Composite()
341 jac->nsnes = n; in SNESSetUp_Composite()
343 if (jac->type == SNES_COMPOSITE_ADDITIVEOPTIMAL) { in SNESSetUp_Composite()
344 PetscCall(VecDuplicateVecs(F, jac->nsnes, &jac->Xes)); in SNESSetUp_Composite()
345 PetscCall(PetscMalloc1(n, &jac->Fes)); in SNESSetUp_Composite()
346 PetscCall(PetscMalloc1(n, &jac->fnorms)); in SNESSetUp_Composite()
347 next = jac->head; in SNESSetUp_Composite()
351 jac->Fes[i] = F; in SNESSetUp_Composite()
357 jac->nrhs = 1; in SNESSetUp_Composite()
358 PetscCall(PetscBLASIntCast(jac->nsnes, &jac->lda)); in SNESSetUp_Composite()
359 PetscCall(PetscBLASIntCast(jac->nsnes, &jac->ldb)); in SNESSetUp_Composite()
360 PetscCall(PetscBLASIntCast(jac->nsnes, &jac->n)); in SNESSetUp_Composite()
362 …PetscCall(PetscMalloc4(jac->n * jac->n, &jac->h, jac->n, &jac->beta, jac->n, &jac->s, jac->n, &jac in SNESSetUp_Composite()
363 jac->lwork = 12 * jac->n; in SNESSetUp_Composite()
365 PetscCall(PetscMalloc1(jac->lwork, &jac->rwork)); in SNESSetUp_Composite()
367 PetscCall(PetscMalloc1(jac->lwork, &jac->work)); in SNESSetUp_Composite()
374 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESReset_Composite() local
375 SNES_CompositeLink next = jac->head; in SNESReset_Composite()
382 PetscCall(VecDestroy(&jac->Xorig)); in SNESReset_Composite()
383 if (jac->Xes) PetscCall(VecDestroyVecs(jac->nsnes, &jac->Xes)); in SNESReset_Composite()
384 if (jac->Fes) PetscCall(VecDestroyVecs(jac->nsnes, &jac->Fes)); in SNESReset_Composite()
385 PetscCall(PetscFree(jac->fnorms)); in SNESReset_Composite()
386 PetscCall(PetscFree4(jac->h, jac->beta, jac->s, jac->g)); in SNESReset_Composite()
387 PetscCall(PetscFree(jac->work)); in SNESReset_Composite()
388 PetscCall(PetscFree(jac->rwork)); in SNESReset_Composite()
394 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESDestroy_Composite() local
395 SNES_CompositeLink next = jac->head, next_tmp; in SNESDestroy_Composite()
415 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESSetFromOptions_Composite() local
424 …tion", "SNESCompositeSetType", SNESCompositeTypes, (PetscEnum)jac->type, (PetscEnum *)&jac->type, … in SNESSetFromOptions_Composite()
425 if (flg) PetscCall(SNESCompositeSetType(snes, jac->type)); in SNESSetFromOptions_Composite()
437 … "Step tolerance for restart on the additive composite solvers", "", jac->stol, &jac->stol, NULL)); in SNESSetFromOptions_Composite()
438 …_rtol", "Residual tolerance for the additive composite solvers", "", jac->rtol, &jac->rtol, NULL)); in SNESSetFromOptions_Composite()
441 next = jac->head; in SNESSetFromOptions_Composite()
451 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESView_Composite() local
452 SNES_CompositeLink next = jac->head; in SNESView_Composite()
458 PetscCall(PetscViewerASCIIPrintf(viewer, " type - %s\n", SNESCompositeTypes[jac->type])); in SNESView_Composite()
476 SNES_Composite *jac = (SNES_Composite *)snes->data; in SNESCompositeSetType_Composite() local
479 jac->type = type; in SNESCompositeSetType_Composite()
485 SNES_Composite *jac; in SNESCompositeAddSNES_Composite() local
501 jac = (SNES_Composite *)snes->data; in SNESCompositeAddSNES_Composite()
502 next = jac->head; in SNESCompositeAddSNES_Composite()
504 jac->head = ilink; in SNESCompositeAddSNES_Composite()
523 jac->nsnes++; in SNESCompositeAddSNES_Composite()
529 SNES_Composite *jac; in SNESCompositeGetSNES_Composite() local
534 jac = (SNES_Composite *)snes->data; in SNESCompositeGetSNES_Composite()
535 next = jac->head; in SNESCompositeGetSNES_Composite()
633 SNES_Composite *jac; in SNESCompositeGetNumber() local
637 jac = (SNES_Composite *)snes->data; in SNESCompositeGetNumber()
638 next = jac->head; in SNESCompositeGetNumber()
650 SNES_Composite *jac; in SNESCompositeSetDamping_Composite() local
655 jac = (SNES_Composite *)snes->data; in SNESCompositeSetDamping_Composite()
656 next = jac->head; in SNESCompositeSetDamping_Composite()
812 SNES_Composite *jac; in SNESCreate_Composite() local
815 PetscCall(PetscNew(&jac)); in SNESCreate_Composite()
830 snes->data = (void *)jac; in SNESCreate_Composite()
831 jac->type = SNES_COMPOSITE_ADDITIVEOPTIMAL; in SNESCreate_Composite()
832 jac->Fes = NULL; in SNESCreate_Composite()
833 jac->Xes = NULL; in SNESCreate_Composite()
834 jac->fnorms = NULL; in SNESCreate_Composite()
835 jac->nsnes = 0; in SNESCreate_Composite()
836 jac->head = NULL; in SNESCreate_Composite()
837 jac->stol = 0.1; in SNESCreate_Composite()
838 jac->rtol = 1.1; in SNESCreate_Composite()
840 jac->h = NULL; in SNESCreate_Composite()
841 jac->s = NULL; in SNESCreate_Composite()
842 jac->beta = NULL; in SNESCreate_Composite()
843 jac->work = NULL; in SNESCreate_Composite()
844 jac->rwork = NULL; in SNESCreate_Composite()