Lines Matching refs:npc

529   if (snes->npc && snes->usesnpc) {
531 PetscCall(SNESView(snes->npc, viewer));
625 if (snes->npcside == PC_LEFT && snes->npc) {
1178 if (pcset && (!snes->npc)) PetscCall(SNESGetNPC(snes, &snes->npc));
1179 if (snes->npc) PetscCall(SNESSetFromOptions(snes->npc));
2991 if (snes->npc && snes->npcside == PC_LEFT) {
3383 if (snes->npc && snes->npcside == PC_LEFT) {
3388 if (snes->npc) {
3391 PetscCall(SNESSetDM(snes->npc, dm));
3395 PetscCall(SNESSetFunction(snes->npc, fpc, func, funcctx));
3397 PetscCall(SNESSetJacobian(snes->npc, j, jpre, jac, jacctx));
3399 PetscCall(SNESSetApplicationContext(snes->npc, appctx));
3400 PetscCall(SNESSetUseMatrixFree(snes->npc, mf_operator, mf));
3404 PetscCall(PetscObjectCopyFortranFunctionPointers((PetscObject)snes, (PetscObject)snes->npc));
3407 PetscCall(SNESSetTolerances(snes->npc, 0.0, 0.0, 0.0, 1, snes->npc->max_funcs));
3409 PetscCall(SNESSetNormSchedule(snes->npc, SNES_NORM_FINAL_ONLY));
3411 PetscCall(SNESSetNormSchedule(snes->npc, SNES_NORM_NONE));
3413 PetscCall(SNESSetFromOptions(snes->npc));
3416 if (snes->linesearch && snes->npc->linesearch) {
3418 PetscCall(SNESGetLineSearch(snes->npc, &pclinesearch));
3436 if (snes->npc && snes->npcside == PC_LEFT) {
3476 if (snes->npc) PetscCall(SNESReset(snes->npc));
3553 PetscCall(SNESDestroy(&(*snes)->npc));
5745 if (snes->npc) {
5746 PetscCall(SNESSetDM(snes->npc, snes->dm));
5786 - npc - the `SNES` nonlinear preconditioner object
5800 PetscErrorCode SNESSetNPC(SNES snes, SNES npc)
5804 PetscValidHeaderSpecific(npc, SNES_CLASSID, 2);
5805 PetscCheckSameComm(snes, 1, npc, 2);
5806 PetscCall(PetscObjectReference((PetscObject)npc));
5807 PetscCall(SNESDestroy(&snes->npc));
5808 snes->npc = npc;
5846 if (!snes->npc) {
5849 PetscCall(SNESCreate(PetscObjectComm((PetscObject)snes), &snes->npc));
5850 PetscCall(PetscObjectIncrementTabLevel((PetscObject)snes->npc, (PetscObject)snes, 1));
5852 PetscCall(SNESSetOptionsPrefix(snes->npc, optionsprefix));
5853 PetscCall(SNESAppendOptionsPrefix(snes->npc, "npc_"));
5858 PetscCall(SNESSetApplicationContext(snes->npc, ctx));
5860 PetscCall(SNESSetCountersReset(snes->npc, PETSC_FALSE));
5862 *pc = snes->npc;
5886 *has_npc = snes->npc ? PETSC_TRUE : PETSC_FALSE;