"Jin, Shuangshuang" <[email protected]> writes: > I don’t know. TSARKIMEX doesn’t work for me either. > > “TSStep has failed due to DIVERGED_NONLINEAR_SOLVE, increase > -ts_max_snes_failures or make negative to attempt recovery!”
It uses adaptive time stepping and the large time step cases might not converge, and thus have to shorten the step. Try using -ts_max_snes_failures 20 -ts_adapt_monitor to see what's going on. You could start with -ts_arkimex_type 1bee (backward Euler with extrapolation-based error estimator) before trying the higher order schemes. > Am I use it wrong? > > I simply replaced: > > “ ierr = TSCreate(PETSC_COMM_WORLD, &ts); CHKERRQ(ierr); > ierr = TSSetType(ts, TSTHETA); CHKERRQ(ierr); > ierr = TSThetaSetTheta(ts, 0.5); CHKERRQ(ierr);” > by: > TSCreate(PETSC_COMM_WORLD,&ts); > //TSSetType(ts,TSROSW); > TSSetType(ts,TSARKIMEX); Suggest just calling TSSetFromOptions and then pass -ts_type arkimex at run-time.
pgpbK5p1IzN3S.pgp
Description: PGP signature
