Repeated ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) during Eigen analysis (model runs but shows hundre

Post Reply
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

Post by qkrghdrl7759 » Sun Aug 31, 2025 4:48 am

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!
Attachments
example.zip
(448.15 KiB) Downloaded 112 times

STKO Team
Posts: 3066
Joined: Tue Oct 29, 2019 8:45 am

Re: Repeated ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (0,0) during Eigen analysis (model runs but shows hu

Post by STKO Team » Mon Sep 01, 2025 8:35 am

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
missing_ele_props.png
missing_ele_props.png (344.52 KiB) Viewed 2683 times

Post Reply