On Sun, Aug 16, 2020 at 12:26 PM Nidish <n...@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? >
Follow the example that Jose linked to. Thanks, Matt > Nidish > On Aug 16, 2020, at 00:17, Jed Brown <j...@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 <n...@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 <bsm...@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 <n...@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 >>>>> >>>> -- 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/>