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 <mukkundsun...@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
>

Reply via email to