What is your error message?  If the error is raised in PETSc, there is
usually a setting to make it return without raising an error (instead
setting a "diverged" reason).

"Salazar De Troya, Miguel" <salazardet...@llnl.gov> writes:

> Hello
>
>
> I have an optimization problem for which at a certain iteration, PETSc fails 
> to build the preconditioner. I would like to catch that error and print my 
> EquationSystem to disk so I can rerun the PETSc solve at that optimization 
> iteration from the start. I cannot just rerun my optimization and write to 
> disk at the iteration I know it is going to fail. The reason is that in 
> parallel the optimization slightly differs every time I run it so the 
> iteration it is going to fail at keeps changing. Maybe something along this 
> lines:
>
>
> try{
>
>     system.solve()
>
> }
>
> catch(...){
>
>    EquationSystem & es = system.get_equation_systems();
>
>    es.write("eq_output.xdr")
>
> }
>
>
> Thanks
>
> Miguel
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Libmesh-users mailing list
> Libmesh-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libmesh-users

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to