Just to be clear, you seem to be suggesting adding an interface for this and/or code to clone?
On Fri, Apr 17, 2020 at 11:08 AM Matthew Knepley <knep...@gmail.com> wrote: > On Fri, Apr 17, 2020 at 10:58 AM Mark Adams <mfad...@lbl.gov> wrote: > >> Line 1528 of dmplexsnes.c ? >> > > Yes. This is where we add in u_t, so it would make sense to also add in > the source term here. If it were a function of t, s(t), you would > just add vol*s(t). > > Thanks, > > Matt > > >> On Fri, Apr 17, 2020 at 10:41 AM Matthew Knepley <knep...@gmail.com> >> wrote: >> >>> Tried it again and works for me. >>> >>> Matt >>> >>> On Fri, Apr 17, 2020 at 10:39 AM Mark Adams <mfad...@lbl.gov> wrote: >>> >>>> 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/> >>>>> >>>> >>> >>> -- >>> 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/> >>> >> > > -- > 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/> >