Oh, you just want an initial guess for SNES? Does it work to pull out the SNES and SNESSetComputeInitialGuess?
Fande Kong <[email protected]> writes: > No. I am working on a transient loosely coupled multiphysics simulation. > Assume there are two physics problems: problem A and problem B. During each > time step, there is a Picard iteration between problem A and problem B. > During each Picard step, you solve problem A (or B) with the solution > (U_{n-1}) of the previous time step as the initial condition. In the Picard > solve stage, I know the solution (\bar{U}_{n}) of the current time step but > from the previous Picard iteration. Use \bar{U}_{n}) instead of U_{n-1} as > the initial guess for SNES will have a better convergence for me. > > Thanks, > > Fande, > > > On Fri, Apr 3, 2020 at 1:10 PM Jed Brown <[email protected]> wrote: > >> This sounds like you're talking about a starting procedure for a DAE (or >> near-singular ODE)? >> >> Fande Kong <[email protected]> writes: >> >> > Hi All, >> > >> > TSSetSolution will set an initial condition for the current TSSolve(). >> What >> > should I do if I want to set an initial guess for the current solution >> that >> > is different from the initial condition? The initial guess is supposed >> to >> > be really close to the current solution, and then will accelerate my >> solver. >> > >> > In other words, TSSetSolution will set "U_{n-1}", and now we call TSSolve >> > to figure out "U_{n}". If I know something about "U_{n}", and I want to >> set >> > "\bar{U}_{n}" as the initial guess of "U_{n}" when computing "U_{n}". >> > >> > >> > Thanks, >> > >> > Fande, >>
