[petsc-users] TSSetMatrices structure?
Andrew Spott
andrew.spott at gmail.com
Thu Mar 29 21:09:51 CDT 2012
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
>>>
>>
>
More information about the petsc-users
mailing list