[petsc-users] SNESVINEWTONRSLS: definition of active set?

Asbjørn Nilsen Riseth riseth at maths.ox.ac.uk
Thu May 28 03:15:43 CDT 2015


Dear PETSc developers,

Is the active set in NewtonRSLS defined differently from the reference* you
give in the documentation on purpose?
The reference defines the active set as:
x_i = 0 and F_i > 0,
whilst the PETSc code defines it as x_i = 0 and F_i >= 0 (vi.c: 356) :

!((PetscRealPart(x[i]) > PetscRealPart(xl[i]) + 1.e-8 ||
(PetscRealPart(f[i]) < 0.0)

So PETSc freezes the variables if f[i] == 0.

I've been using the Newton RSLS method to ensure positivity in a subsurface
flow problem I'm working on. My solution stays almost constant for two
timesteps (seemingly independent of the size of the timestep), before it
goes towards the expected solution.
>From my initial conditions, certain variables are frozen because x_i = 0
and f[i] = 0, and I was wondering if that could be the cause of my issue.


*:
- T. S. Munson, and S. Benson. Flexible Complementarity Solvers for
Large-Scale Applications, Optimization Methods and Software, 21 (2006).


Regards,
Ozzy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150528/75731575/attachment.html>


More information about the petsc-users mailing list