Lines Matching refs:r
59 …ine_factor", "The increase in resolution in each dimension", "PetscConvEst", ce->r, &ce->r, NULL)); in PetscConvEstSetFromOptions()
177 PetscErrorCode PetscConvEstComputeInitialGuess(PetscConvEst ce, PetscInt r, DM dm, Vec u) in PetscConvEstComputeInitialGuess() argument
183 PetscUseTypeMethod(ce, initguess, r, dm, u); in PetscConvEstComputeInitialGuess()
187 PetscErrorCode PetscConvEstComputeError(PetscConvEst ce, PetscInt r, DM dm, Vec u, PetscReal errors… in PetscConvEstComputeError() argument
194 PetscUseTypeMethod(ce, computeerror, r, dm, u, errors); in PetscConvEstComputeError()
214 PetscErrorCode PetscConvEstMonitorDefault(PetscConvEst ce, PetscInt r) in PetscConvEstMonitorDefault() argument
221 PetscInt *dofs = &ce->dofs[r * ce->Nf]; in PetscConvEstMonitorDefault()
222 PetscReal *errors = &ce->errors[r * ce->Nf]; in PetscConvEstMonitorDefault()
257 static PetscErrorCode PetscConvEstInitGuessSNES_Private(PetscConvEst ce, PetscInt r, DM dm, Vec u) in PetscConvEstInitGuessSNES_Private() argument
264 static PetscErrorCode PetscConvEstComputeErrorSNES_Private(PetscConvEst ce, PetscInt r, DM dm, Vec … in PetscConvEstComputeErrorSNES_Private() argument
339 PetscInt Nr = ce->Nr, r, f, dim, oldlevel, oldnlev; in PetscConvEstGetConvRateSNES_Private() local
343 …Check(ce->r == 2.0, PetscObjectComm((PetscObject)ce), PETSC_ERR_SUP, "Only refinement factor 2 is … in PetscConvEstGetConvRateSNES_Private()
351 for (r = 0; r <= Nr; ++r) { in PetscConvEstGetConvRateSNES_Private()
357 …ll(PetscSNPrintf(stageName, PETSC_MAX_PATH_LEN - 1, "ConvEst Refinement Level %" PetscInt_FMT, r)); in PetscConvEstGetConvRateSNES_Private()
361 if (r > 0) { in PetscConvEstGetConvRateSNES_Private()
363 PetscCall(DMRefine(dm[r - 1], MPI_COMM_NULL, &dm[r])); in PetscConvEstGetConvRateSNES_Private()
364 PetscCall(DMSetCoarseDM(dm[r], dm[r - 1])); in PetscConvEstGetConvRateSNES_Private()
368 PetscCall(DMClone(dm[r - 1], &dm[r])); in PetscConvEstGetConvRateSNES_Private()
369 PetscCall(DMCopyDisc(dm[r - 1], dm[r])); in PetscConvEstGetConvRateSNES_Private()
370 PetscCall(DMGetCoordinateDM(dm[r - 1], &cdm)); in PetscConvEstGetConvRateSNES_Private()
371 PetscCall(DMGetCoordinateDM(dm[r], &rcdm)); in PetscConvEstGetConvRateSNES_Private()
374 PetscCall(DMCopyTransform(ce->idm, dm[r])); in PetscConvEstGetConvRateSNES_Private()
375 PetscCall(PetscObjectGetName((PetscObject)dm[r - 1], &dmname)); in PetscConvEstGetConvRateSNES_Private()
376 PetscCall(PetscObjectSetName((PetscObject)dm[r], dmname)); in PetscConvEstGetConvRateSNES_Private()
380 PetscCall(DMGetNullSpaceConstructor(dm[r - 1], f, &nspconstr)); in PetscConvEstGetConvRateSNES_Private()
381 PetscCall(DMSetNullSpaceConstructor(dm[r], f, nspconstr)); in PetscConvEstGetConvRateSNES_Private()
384 PetscCall(DMViewFromOptions(dm[r], NULL, "-conv_dm_view")); in PetscConvEstGetConvRateSNES_Private()
386 PetscCall(DMCreateGlobalVector(dm[r], &u)); in PetscConvEstGetConvRateSNES_Private()
387 PetscCall(DMGetField(dm[r], 0, NULL, &disc)); in PetscConvEstGetConvRateSNES_Private()
392 PetscCall(SNESSetDM(snes, dm[r])); in PetscConvEstGetConvRateSNES_Private()
393 PetscCall(DMPlexSetSNESLocalFEM(dm[r], PETSC_FALSE, ctx)); in PetscConvEstGetConvRateSNES_Private()
394 PetscCall(DMPlexSetSNESVariableBounds(dm[r], snes)); in PetscConvEstGetConvRateSNES_Private()
399 PetscCall(PetscConvEstComputeInitialGuess(ce, r, dm[r], u)); in PetscConvEstGetConvRateSNES_Private()
402 PetscCall(PetscConvEstComputeError(ce, r, dm[r], u, &ce->errors[r * ce->Nf])); in PetscConvEstGetConvRateSNES_Private()
409 PetscCall(DMGetLocalSection(dm[r], &s)); in PetscConvEstGetConvRateSNES_Private()
412 …PetscCallMPI(MPIU_Allreduce(&lsize, &ce->dofs[r * ce->Nf + f], 1, MPIU_INT, MPI_SUM, PetscObjectCo… in PetscConvEstGetConvRateSNES_Private()
413 PetscCall(PetscLogEventSetDof(ce->event, f, ce->dofs[r * ce->Nf + f])); in PetscConvEstGetConvRateSNES_Private()
414 PetscCall(PetscLogEventSetError(ce->event, f, ce->errors[r * ce->Nf + f])); in PetscConvEstGetConvRateSNES_Private()
417 PetscCall(PetscConvEstMonitorDefault(ce, r)); in PetscConvEstGetConvRateSNES_Private()
418 if (!r) { in PetscConvEstGetConvRateSNES_Private()
431 for (r = 1; r <= Nr; ++r) PetscCall(DMDestroy(&dm[r])); in PetscConvEstGetConvRateSNES_Private()
435 for (r = 0; r <= Nr; ++r) { in PetscConvEstGetConvRateSNES_Private()
436 x[r] = PetscLog10Real(ce->dofs[r * ce->Nf + f]); in PetscConvEstGetConvRateSNES_Private()
437 y[r] = PetscLog10Real(ce->errors[r * ce->Nf + f]); in PetscConvEstGetConvRateSNES_Private()
570 (*ce)->r = 2.0; in PetscConvEstCreate()