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
>>
>