[petsc-users] Finite difference approximation of Jacobian

Matthew Knepley knepley at gmail.com
Mon Dec 13 13:13:16 CST 2021


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.

  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/3b3e51e2/attachment-0001.html>


More information about the petsc-users mailing list