On Mon, 13 Dec 2021 at 20:13, Matthew Knepley <[email protected]> wrote:
> On Mon, Dec 13, 2021 at 1:52 PM Dave May <[email protected]> wrote: > >> On Mon, 13 Dec 2021 at 19:29, Matthew Knepley <[email protected]> wrote: >> >>> On Mon, Dec 13, 2021 at 1:16 PM Dave May <[email protected]> >>> wrote: >>> >>>> >>>> >>>> On Sat 11. Dec 2021 at 22:28, Matthew Knepley <[email protected]> >>>> wrote: >>>> >>>>> On Sat, Dec 11, 2021 at 1:58 PM Tang, Qi <[email protected]> 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 < >>>>>> [email protected]> 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/> >
