Open dariomangoni opened 3 years ago
Hi, are -M_bar and/or K_bar SPD?
hi @caliarim, unfortunately no; in aeroelasticity we cannot ensure that neither K_bar, M_bar or C_bar are symmetric nor that are positive-definite. We are looking for solutions for the most general problems that we could encounter, but I'm struggling to find a proper method for handling such cases.
I think that using Krylov-Schur methods I might get a way out but, since we are already using ARPACK, I wanted to double check if we could handle these cases with IRAM so to avoid adding any additional dependency.
I'm not sure if a transformation of the problem into a non-generalized form (as suggested in the ARPACK guide 3.2.2 M is NOT Hermitian Positive Semidefinite) is a proper way of dealing with this issues. We operate on big matrices and a decomposition is always something that I prefer to avoid, but since it's not required to store the inverse I can make a try if it makes sense.
If I am not wrong, inv(M_tilde)K_tilde = [0,I;-inv(M_bar)K_bar,-inv(M_bar)*C_bar]. So, you can turn it into a regular eigenvalue problem, provided that M_bar is not singular.
Yes, you are right and we are already doing so, however this causes a strong filling up: the starting matrices are sparse, while the inversion make them quite dense. Is there any chance to leave them sparse?
Playing with workspace size / shift / invert and / or solvers (BiCG instead of LLt for instance possibly with PC) when mode > 1 may help : arpackmm
maybe convienient for such testing.
https://github.com/opencollab/arpack-ng/blob/0a655d918d558ef97881db2760668b8d1e3b4bc1/EXAMPLES/MATRIX_MARKET/README#L18
Arpack is maintained but no more developed so if you don't find a solution here, you may give a try to slepc (LOPSI ? SRRIT ? QMRPACK ? not sure if these are neither stable, nor designed for sparse [or dense ?] matrices)
Hi guys, I've been trying to solve the following problem: where
I anticipate that M_tilde and K_tilde matrices are real, but are NOT positive-definite and NOT symmetric, none of them. Tuckling multibody+finite-elements...
I read from ARPACK guide that
dnaupd
+dneupd
, that are the "most" fit for the purpose, require that my M_tilde should be symmetric and positive-definiteI tried nonetheless to run the problem with
dnaupd
realizing that returns ido=99 and info=0. However, when callingdneupd
, thedr
vector returns just a long list of eigvalues all really close tosigmar
and non-sense eigenvectors...I know I'm in a quite desperate situation, but any suggestion on how to tackle such kind of problems is hugely appreciated.
Using ARPACK-NG 3.8.0