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 >