[petsc-users] Singular Eigenproblem with SLEPc
Nidish
nb25 at rice.edu
Sun Aug 16 19:50:04 CDT 2020
Thank you for the example, it is indeed useful!
In my application, an additional complication is that the stiffness
matrix "K" is also singular. So when I run my code with the suggested
runtime flags, I persistently get a zero pivot error for the LU
calculation (for the st_pc probably). I'm not sure what factorization or
solver I should use in this case.
TLDR: I have K.v=lam*M.v where BOTH K and M are singular. The nullspace
of M is a subset of the nullspace of K.
Thank you,
Nidish
On 8/16/20 1:50 AM, Jose E. Roman wrote:
> Nothing special is required for solving a GHEP with singular M, except for setting the problem type as GHEP, see https://slepc.upv.es/documentation/current/src/eps/tutorials/ex13.c.html
> Jose
>
>
>> El 16 ago 2020, a las 1:09, Nidish <nb25 at rice.edu> escribió:
>>
>> Hello,
>>
>> I'm presently working with a large finite element model with several RBE3 constraints with "virtual" 6DOF nodes in the model.
>>
>> I have about ~36000 3DOF nodes making up my model and about ~10 RBE3 virtual nodes (which have zero intrinsic mass and stiffness). I've extracted the matrices from Abaqus.
>>
>> The way these constraints are implemented is by introducing static linear constraints (populating the stiffness matrix) and padding the mass matrix with zero rows and columns in the rows corresponding to the virtual nodes. So this leaves me with an eigenproblem of the form,
>>
>> K.v = lam*M.v
>>
>> where M is singular but the eigenproblem is well defined. Abaqus seems to solve this perfectly well, but after exporting the matrices, I'm struggling to get slepc to solve this. The manual talks about deflation, etc., but I couldn't really understand too much.
>>
>> Is there any example code for such a case with a singular matrix where these procedures are carried out? Or could you provide references/guidances for approaching the problem?
>>
>> Thank you,
>> Nidish
--
Nidish
More information about the petsc-users
mailing list