Title: Repeated ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) during Eigen analysis (model runs but shows hundreds of warnings)
Environment
OS: Windows 10 (22H2)
STKO: 4.1.0 (Pre/Post)
OpenSees: 3.8.0 64-bit (called from D:\OpenSTKO\OpenSees3.7.1\bin\OpenSees.exe, banner reports 3.8.0)
Analysis type: Eigen (modal)
Recorder: MPCO (displacement, rotation, acceleration, reactionForce enabled)
Problem
When I run the attached model from the command line, the console prints hundreds of identical messages:
ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0)
and then finishes with:
ANALYSIS SUCCESSFULLY FINISHED
So the run completes, but I’m not sure if these messages are benign or if they indicate a modeling/constraint issue that will corrupt the eigen results (frequencies / mode shapes).
How to reproduce
Unzip CelMa.zip.
Run:
"D:\OpenSTKO\OpenSees3.8.0\bin\OpenSees.exe" main.tcl
(Path may differ; in my case the banner shows 3.8.0.)
Observe the repeated aii < 0 messages.
Model summary (very short)
3D frame mesh (beams/columns), supports applied at base nodes.
Boundary conditions created in STKO:
Fix(x,y) on base nodes (Ux=Uy fixed)
Fix(z) on perimeter/base (Uz fixed)
Geometry merged with Glue only coinciding subshapes in STKO.
Eigen step: numEigenvalues = 20, use_solver = off (default STKO eigen solver).
What I tried
Checked boundary conditions are assigned to the correct selection sets.
Used STKO “Merge” → Glue only coinciding subshapes to avoid duplicate nodes.
Verified MPCO recorder items.
Questions
What exactly triggers ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) in an Eigen analysis?
Does it mean the assembled matrix is not positive definite (e.g., due to unconstrained DOFs / rigid body modes / duplicate nodes), or is it harmless with the eigen procedure?
Is there a recommended solver option for this case (e.g., enabling use_solver and choosing MUMPS) to avoid the warnings?
Which modeling checks would you suggest (constraints handler, element orientation, accidental duplicate elements/nodes, zero-length members, etc.)?
Attachments
CelMa.zip (all TCL files + STKO model .scd)
Any hint on whether these warnings point to a real issue with my supports/merging, or are expected in this workflow, would be very appreciated.
Thanks!
Repeated ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) during Eigen analysis (model runs but shows hundre
-
qkrghdrl7759
- Posts: 7
- Joined: Tue Aug 05, 2025 12:39 am
Repeated ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) during Eigen analysis (model runs but shows hundre
- Attachments
-
- example.zip
- (448.15 KiB) Downloaded 112 times
Re: Repeated ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) during Eigen analysis (model runs but shows hu
You forgot to assign the beam Element Property to some column,
so STKO will not generate and element for those edges and the top nodes will be hanging, leading to the singularity in your stiffness matrix
so STKO will not generate and element for those edges and the top nodes will be hanging, leading to the singularity in your stiffness matrix