[petsc-dev] Question about the pseudo-time stepping
Jed Brown
jed at jedbrown.org
Tue Sep 9 09:42:18 CDT 2014
Lulu Liu <lulu.liu at kaust.edu.sa> writes:
> Hi,
>
> I want to solve a stead-state problem G(u)=0 using the pseudo-transient
> continuation method.
>
> I saw the example petsc/src/ts/examples/tutorials/ex1,
>
> ierr = TSSetRHSJacobian(ts,J,J,*FormJacobian*,&user);CHKERRQ(ierr);
>
> however, the analytical Jacobian in my problem is very complex and it is
> not easy to give the function "*FormJacobian*". If I run the code like
>
> ./ex1 -ts_monitor_pseudo -snes_mf
>
> Is it correct? Does it involves the time derivative term when using
> -snes_mf?
Let's be empirical about this for a moment:
$ diff -y <(./ex1 -ts_monitor_pseudo -pc_type none) <(./ex1 -ts_monitor_pseudo -snes_mf)
TS 0 dt 0.125 time 0 fnorm 0.207564 TS 0 dt 0.125 time 0 fnorm 0.207564
TS 1 dt 0.1375 time 0.1375 fnorm 0.184737 TS 1 dt 0.1375 time 0.1375 fnorm 0.184737
TS 2 dt 0.169939 time 0.307439 fnorm 0.160614 TS 2 dt 0.169939 time 0.307439 fnorm 0.160614
TS 3 dt 0.215009 time 0.522448 fnorm 0.135363 TS 3 dt 0.215009 time 0.522448 fnorm 0.135363
TS 4 dt 0.280628 time 0.803075 fnorm 0.109292 TS 4 dt 0.280628 time 0.803075 fnorm 0.109292
TS 5 dt 0.382327 time 1.1854 fnorm 0.0829356 TS 5 dt 0.382327 time 1.1854 fnorm 0.0829356
TS 6 dt 0.554213 time 1.73961 fnorm 0.0572092 TS 6 dt 0.554213 time 1.73961 fnorm 0.0572092
TS 7 dt 0.883779 time 2.62339 fnorm 0.0336678 | TS 7 dt 0.88378 time 2.62339 fnorm 0.0336678
TS 8 dt 1.65192 time 4.27531 fnorm 0.0147997 TS 8 dt 1.65192 time 4.27531 fnorm 0.0147997
TS 9 dt 4.13372 time 8.40904 fnorm 0.00359027 | TS 9 dt 4.13372 time 8.40903 fnorm 0.00359028
TS 10 dt 18.7439 time 27.153 fnorm 0.000240073 TS 10 dt 18.7439 time 27.153 fnorm 0.000240073
TS 11 dt 308.346 time 335.499 fnorm 1.04779e-06 | TS 11 dt 308.346 time 335.499 fnorm 1.0478e-06
TS 12 dt 77713.9 time 78049.4 fnorm 1.82818e-11 | TS 12 dt 77713.4 time 78048.9 fnorm 1.82938e-11
TS 13 dt 4.89944e+09 time 4.89952e+09 fnorm 0 | TS 13 dt 4.89623e+09 time 4.89631e+09 fnorm 0
TS 14 dt 5.38939e+21 time 5.38939e+21 fnorm 0 | TS 14 dt 5.38586e+21 time 5.38586e+21 fnorm 0
Number of pseudo timesteps = 14 final time 5.39e+21 Number of pseudo timesteps = 14 final time 5.39e+21
This certainly has the appearance of being identical up to rounding
error. And indeed it is, since we are finite-differencing the
IFunction.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140909/7331daac/attachment.sig>
More information about the petsc-dev
mailing list