SNES Problem

Barry Smith bsmith at mcs.anl.gov
Wed Mar 15 12:41:14 CST 2006



On Wed, 15 Mar 2006, Nils Erik Svangård wrote:

>>> It is one line to add in the SNES implementation because there I set
>>> timestep for each iteration. The RK is used via TS which manage the
>>> timestep, and I am not sure how to manage the timestep myself in when
>>> using TS,
>>
>>    I see. Yes, it is a little harder since you have to edit rk.c
>> but it is still pretty easy.
>>
>
> Ok, I edited my SNES back-euler implementation to use time-accurate
> timestep with the stability criteria of the old code. Petsc bugs out
> again, it does this on the first step, I have never solved even the
> first step. About 163 iterations and the input vector gets strange
> non-physical values.

   It doesn't like the nonlinear system. If you run on one process with
-pc_type lu -snes_monitor what happens? Same problem or does it get
past the first timestep? If it fails what if you use a much smaller time
step, does it convergen then?
>
> I have looked at rk.c, and I'm not sure how to use it.
> Have I understood correctly that I should: get at copy of rk.c put it
> in my working dir, somehow change it so it uses some global variables
> or neigboring cellvalues to compute the timestep with the same
> algorithm used in the old fortran code, then compile rk.c and make
> sure the object file gets linked when compiling my fortran program

   Yes,

>(or
> should I rebuild petsc also?)

    You don't need to rebuild PETSc.
>
> /nisse
>
>


More information about the petsc-users mailing list