I am currently using STKO in OpenSees to model a Buckling-Restrained Brace (BRB) frame, but I am encountering a persistent stability error that I cannot resolve.
The Error: When running the analysis, I receive the following error immediately: ProfileSPDLinDirectSolver::solve() - aii < 0 (i, aii): (313, 0)
I am modeling a BRB with this configuration consisting of three parts:
1. Gusset Plates: Modeled as elasticBeamColumn elements (to provide rotational stiffness).
2. BRB Core: Modeled as a corotTruss element.
3. Material: The core uses uniaxial Material IMKPinching calibrated to experimental data.
I have attempted the following fixes to resolve the singularity, but the error persists at the exact same equation number (313). I have attached my .SCD file (and the generated .tcl file) for your reference. Could you please advise if there is a specific setting or geometric constraint I might be missing?
Thank you for your time and assistance.
ProfileSPDLinDirectSolver Error (aii < 0) in BRB Model
-
John Matthew
- Posts: 2
- Joined: Tue Jan 27, 2026 6:42 am
ProfileSPDLinDirectSolver Error (aii < 0) in BRB Model
- Attachments
-
- BRB Nonlinear Modeling.rar
- (126.08 KiB) Downloaded 29 times
Re: ProfileSPDLinDirectSolver Error (aii < 0) in BRB Model
Errors:
- Your main frame was created using MakeWire, which does not create intersections. In fact, some transverse beam were disconnected from border beams.
- Truss elements should not be meshed in more that 1 element per member.
- Some coupling beams does not have Element Property
- Why did you fix the rotations at the connection between beams and trusses?
- Attachments
-
- BRB Nonlinear Modeling.zip
- (174.36 KiB) Downloaded 27 times
-
John Matthew
- Posts: 2
- Joined: Tue Jan 27, 2026 6:42 am
Re: ProfileSPDLinDirectSolver Error (aii < 0) in BRB Model
Thank you for your comments. I will revise the model accordingly:
1. I will correct the frame connectivity by ensuring proper intersections so that all transverse beams are fully connected to the border beams.
2. I will remesh the truss members so that each member is modeled as a single element between joints.
3. I will assign the appropriate element properties to all coupling beams that are currently missing them.
4. I will remove the rotational fixity at the beam–truss connections.
In addition, I would like to run the ground motion analyses sequentially. This means that after Run 1 is completed, the model used for Run 2 should be the updated model resulting from Run 1, rather than a newly initialized model. In other words, each subsequent run should start from the final state of the previous analysis. I am planning to use the same El Centro record for three cases: first in the X direction only, then in the Y direction only, starting from the final condition of Run 1, and finally (Run 3) in both X and Y directions simultaneously, starting from the final condition of Run 2. Could you please advise on the recommended approach for configuring this type of sequential time-history analysis in STKO?
Thank you in advance for your guidance.
1. I will correct the frame connectivity by ensuring proper intersections so that all transverse beams are fully connected to the border beams.
2. I will remesh the truss members so that each member is modeled as a single element between joints.
3. I will assign the appropriate element properties to all coupling beams that are currently missing them.
4. I will remove the rotational fixity at the beam–truss connections.
In addition, I would like to run the ground motion analyses sequentially. This means that after Run 1 is completed, the model used for Run 2 should be the updated model resulting from Run 1, rather than a newly initialized model. In other words, each subsequent run should start from the final state of the previous analysis. I am planning to use the same El Centro record for three cases: first in the X direction only, then in the Y direction only, starting from the final condition of Run 1, and finally (Run 3) in both X and Y directions simultaneously, starting from the final condition of Run 2. Could you please advise on the recommended approach for configuring this type of sequential time-history analysis in STKO?
Thank you in advance for your guidance.
Re: ProfileSPDLinDirectSolver Error (aii < 0) in BRB Model
Just do one dynamic analysis after the other in the same model. The default behaviour in OpenSees is that the nonlinear effects are propagated from one analysis to the other (unless you use the reset command between them)