Hi all
I model a 20 stories Moment Frame 3D structure in Opensees.
The details are as followed:
Column: Fiber section, use nonlinearbeamcolumn element, using steel02 materials
Beam: 1) elastic beamcolumn element; 2) zerolength element in both ends, using bilin materials
analysis command: 1) constraints Transformation; 2) numberer RCM; 3) system SparseSYM; 4) algorithm Newton
Problem: No matter how far I push, the analysis stops at around 2% drift. Even it give 100 trash data point, same force, same displacement.
The feedback in the software, common problem:
1)WARNING - ForceBeamColumn3d::update - failed to get compatible element forces & deformations for element: 1576(4.42546e+006, dW0: 736388)
2)DisplacementControl: update- model failed to update for new dU
3)WARNING NewtonRaphson::solveCurrentStep() -the Integrator failed in update()
4)Staticanlysis: analyze() - the Algorithm failed at iteration: 0 with domain at load factor
I try to make some part of the model linear:
1) Linear column, Linear beam: No problem
2) Nonlinear column, linear beam: still warning- ForceBeamColumn3d::update failed to get compatible element forces & deformations for element: 1576(4.42546e+006, dW0: 736388)
3) Linear column, nonlinear beam: fail to convergence, but the opensees convergence loop fix a lot of problem.
In the end, I change nonlinearbeamcolumn element to dispBeamColumn element, no warning - ForceBeamColumn3d:. BUT IT GIVES ME A WRONG RESULT.( I have a perform3D model to compare)
Please give me suggestions. If you like, I can send my model to you. Many thanks.
Peng
Tall building pushover analysis fail
Moderators: silvia, selimgunay, Moderators
Re: Tall building pushover analysis fail
The problem is created by element 1576. Try fixing this element rather then the whole model. Make sure it is defined well.
If you replace force-based beam-column element with disp-based elemnts you need several disp-based element in place of one force-based element.
If you replace force-based beam-column element with disp-based elemnts you need several disp-based element in place of one force-based element.
Re: Tall building pushover analysis fail
Many thanks for your reply, Vesna. I also send you my model.
Actually, element 1576 is column element. It works perfectly when it's 10-story-building. But when it goes to 20-story-building, there're hundreds of similar warning in different columns. I'm thinking whether it is out of the capability of opensees algorithm for calculation.
One experiment I do, two models :1)Column linear and beam nonlinear, it stops analysis around 2%IDR, no matter how far I push it; 2)Column nonlinear and beam linear, although it has "WARNING - ForceBeamColumn3d, it can finish". Can I make a conclusion my beam has problem?
I can't understand why all element, materials work perfectly in lower stories building, and it stops analysis in taller building.
Thanks
Peng
I models in this way:
proc AISCsectionsfiber { secID matID AISC_Wsection nfdw nftw nfbf nftf orient secIDA } {
# ###################################################################
# AISC_sections_fiber $secID $matID $d $bf $tf $tw $nfdw $nftw $nfbf $nftf orient secIDA
# ###################################################################
# create a standard W section given the nominal section properties
# written: Farzin Zareian & Peng Zhong
# date: 08/11
# input parameters
# secID - section ID number
# matID - material ID number
# secIDA - section ID number after using aggregator
# nfdw = number of fibers along web depth
# nftw = number of fibers along web thickness
# nfbf = number of fibers along flange width
# nftf = number of fibers along flange thickness
# orient = orientation 1 for I shape and 2 for |-| shape
# d = nominal depth
# tw = web thickness
# bf = flange width
# tf = flange thickness
```````
```````
```````
```````
} elseif {$AISC_Wsection =="W4X13"} {
set W 13;
set A 3.83;
set H 4.16;
set BF 4.06;
set TW 0.28;
set TF 0.345;
set BF_2TF 5.88;
set H_TW 10.6;
set IX 11.3;
set ZX 6.28;
set SX 5.46;
set RX 1.72;
set IY 3.86;
set ZY 2.92;
set SY 1.9;
set RY 1;
set J 0.151;
set Aweb 0.9716;
} else {
puts "section not found"
}
if {$orient == 1 } {
set dw [expr $H - 2 * $TF]
set y1 [expr -$H/2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $H/2]
set z1 [expr -$BF/2]
set z2 [expr -$TW/2]
set z3 [expr $TW/2]
set z4 [expr $BF/2]
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $matID $nfbf $nftf $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $matID $nftw $nfdw $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $matID $nfbf $nftf $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
set G 11154.0
set VMat [expr $secIDA+1000]
uniaxialMaterial Elastic $VMat [expr $A*$G] ;
set TMat [expr $secIDA+1100]
uniaxialMaterial Elastic $TMat [expr $J*$G] ;
#column section Aggregator (with shear and torsion)
section Aggregator $secIDA $VMat Vz $VMat Vy $TMat T -section $secID ;
} elseif {$orient == 2 } {
set dw [expr $H - 2 * $TF]
set y1 [expr -$H/2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $H/2]
set z1 [expr -$BF/2]
set z2 [expr -$TW/2]
set z3 [expr $TW/2]
set z4 [expr $BF/2]
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $matID $nftf $nfbf $z1 $y2 $z1 $y1 $z4 $y1 $z4 $y2
patch quadr $matID $nfdw $nftw $z2 $y3 $z2 $y2 $z3 $y2 $z3 $y3
patch quadr $matID $nftf $nfbf $z1 $y4 $z1 $y3 $z4 $y3 $z4 $y4
}
set G 11154.0
set VMat [expr $secIDA+1000]
uniaxialMaterial Elastic $VMat [expr $A*$G] ;
set TMat [expr $secIDA+1100]
uniaxialMaterial Elastic $TMat [expr $J*$G] ;
#column section Aggregator (with shear and torsion)
section Aggregator $secIDA $VMat Vz $VMat Vy $TMat T -section $secID ;
} else {
puts "Your Orientation Number is Off"
}
}
AISCsectionsfiber $c18_fs $SteelMat W24X146 $nfdw $nftw $nfbf $nftf 2 $c18_fsA;
element nonlinearBeamColumn 1576 1937 335 $numIntgrPts $c18_fsA $IDColTransf_h1 ; # C18_W24X146fs
Actually, element 1576 is column element. It works perfectly when it's 10-story-building. But when it goes to 20-story-building, there're hundreds of similar warning in different columns. I'm thinking whether it is out of the capability of opensees algorithm for calculation.
One experiment I do, two models :1)Column linear and beam nonlinear, it stops analysis around 2%IDR, no matter how far I push it; 2)Column nonlinear and beam linear, although it has "WARNING - ForceBeamColumn3d, it can finish". Can I make a conclusion my beam has problem?
I can't understand why all element, materials work perfectly in lower stories building, and it stops analysis in taller building.
Thanks
Peng
I models in this way:
proc AISCsectionsfiber { secID matID AISC_Wsection nfdw nftw nfbf nftf orient secIDA } {
# ###################################################################
# AISC_sections_fiber $secID $matID $d $bf $tf $tw $nfdw $nftw $nfbf $nftf orient secIDA
# ###################################################################
# create a standard W section given the nominal section properties
# written: Farzin Zareian & Peng Zhong
# date: 08/11
# input parameters
# secID - section ID number
# matID - material ID number
# secIDA - section ID number after using aggregator
# nfdw = number of fibers along web depth
# nftw = number of fibers along web thickness
# nfbf = number of fibers along flange width
# nftf = number of fibers along flange thickness
# orient = orientation 1 for I shape and 2 for |-| shape
# d = nominal depth
# tw = web thickness
# bf = flange width
# tf = flange thickness
```````
```````
```````
```````
} elseif {$AISC_Wsection =="W4X13"} {
set W 13;
set A 3.83;
set H 4.16;
set BF 4.06;
set TW 0.28;
set TF 0.345;
set BF_2TF 5.88;
set H_TW 10.6;
set IX 11.3;
set ZX 6.28;
set SX 5.46;
set RX 1.72;
set IY 3.86;
set ZY 2.92;
set SY 1.9;
set RY 1;
set J 0.151;
set Aweb 0.9716;
} else {
puts "section not found"
}
if {$orient == 1 } {
set dw [expr $H - 2 * $TF]
set y1 [expr -$H/2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $H/2]
set z1 [expr -$BF/2]
set z2 [expr -$TW/2]
set z3 [expr $TW/2]
set z4 [expr $BF/2]
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $matID $nfbf $nftf $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $matID $nftw $nfdw $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $matID $nfbf $nftf $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
set G 11154.0
set VMat [expr $secIDA+1000]
uniaxialMaterial Elastic $VMat [expr $A*$G] ;
set TMat [expr $secIDA+1100]
uniaxialMaterial Elastic $TMat [expr $J*$G] ;
#column section Aggregator (with shear and torsion)
section Aggregator $secIDA $VMat Vz $VMat Vy $TMat T -section $secID ;
} elseif {$orient == 2 } {
set dw [expr $H - 2 * $TF]
set y1 [expr -$H/2]
set y2 [expr -$dw/2]
set y3 [expr $dw/2]
set y4 [expr $H/2]
set z1 [expr -$BF/2]
set z2 [expr -$TW/2]
set z3 [expr $TW/2]
set z4 [expr $BF/2]
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $matID $nftf $nfbf $z1 $y2 $z1 $y1 $z4 $y1 $z4 $y2
patch quadr $matID $nfdw $nftw $z2 $y3 $z2 $y2 $z3 $y2 $z3 $y3
patch quadr $matID $nftf $nfbf $z1 $y4 $z1 $y3 $z4 $y3 $z4 $y4
}
set G 11154.0
set VMat [expr $secIDA+1000]
uniaxialMaterial Elastic $VMat [expr $A*$G] ;
set TMat [expr $secIDA+1100]
uniaxialMaterial Elastic $TMat [expr $J*$G] ;
#column section Aggregator (with shear and torsion)
section Aggregator $secIDA $VMat Vz $VMat Vy $TMat T -section $secID ;
} else {
puts "Your Orientation Number is Off"
}
}
AISCsectionsfiber $c18_fs $SteelMat W24X146 $nfdw $nftw $nfbf $nftf 2 $c18_fsA;
element nonlinearBeamColumn 1576 1937 335 $numIntgrPts $c18_fsA $IDColTransf_h1 ; # C18_W24X146fs