Thanks again for the quick reply! Thankfully I don't have a mass matrix, I'm just solving the schrodinger equation.
Thanks again. -Andrew On Mar 29, 2012, at 8:07 PM, Barry Smith wrote: > > On Mar 29, 2012, at 8:58 PM, Andrew Spott wrote: > >> This: >> http://www.mcs.anl.gov/petsc/petsc-3.2/src/ts/examples/tutorials/ex4.c.html >> Looks like what I'm interested in doing, though I would like to use the >> latest. > > With this simple a situation using the current version or switching to dev > is both fine. The changes you would have to make are small > >> When is Petsc 3.3 (or 3.4, I'm not sure how your versioning works) coming >> out? Is the dev version stable enough (in API and in execution) to be used? > > The dev version is always stable enough to use :-). At this point yes > because we are in the testing phase for the next release. > >> >> Until then, does the 3.2 version of the TS interface work? (the link above, >> and the corresponding one for petsc-dev don't appear to have much changed >> between them). > > Yes. > > Barry > > Note that in 3.2 if you have a mass matrix (for example M U_t = A > U_xx)how to formulate the problem is different between 3.2 and dev so I would > recommend working immediately with dev. But for simple U_t = something, 3.2 > is fine and then you can change it slightly for the next release. > >> >> Thanks for the prompt reply, >> >> -Andrew >> >> On Mar 29, 2012, at 7:37 PM, Barry Smith wrote: >> >>> >>> Andrew, >>> >>> These are outdated manual pages; you'll want to avoid this. >>> >>> Jed and Emil have done a major update of the TS interface and solvers, >>> much more powerful and less confusing. >>> >>> Likely you'll want to use TSSetIFunction() and TSSetIJacobian() >>> http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/TS/index.html and >>> work with petsc-dev http://www.mcs.anl.gov/petsc/developers/index.html >>> >>> >>> >>> Barry >>> >>> On Mar 29, 2012, at 8:09 PM, Andrew Spott wrote: >>> >>>> In the Petsc manual, there is a TSSetMatrices function, however there is >>>> no further documentation for it. >>>> >>>> It is referenced in the manual as: >>>> >>>> TSSetMatrices(TS ts, >>>> Mat A,PetscErrorCode (*frhs)(TS,PetscReal,Mat*,Mat*,MatStructure*,void*), >>>> Mat B,PetscErrorCode (*flhs)(TS,PetscReal,Mat*,Mat*,MatStructure*,void*), >>>> MatStructure flag,void *ctx) >>>> >>>> However, what is passed to the function pointers isn't mentioned anywhere, >>>> and it isn't in the online documentation. >>>> >>>> Also, I assume that "MatStructure flag" tells if the structure of A and B >>>> are the same or different, if B is PETSC_NULL, is flag >>>> "SAME_NONZERO_PATERN" or is it different? (B can be considered to not >>>> exist, or to exist as an identity matrix, hence the confusion). >>>> >>>> How does the ctx work? Is the same context passed to frhs each time? >>>> >>>> Thanks for the help. >>>> >>>> -Andrew >>> >> >
