Thanks Jed, I will try and let you know,
Thanks again! Fande, On Fri, Apr 3, 2020 at 4:29 PM Jed Brown <j...@jedbrown.org> wrote: > Oh, you just want an initial guess for SNES? Does it work to pull out the > SNES and SNESSetComputeInitialGuess? > > Fande Kong <fdkong...@gmail.com> 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 <j...@jedbrown.org> wrote: > > > >> This sounds like you're talking about a starting procedure for a DAE (or > >> near-singular ODE)? > >> > >> Fande Kong <fdkong...@gmail.com> 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, > >> >