Singular Matrix Error - for Shearwall Pushover Analysis

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
sunaikim
Posts: 1
Joined: Wed Aug 10, 2011 3:45 pm
Location: University of California Los Angeles

Singular Matrix Error - for Shearwall Pushover Analysis

Post by sunaikim » Wed Sep 23, 2015 6:07 pm

Hello,

I have modeled a cantilever 20-story shearwall with shear-flexure interaction elements (SFI_MVLEM). I have 1 element per story, 6 fibers per element.
For materials, I am using ConcreteCM and Steel02. I received the compiled Opensees file directly from the SFI_MVLEM author (Kolozvari), so this version of executable file doesn't have bugs. The periods look okay and the push-over analysis (drift-controlled, up to 5%) responses look okay as well.

I am using the same 20-story shearwalls as above (two of them now), joined with a coupling beam.
The coupling beams are elastic beamcolumn elements.
I have modeled plastic hinges at the ends of the beams using uniaxial ModIMKPeakOriented materials.
I have zero-length elements at the hinge locations and have constrained them using equalDOF commands.
I have modeled rigid beams to join the coupling beams to the centerline of the walls.
The base is fixed.

When I run push-over analysis for this coupled wall system, the responses are okay up to 2% drift and the solutions converge. At this point, only the wall yields and beams are still elastic. I am running pushover analysis using all solution algorithms, and progressively lowering tolerance if solutions do not converge. I'm also using Umfpack -lvalueFact 100 (I've tried values between 0 to 100).

At higher drifts (beyond 2%), the solution does not converge and I get this error:

UMD2FA: matrix is singular. Only 402 pivots found.
WARNING UmfpackGenLinSolver::solve(void)- 4 returned in factorization UMD2FA()
WARNING NewtonLineSearch::solveGurrentStep()- the LinearSysOfEqn failed in solve()
....
ModifiedNewton::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor -1.#IND

Will you give me some insight on why I'm getting this singular matrix error?
Also, is there a way to code an if-statement to flag singularity error?
So far, I've tried to find words "QNAN" or "IND" in my displacement recorders to flag singularity but this doesn't work very well.

Thank you.

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Singular Matrix Error - for Shearwall Pushover Analysis

Post by fmk » Thu Sep 24, 2015 9:21 am

you could try using one of the other genreal solvers (BandGeneral) to see if you get the same error; typically you will but not always as the different solver decompose differently and if close to being singular this can result in different paths. if you do have the same issue, it is your model but you could try throwing in a duplicate elastic element with small stifness or get rid of the ModIMK stuff and replace with hysteretic (for unless there is a lot of cycles yoour degredatio will be minimal)

benji0589
Posts: 6
Joined: Sun Apr 15, 2012 12:53 pm
Location: UTP PANAMA

Re: Singular Matrix Error - for Shearwall Pushover Analysis

Post by benji0589 » Sat Dec 12, 2020 6:08 am

Hi SunaiKim,

I am working in a 25 - Dual System (Coupled Walls - Moment Frame) with shear-flexure interaction elements (SFI_MVLEM) model.

For the moment frame, I have used beamcolumn elements modeled with plastic hinges at the ends of the beams using uniaxial ModIMKPeakOriented materials.

For the walls I have used 2 SFI _MVLEM elements per story, 6 fibers per element.
I am using the same 20-story shearwalls as above (two of them now), joined with a coupling beam.
The coupling beams are elastic beamcolumn elements with plastic hinges at the ends of the beams using uniaxial ModIMKPeakOriented materials.
I have zero-length elements at the hinge locations and have constrained them using equalDOF commands.

But, I am not sure how to connect the coupling beams to the centerline of the walls.
I have modeled rigid beams to join the coupling beams to the centerline of the walls but depends on the axial and flexural stiffness of the rigid beam elements, when I try to run a dynamic analysis, I get a building period that makes no sense, and then I am getting the singular matrix error.

