<div dir="ltr"><div class="gmail_extra">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?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">- Peter<br><br><div class="gmail_quote">On Sat, Jan 18, 2014 at 6:09 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
  Peter,<br>
<br>
   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?<br>
<br>
   Thanks<br>
<br>
   Barry<br>
<br>
<br>
On Jan 18, 2014, at 5:59 PM, Dharmendar Reddy <<a href="mailto:dharmareddy84@gmail.com">dharmareddy84@gmail.com</a>> wrote:<br>
<br>
> On Sat, Jan 18, 2014 at 3:54 PM, Karl Rupp <<a href="mailto:rupp@mcs.anl.gov">rupp@mcs.anl.gov</a>> wrote:<br>
>> Hi,<br>
>><br>
>><br>
>><br>
>>>                  I am solving a set of equations with SNES<br>
>>><br>
>>> F1 (x1,x2,x3) = 0<br>
>>> F2 (x1,x2,x3) = 0<br>
>>> F3 (x1,x2,x3) = 0<br>
>>><br>
>>> The system of equations is shown on page 1 of pdf here<br>
>>> <a href="http://dunham.ee.washington.edu/ee531/notes/SemiRev.pdf" target="_blank">http://dunham.ee.washington.edu/ee531/notes/SemiRev.pdf</a><br>
>>><br>
>>> F1 = equation 1<br>
>>> F2 = equation 2<br>
>>> F3 = equation 5<br>
>>><br>
>>> x1 = n, X2=p and X3 = psi,<br>
>>> X1 and X2 have an exponential dependance on X1<br>
>>> after i scale the variables, X3 typically varies between say +/- 100<br>
>>> where as X1 and X2 vary between 0 to 2. norm(X) then may usually<br>
>>> dominated by solution values of X3.<br>
>><br>
>><br>
>> If you are solving the drift-diffusion system for semiconductors, which<br>
>> discretization do you use? How did you stabilize the strong advection?<br>
>><br>
>><br>
><br>
> My plan is to use the discretization method described here.<br>
> (<a href="http://www.iue.tuwien.ac.at/phd/triebl/node30.html" target="_blank">http://www.iue.tuwien.ac.at/phd/triebl/node30.html</a> ).<br>
><br>
> The method typically used for for stabilizing the advection term is<br>
> called Scharfetter-Gummel method described the above link.<br>
><br>
> When i intially started the code design, i wanted to implement the<br>
> approach mentioned  in this paper (<a href="http://dx.doi.org/10.2172/1020517" target="_blank">dx.doi.org/10.2172/1020517</a>) . I am<br>
> still learning about this things so..i am not sure which is the right<br>
> way to go.<br>
><br>
> For stabilizing, i implemented the bank n rose algorithm via<br>
> SNESPostCheck, i am yet to test the efficacy of this method over the<br>
> defualt snes methods.<br>
> (<a href="http://www.iue.tuwien.ac.at/phd/ceric/node17.html" target="_blank">http://www.iue.tuwien.ac.at/phd/ceric/node17.html</a>)<br>
><br>
><br>
><br>
>><br>
>>> Can you suggest me the snes options that i need to use to achieve the<br>
>>> following:<br>
>>><br>
>>> 1. X1 > 0 and X2 > 0  (as per previous emails, i can use<br>
>>> SNESSetVariableBounds)<br>
>><br>
>><br>
>> Have you considered a transformation to quasi-fermi potentials, i.e.<br>
>> n ~ exp(phi_n), p ~ exp(phi_p)<br>
>> or Slotboom variables? This way you could get rid of the constraint<br>
>> entirely. Even if you solve for (n,p,psi), my experience is that positivity<br>
>> is preserved automatically when using a good discretization and step size<br>
>> control.<br>
>><br>
>><br>
>><br>
>>> 2. I want the updates to solution to have an adaptive stepping based<br>
>>> on norm of (F) or norm(X). If norm(F) is decreasing as the iteration<br>
>>> progresss, larger stepping others wise reduce the step size..<br>
>>> Similarly for Norm of X.<br>
>><br>
>><br>
>> A good damping for the drift-diffusion system is tricky. I know a couple of<br>
>> empirical expressions, but would be interested to know whether this can be<br>
>> handled in a more black-box manner as well.<br>
>><br>
>> Best regards,<br>
>> Karli<br>
>><br>
<br>
</blockquote></div><br></div></div>