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

Dave Lee davelee2804 at gmail.com
Thu Apr 4 06:46:28 CDT 2019


Thanks for your help Mark.

Cheers, Dave.

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

>
>
> On Thu, Apr 4, 2019 at 7:35 AM Dave Lee <davelee2804 at gmail.com> 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.
>>
>
> Yes, SLEPc will give you parallel eigen solvers, etc.
>
>
>>
>> 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/7dea7f91/attachment.html>


More information about the petsc-users mailing list