[petsc-users] Modification to ex11.c
Matthew Knepley
knepley at gmail.com
Fri Apr 17 08:18:15 CDT 2020
Mark is right, you could just add in a source term for each cell this way.
If you really wanted a lower level interface, it would go here I think:
https://gitlab.com/petsc/petsc/-/blob/master/src/snes/utils/dmplexsnes.c#L1528
What would you want the interface to look like?
Thanks,
Matt
On Fri, Apr 17, 2020 at 7:55 AM Mark Adams <mfadams at lbl.gov> wrote:
> You can write your own DMPlexTSComputeRHSFunctionFVM method like this and
> give that to the dm.
>
> PetscErrorCode foo(DM dm, PetscReal time, Vec locX, Vec F, void *user)
> {
> PetscErrorCode ierr;
> PetscFunctionBegin;
> ierr = DMPlexTSComputeRHSFunctionFVM(dm, time, locX, F, user);CHKERRQ(ierr);
> ...
>
> PetscFunctionReturn(0);
> }
>
>
> On Fri, Apr 17, 2020 at 5:28 AM MUKKUND SUNJII <mukkundsunjii at gmail.com>
> wrote:
>
>> Greetings,
>>
>> I had been working on ts/tutorials/ex11.c as part of my master’s thesis.
>>
>> In ex11.c, there is a 2D Shallow Water Model. I want to modify the model
>> by adding a source term to the model. This source term would factor in the
>> effects of bathymetry or bed elevation in addition to water height.
>>
>> I know how I will be able to achieve this if just use TSSetRHSFunction().
>> However ex11.c makes use of the Riemann Solver for the computation fluxes
>> at the interfaces (therefore, it uses DMTSSetRHSFunctionLocal(dm,
>> DMPlexTSComputeRHSFunctionFVM, user) ).
>>
>> Is there a routine that allows me to *add* a source term *for every cell*
>> to the RHS function?
>>
>> Thank you in advance!
>>
>> Regards,
>>
>> Mukkund
>>
>
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200417/8a52e037/attachment.html>
More information about the petsc-users
mailing list