[petsc-users] Finite difference approximation of Jacobian

Dave May dave.mayhem23 at gmail.com
Mon Dec 13 13:17:32 CST 2021


On Mon, 13 Dec 2021 at 20:13, Matthew Knepley <knepley at gmail.com> wrote:

> On Mon, Dec 13, 2021 at 1:52 PM Dave May <dave.mayhem23 at gmail.com> wrote:
>
>> On Mon, 13 Dec 2021 at 19:29, Matthew Knepley <knepley at gmail.com> wrote:
>>
>>> On Mon, Dec 13, 2021 at 1:16 PM Dave May <dave.mayhem23 at gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Sat 11. Dec 2021 at 22:28, Matthew Knepley <knepley at gmail.com>
>>>> wrote:
>>>>
>>>>> On Sat, Dec 11, 2021 at 1:58 PM Tang, Qi <tangqi at msu.edu> wrote:
>>>>>
>>>>>> Hi,
>>>>>> Does anyone have comment on finite difference coloring with DMStag?
>>>>>> We are using DMStag and TS to evolve some nonlinear equations implicitly.
>>>>>> It would be helpful to have the coloring Jacobian option with that.
>>>>>>
>>>>>
>>>>> Since DMStag produces the Jacobian connectivity,
>>>>>
>>>>
>>>> This is incorrect.
>>>> The DMCreateMatrix implementation for DMSTAG only sets the number of
>>>> nonzeros (very inaccurately). It does not insert any zero values and thus
>>>> the nonzero structure is actually not defined.
>>>> That is why coloring doesn’t work.
>>>>
>>>
>>> Ah, thanks Dave.
>>>
>>> Okay, we should fix that.It is perfectly possible to compute the nonzero
>>> pattern from the DMStag information.
>>>
>>
>> Agreed. The API for DMSTAG is complete enough to enable one to
>> loop over the cells, and for all quantities defined on the cell (centre,
>> face, vertex),
>> insert values into the appropriate slot in the matrix.
>> Combined with MATPREALLOCATOR, I believe a compact and readable
>> code should be possible to write for the preallocation (cf DMDA).
>>
>> I think the only caveat with the approach of using all quantities defined
>> on the cell is
>> It may slightly over allocate depending on how the user wishes to impose
>> the boundary condition,
>> or slightly over allocate for says Stokes where there is no
>> pressure-pressure coupling term.
>>
>
> Yes, and would not handle higher order stencils.I think the
> overallocating is livable for the first imeplementation.
>
>
Sure, but neither does DMDA.

The user always has to know what they are doing and set the stencil width
accordingly.
I actually had this point listed in my initial email (and the stencil
growth issue when using FD for nonlinear problems),
however I deleted it as all the same issue exist in DMDA and no one
complains (at least not loudly) :D





>   Thanks,
>
>      Matt
>
>
>> Thanks,
>> Dave
>>
>>
>>> Paging Patrick :)
>>>
>>>   Thanks,
>>>
>>>     Matt
>>>
>>>
>>>> Thanks,
>>>> Dave
>>>>
>>>>
>>>> you can use -snes_fd_color_use_mat. It has many options. Here is an
>>>>> example of us using that:
>>>>>
>>>>>
>>>>> https://gitlab.com/petsc/petsc/-/blob/main/src/snes/tutorials/ex19.c#L898
>>>>>
>>>>>   Thanks,
>>>>>
>>>>>      Matt
>>>>>
>>>>>
>>>>>> Thanks,
>>>>>> Qi
>>>>>>
>>>>>>
>>>>>> On Oct 15, 2021, at 3:07 PM, Jorti, Zakariae via petsc-users <
>>>>>> petsc-users at mcs.anl.gov> wrote:
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Does the Jacobian approximation using coloring and finite
>>>>>> differencing of the function evaluation work in DMStag?
>>>>>> Thank you.
>>>>>> Best regards,
>>>>>>
>>>>>> Zakariae
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> 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/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211213/002f2e40/attachment.html>


More information about the petsc-users mailing list