[petsc-users] Solving singular systems with petsc
Nidish
nb25 at rice.edu
Sun Aug 16 20:10:16 CDT 2020
Oh damn. Alright, I'll keep trying out the different options.
Thank you,
Nidish
On 8/16/20 8:05 PM, Barry Smith wrote:
>
> SVD is enormously expensive, needs to be done on a full dense matrix
> so completely impractical. You need the best tuned iterative method,
> Jose is the by far the most knowledgeable about that.
>
> Barry
>
>
>> On Aug 16, 2020, at 7:46 PM, Nidish <nb25 at rice.edu
>> <mailto:nb25 at rice.edu>> wrote:
>>
>> Thank you for the suggestions.
>>
>> I'm getting a zero pivot error for the LU in slepc while calculating
>> the rest of the modes.
>>
>> Would conducting an SVD for just the stiffness matrix and then using
>> the singular vectors as bases for the nullspace work? I haven't tried
>> this out just yet, but I'm wondering if you could provide me insights
>> into whether this will.
>>
>> Thanks,
>> Nidish
>>
>> On 8/16/20 2:50 PM, Barry Smith wrote:
>>>
>>> If you know part of your null space explicitly (for example the
>>> rigid body modes) I would recommend you always use that information
>>> explicitly since it is extremely expensive numerically to obtain.
>>> Thus rather than numerically computing the entire null space compute
>>> the part orthogonal to the part you already know. Presumably SLEPc
>>> has tools to help do this, naively I would just orthogonalized
>>> against the know subspace during the computational process but there
>>> are probably better ways.
>>>
>>> Barry
>>>
>>>
>>>
>>>
>>>> On Aug 16, 2020, at 11:26 AM, Nidish <nb25 at rice.edu
>>>> <mailto:nb25 at rice.edu>> wrote:
>>>>
>>>> Well some of the zero eigenvectors are rigid body modes, but there
>>>> are some more which are introduced by lagrange-multiplier based
>>>> constraint enforcement, which are non trivial.
>>>>
>>>> My final application is for a nonlinear simulation, so I don't mind
>>>> the extra computational effort initially. Could you have me the
>>>> suggested solver configurations to get this type of eigenvectors in
>>>> slepc?
>>>>
>>>> Nidish
>>>> On Aug 16, 2020, at 00:17, Jed Brown <jed at jedbrown.org
>>>> <mailto:jed at jedbrown.org>> wrote:
>>>>
>>>> It's possible to use this or a similar algorithm in SLEPc, but keep in mind that it's more expensive to compute these eigenvectors than to solve a linear system. Do you have a sequence of systems with the same null space?
>>>>
>>>> You referred to the null space as "rigid body modes". Why can't those be written down? Note that PETSc has convenience routines for computing rigid body modes from coordinates.
>>>>
>>>> Nidish <nb25 at rice.edu <mailto:nb25 at rice.edu>> writes:
>>>>
>>>> I just use the standard eigs function
>>>> (https://www.mathworks.com/help/matlab/ref/eigs.html) as a
>>>> black box. I think it uses a lanczos type method under the
>>>> hood. Nidish On Aug 15, 2020, 21:42, at 21:42, Barry Smith
>>>> <bsmith at petsc.dev <mailto:bsmith at petsc.dev>> wrote:
>>>>
>>>> Exactly what algorithm are you using in Matlab to get
>>>> the 10 smallest eigenvalues and their corresponding
>>>> eigenvectors? Barry
>>>>
>>>> On Aug 15, 2020, at 8:53 PM, Nidish <nb25 at rice.edu
>>>> <mailto:nb25 at rice.edu>> wrote: The section on
>>>> solving singular systems in the manual starts with
>>>>
>>>> assuming that the singular eigenvectors are already known.
>>>>
>>>> I have a large system where finding the singular
>>>> eigenvectors is not
>>>>
>>>> trivially written down. How would you recommend I
>>>> proceed with making initial estimates? In MATLAB (with
>>>> MUCH smaller matrices), I conduct an eigensolve for the
>>>> first 10 smallest eigenvalues and take the eigenvectors
>>>> corresponding to the zero eigenvalues from this. This
>>>> approach doesn't work here since I'm unable to use
>>>> SLEPc for solving
>>>>
>>>> K.v = lam*M.v for cases where K is positive
>>>> semi-definite (contains a few "rigid
>>>>
>>>> body modes") and M is strictly positive definite.
>>>>
>>>> I'd appreciate any assistance you may provide with
>>>> this. Thank you, Nidish
>>>>
>>>
>> --
>> Nidish
>
--
Nidish
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200816/f774d50e/attachment-0001.html>
More information about the petsc-users
mailing list