[petsc-users] non linear solver options

Dharmendar Reddy dharmareddy84 at gmail.com
Sat Jan 18 14:52:47 CST 2014

                 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

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.

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)
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.

Can i get the work done with existing petsc routines/ options ?

Do i need to impliment the update method via SNESPOSTCheck  ?


More information about the petsc-users mailing list