On Thu, Apr 4, 2019 at 7:36 AM Dave Lee via petsc-users < petsc-users@mcs.anl.gov> wrote:
> Thanks Mark, > > I already have the Navier Stokes solver. My issue is wrapping it in a JFNK > solver to find the periodic solutions. I will keep reading up on SVD > approaches, there may be some capability for something like this in SLEPc. > Dave, why do you have a null space in NS? Thanks, Matt > Cheers, Dave. > > On Thu, Apr 4, 2019 at 10:32 PM Mark Adams <mfad...@lbl.gov> wrote: > >> [keep on list] >> >> On Thu, Apr 4, 2019 at 7:08 AM Dave Lee <davelee2...@gmail.com> wrote: >> >>> Hi Mark, >>> >>> Thanks for responding. My brief scan of the literature suggested that >>> there are some methods out there to approximate the null space using SVD >>> methods, but I wasn't sure how mature these methods were, or if PETSc had >>> some capability in this regard. >>> >> >> SVDs will do it but they are expensive. >> >> >>> >>> My problem is to wrap a Newton solver around an existing incompressible >>> Navier Stokes solver in order to iterate over the NS solution so as to >>> determine periodic structures within a weakly nonlinear flow. >>> >> >> Other team members have more experience with INS. We have a lot of >> capabilities for this. >> >> You could start by looking at: >> >> >> https://www.mcs.anl.gov/petsc/documentation/tutorials/HandsOnExercise.html#example4 >> >> >> >>> I think there is a null space within my problem due to the >>> incompressibility constraint (ie: the linear dependence of one velocity >>> component on the others). I have some other ideas on how this may be >>> removed before assembling the residual, so hopefully I can fix this at the >>> level of the residual vector assembly before the problem manifests at the >>> level of the Krylov vectors. >>> >>> Thanks again for clarifying. >>> >>> Cheers, Dave. >>> >>> On Thu, Apr 4, 2019 at 8:26 PM Mark Adams <mfad...@lbl.gov> wrote: >>> >>>> The Krylov space can not see the null space (by definition) and so >>>> getting a useful near null space from it is not likely. >>>> >>>> Getting a null space is a hard problem and bootstrap AMG methods, for >>>> instance, are developed to try to do that. This is an advanced research >>>> topic. >>>> >>>> You really want to know your null space, what kind of equations do you >>>> have? >>>> >>>> Mark >>>> >>>> On Thu, Apr 4, 2019 at 4:28 AM Dave Lee via petsc-users < >>>> petsc-users@mcs.anl.gov> wrote: >>>> >>>>> Hello PETSc, >>>>> >>>>> I'm attempting to solve a JFNK problem for a system where I only have >>>>> a function to compute the residual, but no matrix. >>>>> >>>>> I wanted to know if there exists functionality in PETSc to do the >>>>> following: >>>>> >>>>> 1) approximate a null space from a set of Krylov vectors >>>>> >>>>> 2) remove such a null space if it exists >>>>> >>>>> I'm vaguely familiar with the MatNullSpaceCreate/Remove() >>>>> functionality, however I don't know the precise form of a null space, so I >>>>> don't have a set of vectors I can assemble and pass to this. >>>>> >>>>> Cheers, Dave. >>>>> >>>> -- 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/>