[petsc-users] testing for and removing a null space using JFNK

Dave Lee davelee2804 at gmail.com
Thu Apr 4 06:34:48 CDT 2019


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.

Cheers, Dave.

On Thu, Apr 4, 2019 at 10:32 PM Mark Adams <mfadams at lbl.gov> wrote:

> [keep on list]
>
> On Thu, Apr 4, 2019 at 7:08 AM Dave Lee <davelee2804 at 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 <mfadams at 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 at 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.
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190404/2bad9783/attachment-0001.html>


More information about the petsc-users mailing list