[petsc-dev] nonlinear solvers

Peter Brune prbrune at gmail.com
Sat Jan 18 18:54:51 CST 2014


>From my initial reading of the paper, it's about a backtracking linesearch
where you have a persistent-between-iterations parameter that increases or
decreases, taking your damping less than or towards one based upon the
difference between subsequent residual norms.   I have no idea how it fits
in as a post-check rather than as a line search, as it would be redundant.
 It's not clear that this would be better than anything we have now.  Are
you sure that this is the right paper?

- Peter

On Sat, Jan 18, 2014 at 6:09 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>   Peter,
>
>    What the hay is this R. E. Bank and D. J. Rose, ``Global Approximate
> Newton Methods,'' Numer. Math., vol. 37, pp. 279-295, 1981. and should it
> be a “line search” or something in SNES?
>
>    Thanks
>
>    Barry
>
>
> On Jan 18, 2014, at 5:59 PM, Dharmendar Reddy <dharmareddy84 at gmail.com>
> wrote:
>
> > On Sat, Jan 18, 2014 at 3:54 PM, Karl Rupp <rupp at mcs.anl.gov> wrote:
> >> Hi,
> >>
> >>
> >>
> >>>                  I am solving a set of equations with SNES
> >>>
> >>> F1 (x1,x2,x3) = 0
> >>> F2 (x1,x2,x3) = 0
> >>> F3 (x1,x2,x3) = 0
> >>>
> >>> The system of equations is shown on page 1 of pdf here
> >>> http://dunham.ee.washington.edu/ee531/notes/SemiRev.pdf
> >>>
> >>> F1 = equation 1
> >>> F2 = equation 2
> >>> F3 = equation 5
> >>>
> >>> x1 = n, X2=p and X3 = psi,
> >>> X1 and X2 have an exponential dependance on X1
> >>> after i scale the variables, X3 typically varies between say +/- 100
> >>> where as X1 and X2 vary between 0 to 2. norm(X) then may usually
> >>> dominated by solution values of X3.
> >>
> >>
> >> If you are solving the drift-diffusion system for semiconductors, which
> >> discretization do you use? How did you stabilize the strong advection?
> >>
> >>
> >
> > My plan is to use the discretization method described here.
> > (http://www.iue.tuwien.ac.at/phd/triebl/node30.html ).
> >
> > The method typically used for for stabilizing the advection term is
> > called Scharfetter-Gummel method described the above link.
> >
> > When i intially started the code design, i wanted to implement the
> > approach mentioned  in this paper (dx.doi.org/10.2172/1020517) . I am
> > still learning about this things so..i am not sure which is the right
> > way to go.
> >
> > For stabilizing, i implemented the bank n rose algorithm via
> > SNESPostCheck, i am yet to test the efficacy of this method over the
> > defualt snes methods.
> > (http://www.iue.tuwien.ac.at/phd/ceric/node17.html)
> >
> >
> >
> >>
> >>> Can you suggest me the snes options that i need to use to achieve the
> >>> following:
> >>>
> >>> 1. X1 > 0 and X2 > 0  (as per previous emails, i can use
> >>> SNESSetVariableBounds)
> >>
> >>
> >> Have you considered a transformation to quasi-fermi potentials, i.e.
> >> n ~ exp(phi_n), p ~ exp(phi_p)
> >> or Slotboom variables? This way you could get rid of the constraint
> >> entirely. Even if you solve for (n,p,psi), my experience is that
> positivity
> >> is preserved automatically when using a good discretization and step
> size
> >> control.
> >>
> >>
> >>
> >>> 2. I want the updates to solution to have an adaptive stepping based
> >>> on norm of (F) or norm(X). If norm(F) is decreasing as the iteration
> >>> progresss, larger stepping others wise reduce the step size..
> >>> Similarly for Norm of X.
> >>
> >>
> >> A good damping for the drift-diffusion system is tricky. I know a
> couple of
> >> empirical expressions, but would be interested to know whether this can
> be
> >> handled in a more black-box manner as well.
> >>
> >> Best regards,
> >> Karli
> >>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140118/7268a1f9/attachment.html>


More information about the petsc-dev mailing list