The initial guess function is called only once in KSPSetUp() (which is automatically called by KSPSolve() if you don’t call it). if (ksp->dmActive) { DMKSP kdm; ierr = DMGetDMKSP(ksp->dm,&kdm);CHKERRQ(ierr); if (kdm->ops->computeinitialguess && ksp->setupstage != KSP_SETUP_NEWRHS) { /* only computes initial guess the first time through */ ierr = (*kdm->ops->computeinitialguess)(ksp,ksp->vec_sol,kdm->initialguessctx);CHKERRQ(ierr); ierr = KSPSetInitialGuessNonzero(ksp,PETSC_TRUE);CHKERRQ(ierr); It is not called inside of computing the right hand side. Barry
On Oct 31, 2014, at 1:29 PM, Alletto, John M <[email protected]> wrote:
All,
Please provide me with a sanity check of where the initial conditions get set in the Laplacian program example 45
Currently I assign the initial voltages to a 3-D array called barray in ComputeRHS, these very between 0 and 100;
I initially believed initialization was occurring in ComputeRHS, but because my final output goes from 0 to 1, I am questioning my understanding of where the initial conditions go.
Can you set me straight?
Thanks John