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 <n...@rice.edu
<mailto:n...@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 <n...@rice.edu
<mailto: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?
Nidish
On Aug 16, 2020, at 00:17, Jed Brown <j...@jedbrown.org
<mailto: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 <mailto: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 <mailto: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
<mailto: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
--
Nidish
--
Nidish