<div dir="ltr">Thanks for your help Mark.<div><br></div><div>Cheers, Dave.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 4, 2019 at 10:45 PM Mark Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 4, 2019 at 7:35 AM Dave Lee <<a href="mailto:davelee2804@gmail.com" target="_blank">davelee2804@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks Mark,<div><br></div><div>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.</div></div></blockquote><div><br></div><div>Yes, SLEPc will give you parallel eigen solvers, etc.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>Cheers, Dave.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 4, 2019 at 10:32 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">[keep on list]</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 4, 2019 at 7:08 AM Dave Lee <<a href="mailto:davelee2804@gmail.com" target="_blank">davelee2804@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Mark,<div><br></div><div>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.</div></div></div></blockquote><div><br></div><div>SVDs will do it but they are expensive.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div><br></div><div>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. </div></div></div></blockquote><div><br></div><div>Other team members have more experience with INS. We have a lot of capabilities for this.</div><div><br></div><div>You could start by looking at:</div><div><br></div><div><a href="https://www.mcs.anl.gov/petsc/documentation/tutorials/HandsOnExercise.html#example4" target="_blank">https://www.mcs.anl.gov/petsc/documentation/tutorials/HandsOnExercise.html#example4</a><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>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.</div><div><br></div><div>Thanks again for clarifying.</div><div><br></div><div>Cheers, Dave.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 4, 2019 at 8:26 PM Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">The Krylov space can not see the null space (by definition) and so getting a useful near null space from it is not likely.<div><br></div><div>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.</div><div><br></div><div>You really want to know your null space, what kind of equations do you have?</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 4, 2019 at 4:28 AM Dave Lee via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello PETSc,<div><br></div><div>I'm attempting to solve a JFNK problem for a system where I only have a function to compute the residual, but no matrix.</div><div><br></div><div>I wanted to know if there exists functionality in PETSc to do the following:</div><div><br></div><div>1) approximate a null space from a set of Krylov vectors</div><div><br></div><div>2) remove such a null space if it exists</div><div><br></div><div>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.</div><div><br></div><div>Cheers, Dave. </div></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>