[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