Matt, that kink seems messed up. On Fri, Apr 17, 2020 at 9:18 AM Matthew Knepley <knep...@gmail.com> wrote:
> 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 <mfad...@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 <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 >>> >> > > -- > 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/> >