[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SNES Problem




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