[petsc-users] Modification to ex11.c

Matthew Knepley knepley at gmail.com
Fri Apr 17 09:41:04 CDT 2020


Tried it again and works for me.

   Matt

On Fri, Apr 17, 2020 at 10:39 AM Mark Adams <mfadams at lbl.gov> wrote:

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

-- 
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/b66272ef/attachment.html>


More information about the petsc-users mailing list