I really appreciate it if you could give me some insight on how to approach this issue with the coupled walls model.

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Singular Matrix Error - for Shearwall Pushover Analysis

Post by mhscott » Sat Dec 12, 2020 8:31 am

Backtrack and make things elastic, e.g., the ModIMK materials, until you eliminate the error. https://wp.me/pbejzW-1C

benji0589
Posts: 6
Joined: Sun Apr 15, 2012 12:53 pm
Location: UTP PANAMA

Re: Singular Matrix Error - for Shearwall Pushover Analysis

Post by benji0589 » Sat Jan 09, 2021 5:18 am

Dear mhscott

Thank you for your advice. I found that I have a modeling issue. I am not sure how to attach the coupling beam element to the SFI-MVLEM (shear walls elements).

I tried to do this using the following script:

1. Create nodes on the edge of the walls
2. Create rigid link beam elements from the centerline of the wall to the edge of the wall
3. Create the link beam elements between walls attached to the rigid link elements

But in this approach, the link beams elements have the constraint to move with the centroid of the shear wall, and it seems like these beams are not connected to the edge.

Could you please give some insight on how to model the joint between link beams and SFI_MVLEM elements

# Step 1
# =======================================
# #Create nodes on the edge of the wall
for {set i 1} {$i <= $numFloor} {incr i} {

#Create rigid offset nodes coordinates
node [expr 310000 + 2*$i] [expr $Lw/2.0] [expr $i*$storyHeight]; # Wall 1 offset
node [expr 330000 + 2*$i] [expr $Lcb+$Lw/2.0] [expr $i*$storyHeight]; # Wall 2 offset
}
# =======================================


# Step 2
# =======================================
# Define rigid link offset from the centerline of the wall to the edge of the wall
for {set i 1} {$i <= $numFloor} {incr i} {

rigidLink beam [expr 300000 + 2*$i] [expr 310000 + 2*$i]; # Wall 1 rigid offset element
rigidLink beam [expr 330000 + 2*$i] [expr 320000 + 2*$i]; # Wall 2 rigid offset element
}

puts "Rigid Link offset defined."
# =======================================


# Step 3
# =======================================
# Define beam elements
# Command: element elasticBeamColumn $eleID $iNode $jNode $A $E $I $transfID
for {set i 1} {$i <= $numFloor} {incr i} {
set pos [lindex $CBeam_List [expr $i-1]];
set Abeam [lindex $CBeamA [expr $pos-1]];
set Ebeam [lindex $CBeamE [expr $pos-1]];
set Ibeam [lindex $CBeamI [expr $pos-1]];
element elasticBeamColumn [expr 32100 + $i] [expr 310000 + 2*$i] [expr 340000+ $i] $Abeam $Ebeam $Ibeam $BeamTransTag; # 1x - Axis 1 @ Hinge
element elasticBeamColumn [expr 32300 + $i] [expr 341000 + $i] [expr 342000+ $i] $Abeam $Ebeam $Ibeam $BeamTransTag; # 1x - Axis 1 @ Hinge
element elasticBeamColumn [expr 32400 + $i] [expr 343000 + $i] [expr 330000+ 2*$i] $Abeam $Ebeam $Ibeam $BeamTransTag; # 1x - Axis 1 @ Hinge
}
puts "Coupling Beam elements defined."

mhscott
Posts: 874
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Singular Matrix Error - for Shearwall Pushover Analysis

Post by mhscott » Sat Jan 09, 2021 9:12 am

Your question is pretty detailed. I recommend a 1-on-1 with Silvia who has some experience with wall modeling.
https://www.silviasbrainery.com/one-on-one-training

selimgunay
Posts: 913
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Singular Matrix Error - for Shearwall Pushover Analysis

Post by selimgunay » Thu Jan 14, 2021 11:55 am

You can try directly using the rigid link command instead of a rigid element

https://opensees.berkeley.edu/wiki/inde ... nk_command

Post Reply