[petsc-users] -snes_fd for problems with residuals with non-continuous first derivative?

Sanjay Govindjee s_g at berkeley.edu
Wed Jul 5 11:30:21 CDT 2017


Plasticity should not cause any major difficulties with your global 
iterations.   Your residuals look your load steps are elastic all the 
way until it fails.  Are you sure that your applied boundary conditions 
have a unique solutions?  In particular, are you applying forces to a 
perfect plasticity problem that are leading to gross plastic flow?  
Perhaps try applying driving displacement boundary conditions.
-sg

On 7/5/17 9:24 AM, Maximilian Hartig wrote:
> The solver goes on for some timesteps, then it gets hung up in step 
> 10. The output is as follows:
>
>   28 SNES Function norm 7.825649542035e-06
>       0 KSP preconditioned resid norm 5.335581451751e+00 true resid 
> norm 7.825649542035e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 3.875747966342e-13 true resid 
> norm 3.082821236889e-15 ||r(i)||/||b|| 3.939380648635e-10
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    29 SNES Function norm 7.825641650401e-06
>       0 KSP preconditioned resid norm 5.335568660325e+00 true resid 
> norm 7.825641650401e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 1.169064646930e-13 true resid 
> norm 2.949237553452e-15 ||r(i)||/||b|| 3.768684646199e-10
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    30 SNES Function norm 7.825633758775e-06
>       0 KSP preconditioned resid norm 5.335575714181e+00 true resid 
> norm 7.825633758775e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 3.626528075820e-13 true resid 
> norm 7.454935467844e-16 ||r(i)||/||b|| 9.526302530432e-11
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    31 SNES Function norm 7.825625867144e-06
>       0 KSP preconditioned resid norm 5.335574289757e+00 true resid 
> norm 7.825625867144e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 1.220021201426e-13 true resid 
> norm 6.140701297052e-16 ||r(i)||/||b|| 7.846913973787e-11
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    32 SNES Function norm 7.825617975525e-06
>       0 KSP preconditioned resid norm 5.335556211708e+00 true resid 
> norm 7.825617975525e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 3.238615954344e-14 true resid 
> norm 1.639170816829e-15 ||r(i)||/||b|| 2.094621564655e-10
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    33 SNES Function norm 7.825610083913e-06
>       0 KSP preconditioned resid norm 5.335545135100e+00 true resid 
> norm 7.825610083913e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 8.328043430360e-14 true resid 
> norm 7.902728010647e-16 ||r(i)||/||b|| 1.009854557780e-10
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    34 SNES Function norm 7.825609294752e-06
>       0 KSP preconditioned resid norm 5.335519330054e+00 true resid 
> norm 7.825609294752e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 1.176339150741e-13 true resid 
> norm 2.137240765649e-15 ||r(i)||/||b|| 2.731085446703e-10
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    35 SNES Function norm 7.825608505592e-06
>       0 KSP preconditioned resid norm 5.335552250936e+00 true resid 
> norm 7.825608505592e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 2.388837462586e-13 true resid 
> norm 3.899327292367e-16 ||r(i)||/||b|| 4.982778386601e-11
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    36 SNES Function norm 7.825607716432e-06
>       0 KSP preconditioned resid norm 1.017554264638e-01 true resid 
> norm 7.825607716432e-06 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 2.758703070887e-14 true resid 
> norm 1.990491888342e-16 ||r(i)||/||b|| 2.543562059932e-11
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    37 SNES Function norm 3.815837655573e-08
>       0 KSP preconditioned resid norm 7.197730150406e+00 true resid 
> norm 3.815837655573e-08 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 7.114599045039e-12 true resid 
> norm 4.763264085142e-16 ||r(i)||/||b|| 1.248287929175e-08
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    38 SNES Function norm 3.790245121284e-08
>       0 KSP preconditioned resid norm 7.127517791828e+00 true resid 
> norm 3.790245121284e-08 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 2.500976336448e-11 true resid 
> norm 1.692661771456e-15 ||r(i)||/||b|| 4.465837214461e-08
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>    39 SNES Function norm 3.758101652998e-08
>       0 KSP preconditioned resid norm 1.931834799209e-02 true resid 
> norm 3.758101652998e-08 ||r(i)||/||b|| 1.000000000000e+00
>       1 KSP preconditioned resid norm 5.958979968059e-16 true resid 
> norm 2.588244438237e-18 ||r(i)||/||b|| 6.887105983875e-11
>     Linear solve converged due to CONVERGED_RTOL iterations 1
>   Nonlinear solve did not converge due to DIVERGED_FUNCTION_COUNT 
> iterations 39
> [0]PETSC ERROR: --------------------- Error Message 
> --------------------------------------------------------------
> [0]PETSC ERROR:
> [0]PETSC ERROR: TSStep has failed due to DIVERGED_NONLINEAR_SOLVE, 
> increase -ts_max_snes_failures or make negative to attempt recovery
> [0]PETSC ERROR: See 
> http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
> [0]PETSC ERROR: Petsc Development GIT revision: v3.7.5-3342-gb122798  
> GIT Date: 2017-03-22 17:42:51 -0500
> [0]PETSC ERROR: ./miniFEM on a arch-linux2-c-debug named iket127138 by 
> hartig Wed Jul  5 18:09:53 2017
> [0]PETSC ERROR: Configure options PETSC_ARCH=arch-linux2-c-debug 
> --with-cc=mpigcc --with-cxx=mpicxx --with-fc=mpif90 --download-ml 
> --download-parmetis --download-metis --download-hypre --download-mumps 
> --download-scalapack
> [0]PETSC ERROR: #1 TSStep() line 3818 in 
> /home/hartig/petsc/src/ts/interface/ts.c
> [0]PETSC ERROR: #2 TSSolve() line 4054 in 
> /home/hartig/petsc/src/ts/interface/ts.c
> [0]PETSC ERROR: #3 main() line 1829 in 
> /home/hartig/Nextcloud/Dissertation/Code/Debugging/miniFEM.c
> [0]PETSC ERROR: PETSc Option Table entries:
> [0]PETSC ERROR: -def_petscspace_order 2
> [0]PETSC ERROR: -eplast_petscspace_order 2
> [0]PETSC ERROR: -ksp_converged_reason
> [0]PETSC ERROR: -ksp_monitor_true_residual
> [0]PETSC ERROR: -pc_type lu
> [0]PETSC ERROR: -plast
> [0]PETSC ERROR: -snes_converged_reason
> [0]PETSC ERROR: -snes_fd
> [0]PETSC ERROR: -snes_monitor
> [0]PETSC ERROR: -snes_type newtonls
> [0]PETSC ERROR: -ts_monitor
> [0]PETSC ERROR: -vel_petscspace_order 2
> [0]PETSC ERROR: ----------------End of Error Message -------send 
> entire error message to petsc-maint at mcs.anl.gov----------
>
>
> Thanks,
> Max
>
>
> 2017-06-30 17:14 GMT+02:00 Barry Smith <bsmith at mcs.anl.gov 
> <mailto:bsmith at mcs.anl.gov>>:
>
>
>        What is the output from
>
>         -snes_monitor -ksp_monitor_true_residual -pc_type lu
>     -ksp_converged_reason -snes_converged_reason
>
>
>     > On Jun 30, 2017, at 3:45 AM, Maximilian Hartig
>     <imilian.hartig at gmail.com <mailto:imilian.hartig at gmail.com>> wrote:
>     >
>     > Hello,
>     >
>     > I’m trying to implement plasticity and have problems getting the
>     Petsc SNES to converge. To check if my residual formulation is
>     correct I tried running with -snes_fd for an easy example as the
>     Petsc FAQ suggest. I cannot seem to get the solver to converge at
>     any cost.
>     > I already tried to impose bounds on the solution and moved to
>     vinewtonrsls as a nonlinear solver. I checked and rechecked my
>     residuals but I do not find an error there. I now have the
>     suspicion that the -snes_fd option is not made for handling
>     residuals who’s first derivatives are not continuous (e.g. have an
>     “if” condition in them for the plasticity/ flow-condition). Can
>     you confirm my suspicion? And is there another way to test my
>     residual formulation separate from my hand-coded jacobian?
>     >
>     >
>     > Thanks,
>     > Max
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170705/b8ba7fab/attachment-0001.html>


More information about the petsc-users mailing list