Sorry for these questions, I’m trying to help the said user transitioning from IPOPT over to Tao, and since I’m no expert I run into a bunch of errors myself. For example, if I run PDIPM without equality constraint, I now get: [0]PETSC ERROR: VecSet() line 522 in src/vec/vec/interface/rvector.c Null Object: Parameter # 1 Indeed, I can see that lambdae is conditionally created line 815, but always used in VecSet() line 522. I think the method is general enough to handle cases without such constraints, and should not thus fail here, right? You should be able to reproduce this by commenting all DE/De/EqualityConstraints/JacobianEquality code from ex1.c.
Thanks, Pierre > On 5 Aug 2020, at 5:27 AM, Abhyankar, Shrirang G > <shrirang.abhyan...@pnnl.gov> wrote: > > Pierre, > Thanks for catching this issue. As Alp pointed out, the issue was because > the tolerance was not set correctly. > > @Alp: Let me know if I can help you with the patch. > > Thanks, > Shri > > > From: petsc-dev <petsc-dev-boun...@mcs.anl.gov> on behalf of Pierre Jolivet > <pierre.joli...@enseeiht.fr> > Date: Tuesday, August 4, 2020 at 1:46 PM > To: "Dener, Alp" <ade...@anl.gov> > Cc: PETSc Development <petsc-dev@mcs.anl.gov> > Subject: Re: [petsc-dev] TAOPDIPM > > Thanks to you both, I’ll forward this to my user. > Pierre > >> On 4 Aug 2020, at 7:30 PM, Dener, Alp <ade...@anl.gov >> <mailto:ade...@anl.gov>> wrote: >> >> Hi Pierre, >> >> This is indeed an issue with TAO default tolerances. >> >> Specifically it has to do with constraint tolerances. The default value is >> an exact zero. >> >> The problem should still work with line 89 commented out. Our default >> gradient tolerance is 1e-8. In your case, commenting out line 90 is causing >> the solver to try to converge constraints to exact zero and it cannot. >> >> I will get a patch out for this within the week but in the meantime please >> ensure that the constraint tolerances are set for any constrained problem. >> >> Thank you! >> — >> Alp >> >>> On Aug 4, 2020, at 12:24 PM, Munson, Todd via petsc-dev >>> <petsc-dev@mcs.anl.gov <mailto:petsc-dev@mcs.anl.gov>> wrote: >>> >>> >>> Hi Pierre, >>> >>> I would say the answer to that question is "no, its not expected". >>> >>> We will look into fixing it. It seems like the default tolerances are >>> being set to zero and the result is an inability to satisfy the constraints >>> or gradient of the Lagrangian to that small of a tolerance. >>> >>> Thanks for point this out to us! We will get it resolved. >>> >>> Thanks, Todd. >>> >>> On 8/4/20, 12:12 PM, "petsc-dev on behalf of Pierre Jolivet" >>> <petsc-dev-boun...@mcs.anl.gov <mailto:petsc-dev-boun...@mcs.anl.gov> on >>> behalf of pierre.joli...@enseeiht.fr <mailto:pierre.joli...@enseeiht.fr>> >>> wrote: >>> >>> Hello, >>> If I comment line 89 and 90 of src/tao/constrained/tutorials/ex1.c from >>> master, the example deadlocks with a single process. >>> Is this expected? >>> >>> Thanks, >>> Pierre >>> >>> $ ./ex1 -tao_monitor >>> ---- Constrained Problem ----- >>> Solution should be f(1,1)=-2 >>> 0 TAO, Function value: 8., Residual: 8.48528 >>> 1 TAO, Function value: 1.28532, Residual: 10.7411 >>> 2 TAO, Function value: -2.56703, Residual: 1.87847 >>> 3 TAO, Function value: -2.03161, Residual: 0.12881 >>> 4 TAO, Function value: -1.99961, Residual: 0.0450855 >>> 5 TAO, Function value: -1.99993, Residual: 0.000916939 >>> 6 TAO, Function value: -1.99999, Residual: 6.69184e-05 >>> 7 TAO, Function value: -2., Residual: 7.15427e-06 >>> 8 TAO, Function value: -2., Residual: 7.15779e-07 >>> 9 TAO, Function value: -2., Residual: 7.15777e-08 >>> 10 TAO, Function value: -2., Residual: 7.15777e-09 >>> 11 TAO, Function value: -2., Residual: 7.15779e-10 >>> 12 TAO, Function value: -2., Residual: 7.15775e-11 >>> 13 TAO, Function value: -2., Residual: 7.1599e-12 >>> 14 TAO, Function value: -2., Residual: 7.1599e-13 >>> 15 TAO, Function value: -2., Residual: 7.22085e-14 >>> 16 TAO, Function value: -2., Residual: 6.44626e-15 >>> 17 TAO, Function value: -2., Residual: 1.00751e-15 >>> 18 TAO, Function value: -2., Residual: 1.70295e-17 >>> 19 TAO, Function value: -2., Residual: 1.70295e-18 >>> 20 TAO, Function value: -2., Residual: 1.70295e-19 >>> 21 TAO, Function value: -2., Residual: 1.70295e-20 >>> 22 TAO, Function value: -2., Residual: 1.70295e-21 >>> 23 TAO, Function value: -2., Residual: 1.70295e-22 >>> 24 TAO, Function value: -2., Residual: 1.70295e-23 >>> 25 TAO, Function value: -2., Residual: 1.70295e-24 >>> 26 TAO, Function value: -2., Residual: 1.70295e-25 >>> 27 TAO, Function value: -2., Residual: 1.70295e-26 >>> 28 TAO, Function value: -2., Residual: 1.70295e-27 >>> 29 TAO, Function value: -2., Residual: 1.70295e-28 >>> 30 TAO, Function value: -2., Residual: 1.70295e-29 >>> 31 TAO, Function value: -2., Residual: 1.70295e-30 >>> 32 TAO, Function value: -2., Residual: 1.70295e-31 >>> 33 TAO, Function value: -2., Residual: 1.70295e-32 >>> 34 TAO, Function value: -2., Residual: 1.70295e-33 >>> 35 TAO, Function value: -2., Residual: 1.70295e-34 >>> 36 TAO, Function value: -2., Residual: 1.70295e-35 >>> 37 TAO, Function value: -2., Residual: 1.70295e-36 >>> 38 TAO, Function value: -2., Residual: 1.70295e-37 >>> 39 TAO, Function value: -2., Residual: 1.70295e-38 >>> 40 TAO, Function value: -2., Residual: 1.70295e-39 >>> 41 TAO, Function value: -2., Residual: 1.70295e-40 >>> 42 TAO, Function value: -2., Residual: 1.70295e-41 >>> 43 TAO, Function value: -2., Residual: 1.70295e-42 >>> 44 TAO, Function value: -2., Residual: 1.70295e-43 >>> 45 TAO, Function value: -2., Residual: 1.70295e-44 >>> 46 TAO, Function value: -2., Residual: 1.70295e-45 >>> 47 TAO, Function value: -2., Residual: 1.70295e-46 >>> 48 TAO, Function value: -2., Residual: 1.70295e-47 >>> 49 TAO, Function value: -2., Residual: 1.70295e-48 >>> 50 TAO, Function value: -2., Residual: 1.70295e-49 >>> 51 TAO, Function value: -2., Residual: 1.70295e-50 >>> 52 TAO, Function value: -2., Residual: 1.70295e-51 >>> ^C