Problem with zerolength element

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

Moderators: silvia, selimgunay, Moderators

Post Reply
anitaa
Posts: 13
Joined: Fri Apr 10, 2020 10:52 pm

Problem with zerolength element

Post by anitaa »

Hi

I am modelling a frame, and when I use a zeroLength element to represent the beam hinge I get the error message below during eigenvalue analysis.
"ProfileSPDLinCirectSolver:: … aii < minDiagTol (i, aii)…"

The spring (zerolength element) is located 250 mm away from the column-beam centreline by using a rigid element to represent the joint. The model runs successfully with other element types (elastic, FB-based), but as soon as I put a spring element I get the error above which looks like an instability issue. I have even tried assigning a rigid material to all 6 degrees of freedom of the spring element, but I still get the same error.

Could you please advise what may be the source of the error.


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

Re: Problem with zerolength element

Post by selimgunay »

The zerolength element should have two nodes that have exactly the same coordinates.

Also when you connect two nodes with the zerolength element only along one degree of freedom (DOF), all of the other DOFs have zero stiffness,so you need to use equaldof for these other DOFs.
anitaa
Posts: 13
Joined: Fri Apr 10, 2020 10:52 pm

Re: Problem with zerolength element

Post by anitaa »

I have positioned two nodes in exactly the same place. Instead of applying equal DOFs I have defined the material of the zerolength element for all 6 DOFs. I've included a simple example below for a fixed end beam with two spring elements at each end. Here I have just used a rigid material for the springs (to simply the model for the time being).

I've checked my model a few times, and I can't seem to find the problem. Any help would be much appreciated.



# Simple beam example with springs
## -------------- Create ModelBuilder space ---------------------- #
wipe all;
model BasicBuilder -ndm 3 -ndf 6; # 3D with 6 degress of freedom


# ---------- Section & material properties ------------- #
# Beam
set Einitial_N32 28284.0 ;
set Iz_b1T1 2.000833E+10 ; # second moment of area about z-axis
set Iy_b1T1 2.000833E+10 ; # second moment of area about y-axis
set Ag_b1T1 490000 ; # gross area

# Large properties for rigid links
set Einitial_N50 35355.0 ;
set Iz_w2T1 4.08799E+13 ; # second moment of area about z-axis
set Iy_w2T1 7.66756E+12 ; # second moment of area about y-axis
set Ag_w2T1 5375000 ; # gross area

set rigidMaterial 1 ; # tag for rigid spring material
uniaxialMaterial Elastic $rigidMaterial 1.9e16


# ------------------------ Nodes -------------------------- #
#node nodeTag X Y Z
node 1 0.0 0.0 0.0
node 2 0.0 0.0 250.0
node 3 0.0 0.0 250.0 -mass 172.247 0.0 172.247 6.09E+10 0.0 0.0
node 4 0.0 0.0 7750.0 -mass 172.247 0.0 172.247 6.09E+10 0.0 0.0
node 5 0.0 0.0 7750.0
node 6 0.0 0.0 8000.0

# ---------- Element Connectivity ------------- #
#geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ <-jntOffset $dXi $dYi $dZi $dXj $dYj $dZj>
set TransfTag_b1N1 1
geomTransf Linear $TransfTag_b1N1 -1 0 0 ; # transformation for elastic beams along Z

# Beam elastic portion
#element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag
element elasticBeamColumn 3 3 4 $Ag_b1T1 $Einitial_N32 0.1 0.1 $Iy_b1T1 $Iz_b1T1 $TransfTag_b1N1

# Beam Rigid link
element elasticBeamColumn 1 1 2 $Ag_w2T1 $Einitial_N50 0.1 0.1 $Iy_w2T1 $Iz_w2T1 $TransfTag_b1N1
element elasticBeamColumn 5 5 6 $Ag_w2T1 $Einitial_N50 0.1 0.1 $Iy_w2T1 $Iz_w2T1 $TransfTag_b1N1

# Beam Spring
#element zeroLength $eleTag $iNode $jNode -mat $matTag1 $matTag2 $matTag3 $matTag4 $matTag5 $matTag6 -dir $dir1 $dir2 $dir3 $dir4 $dir5 $dir6
element zeroLength 2 2 3 -mat $rigidMaterial $rigidMaterial $rigidMaterial $rigidMaterial $rigidMaterial $rigidMaterial -dir 1 2 3 4 5 6
element zeroLength 4 4 5 -mat $rigidMaterial $rigidMaterial $rigidMaterial $rigidMaterial $rigidMaterial $rigidMaterial -dir 1 2 3 4 5 6


# fix $nodeTag X Y X Xr Yr Zr
fix 1 1 1 1 1 1 1
fix 6 1 1 1 1 1 1




# -------------------------- Eigen analysis --------------------------- #
puts " >>>> Running eigenvalue analysis... <<<<
-------------------------------------------"
set numModes 3
set PATH Results/AnalysisEigenvalue
file mkdir $PATH ;

logFile $PATH/LogFile.txt
# ----------------------- 1st: Perform eigen analysis ----------------------- #
set lambda [eigen $numModes];
puts "lambda values: $lambda"

# ----------------- 2nd: Calculate frequencies and periods ------------------ #
set omega {}
set f {}
set T {}
set pi [expr 2*asin(1.0)]

foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}

puts "Periods are $T"

# ---------- 3rd: Write the output file cosisting of periods ---------------- #

set period "$PATH/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods

puts " >>>> Eigenvalue Analysis COMPLETE <<<< "


# -- 4th: Run a one step gravity load with no loading (to record eigenvectors) -- #
integrator LoadControl 0 1 0 0
test NormDispIncr 1.0e-1 50 0
test EnergyIncr 1.0e-10 100 0
algorithm Newton
numberer RCM
#constraints Plain
constraints Transformation
system BandGeneral
#system ProfileSPD
analysis Static
set ok [analyze 1]

if {$ok == 0} {
puts "Eigenvalue analysis completed SUCCESSFULLY"
} else {
puts "Eigenvalue analysis FAILED"
}
anitaa
Posts: 13
Joined: Fri Apr 10, 2020 10:52 pm

Re: Problem with zerolength element

Post by anitaa »

I found the mistake: the instability was caused because an essentially zero value was assigned to the torsional stiffness of the elastic elements..


Thank you for your help.
ahmadbsr
Posts: 29
Joined: Thu Feb 28, 2019 5:43 am
Location: shahid chamran

Re: Problem with zerolength element

Post by ahmadbsr »

anitaa wrote:
> I found the mistake: the instability was caused because an essentially zero
> value was assigned to the torsional stiffness of the elastic elements..
>
>
> Thank you for your help.
Hi i faced this problem when i tried to add the rotational springs at the end of elements ?
i will be thankful if you could help me
i faced this error ProfileSPDLinDirectSolver: :solve() - aii< 0 (i,aii) : (0,0)
ProfileSPDLinDirectSolver: :solve() - aii< 0 (i,aii) : (0,0)
ProfileSPDLinDirectSolver: :solve() - aii< 0 (i,aii) : (0,0)



# In The Name Of God
# AHMAD BSR
# 2D Concrete Frame Model
# Irregular ,Model/ 3 Story
# Units N,M
wipe ;
wipeAnalysis ;
model BasicBuilder -ndm 2 -ndf 3 ;
# define Parameters
set L1 5.00 ;
set H1 3.00 ;
set DL 2000.0 ;
set LL 0 ;
set mConc 2000.0 ;
set FileName "3Story.irregular Model"
file mkdir $FileName ;
set fc 25e6 ;
set Ec 23153.2e6 ;
set Cover 0.04 ;
set pi 3.141592654 ;
# Define nodes
# Define nodes
# Base nodes
# X Y
node 1 0.0 0.0 ;
node 2 $L1 0.0 ;
node 3 [expr 2*$L1] 0.0 ;
node 4 [expr 3*$L1] 0.0 ;
node 5 [expr 3*$L1] 0.0 ;
node 6 [expr 2*$L1] 0.0 ;
node 7 $L1 0.0 ;
node 8 0.0 0.0 ;

# First Floor
node 11 0.0 $H1 ;
node 12 $L1 $H1 ;
node 13 [expr 2*$L1] $H1 ;
node 14 [expr 3*$L1] $H1 ;
node 115 2.5 $H1 ;
node 15 [expr 3*$L1] $H1 ;
node 155 [expr 3*$L1] $H1 ;
node 16 [expr 2*$L1] $H1 ;
node 166 [expr 2*$L1] $H1 ;
node 17 $L1 $H1 ;
node 177 $L1 $H1 ;
node 18 0.0 $H1 ;
node 188 0.0 $H1 ;;
node 135 12.5 [expr 1*$H1]
#Second Floor
node 21 0.0 [expr 2*$H1] ;
node 22 $L1 [expr 2*$H1] ;
node 23 [expr 2*$L1] [expr 2*$H1] ;
node 266 [expr 2*$L1] [expr 2*$H1] ;
node 27 $L1 [expr 2*$H1] ;
node 277 $L1 [expr 2*$H1] ;
node 28 0.0 [expr 2*$H1] ;
node 288 0.0 [expr 2*$H1] ;

node 215 2.5 [expr 2*$H1]
node 225 7.5 [expr 2*$H1]
# Third Floor
node 31 0.0 [expr 3*$H1] ;
node 32 $L1 [expr 3*$H1] ;
node 377 $L1 [expr 3*$H1] ;
node 388 0.0 [expr 3*$H1] ;



# First Floor
equalDOF 188 115 1
equalDOF 188 177 1
equalDOF 188 166 1
equalDOF 188 135 1

equalDOF 188 155 1
# Second Floor
equalDOF 288 215 1
equalDOF 288 277 1
equalDOF 288 225 1
equalDOF 288 266 1

# Third Floor
equalDOF 388 377 1
## Define Constraints
fix 1 1 1 1 ;
fix 2 1 1 1 ;
fix 3 1 1 1 ;
fix 4 1 1 1 ;
#
#fix 188 0 0 1
#fix 177 0 0 1
#fix 166 0 0 1
#fix 155 0 0 1
#fix 288 0 0 1
#fix 277 0 0 1
#fix 266 0 0 1
#fix 388 0 0 1
#fix 377 0 0 1

set g 9.86 ;
#set WeightFloor3 13289.6 ;
#set WeightFloor2 26579.2 ;
#set WeightFloor1 39868.8 ;
#set Weightfloor1Bay [expr ($WeightFloor1/3.0)] ;
#set Weightfloor2Bay [expr ($WeightFloor2/2.0)] ;
#set Weightfloor3Bay $WeightFloor3 ;
#
#


set WeightFloor3 [expr (39868.8)] ;
set WeightFloor2 [expr (53865.6)] ;
set WeightFloor1 [expr (29579.2)] ;
set Weightfloor1Bay [expr ($WeightFloor1/3.0)] ;
set Weightfloor2Bay [expr ($WeightFloor2/3.0)] ;
set Weightfloor3Bay [expr ($WeightFloor3/3.0)] ;



mass 188 [expr ((($Weightfloor1Bay/$g)/2)+(3181.0+3181.0+50000)/$g)] 1.e-9 0. ;
mass 177 [expr (($Weightfloor1Bay/$g)+(3181.0+3181.0+100000/$g))] 1.e-9 0. ;
mass 166 [expr (($Weightfloor1Bay/$g)+(3181.0+3181.0+100000/$g))] 1.e-9 0. ;
mass 155 [expr ((($Weightfloor1Bay/$g)/2)+(3181.0+50000)/$g)] 1.e-9 0. ;


mass 288 [expr ((($Weightfloor2Bay/$g)/2)+(3181.0+3181.0+50000)/$g)] 1.e-9 0. ;
mass 277 [expr (($Weightfloor2Bay/$g)+(3181.0+3181.0+100000)/$g)] 1.e-9 0. ;
mass 266 [expr ((($Weightfloor2Bay/$g)/2)+(3181.0+3181.0+50000)/$g)] 1.e-9 0. ;



mass 388 [expr ((($Weightfloor3Bay/$g)/2)+(3181.0+50000)/$g)] 1.e-9 0. ;
mass 377 [expr ((($Weightfloor3Bay/$g)/2)+(3181.0+50000)/$g)] 1.e-9 0. ;

# Define Constraints
#fix 8 1 1 1 ;
#fix 7 1 1 1 ;
#fix 6 1 1 1 ;
#fix 5 1 1 1 ;
#

#rigidLink beam 11 14
# Define Material
set fc1C 266 ; # CONFINED concrete (mander model), maximum stress
set eps1C [expr 2.*$fc1C/$Ec]; # strain at maximum stress
set fc2C [expr 0.2*$fc1C]; # ultimate stress
set eps2C [expr 5*$eps1C]; # strain at ultimate stress
# unconfined concrete
set fc1U 20e6; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.003; # strain at maximum strength of unconfined concrete
set fc2U [expr 0.2*$fc1U]; # ultimate stress
set eps2U -0.01; # strain at ultimate stress
set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec
# tensile-strength properties
set ftC [expr -0.14*$fc1C]; # tensile strength +tension
set ftU [expr -0.14*$fc1U]; # tensile strength +tension
set Ets [expr $ftU/0.002]; # tension softening stiffness

# Define Material
# n,mm
# Define Steel matTag fy fu Es Esh esh eult
uniaxialMaterial Steel02 1 500e6 2e11 0.01 15 .925 0.15
uniaxialMaterial Steel02 41 500e6 2e11 0.01 15 .925 0.15

# (Confined) matTag
uniaxialMaterial Concrete06 2 -28e6 -0.003 2.91 1 0.32 1.38e6 0.00008 0.4 0.08; # build cover concrete (confined)

uniaxialMaterial Concrete06 3 -24e6 -0.003 1.88 1 0.32 1.38e6 0.00008 0.4 0.08; # build cover concrete (unconfined)



#uniaxialMaterial Concrete02 2 $fc1C $eps1C $fc2C $eps2C $lambda $ftC $Ets;
#
#uniaxialMaterial Concrete03 3 $fc1U $eps1U $fc2U # build core concrete (confined)# build core concrete (confined)

## (Unconfined)
#uniaxialMaterial Concrete02 3 $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # build cover concrete (unconfined)
## Define Sections
#uniaxialMaterial Concrete01 2 -24.e3 -0.002 -4.8e3 -0.005
##uniaxialMaterial Concrete01 3 -28.e3 -0.0024 -5.6e3 -0.015
## Define Sections
# Columns C 30*30 18

set CoreMat 2 ;
set CoverMat 3 ;
set BarMatC 1 ;
set UpNum 3 ;
set MidNum 2 ;
set DownNum 3 ;
set space [expr (0.3-(2.0*$Cover))/2] ;

set UpA18 [expr pow(9.e-3,2)*2*asin(1)];
set UpA22 [expr pow(11.e-3,2)*2*asin(1)] ;
set DownA18 [expr pow(9.e-3,2)*2*asin(1)] ;
set DownA22 [expr pow(11.e-3,2)*2*asin(1)] ;
set MidA18 [expr pow(9.e-3,2)*2*asin(1)] ;
set MidA22 [expr pow(11.e-3,2)*2*asin(1)] ;
###### sotun
set c 0.3
set c2 [expr $c-(2*$Cover)]
set space [expr ($c-(2.0*$Cover))/2] ;

#########tip 2 tir dar tabaghe 2
set h 0.4
set h2 [expr $h-(2*$Cover)]

set b 0.3
set b2 [expr $b-(2*$Cover)]



section Fiber 303018 { ;
patch quad $CoreMat 20 20 [expr -$c2/2] [expr $c2/2] [expr -$c2/2] [expr -$c2/2] [expr $c2/2] [expr -$c2/2] [expr $c2/2] [expr $c2/2]
patch quad $CoverMat 20 6 [expr -$c/2] [expr $c2/2] [expr -$c/2] [expr -$c2/2] [expr -$c2/2] [expr -$c2/2] [expr -$c2/2] [expr $c2/2]
patch quad $CoverMat 20 6 [expr $c2/2] [expr $c2/2] [expr $c2/2] [expr -$c2/2] [expr $c/2] [expr -$c2/2] [expr $c/2] [expr $c2/2]
patch quad $CoverMat 6 20 [expr -$c/2] [expr -$c2/2] [expr -$c/2] [expr -$c/2] [expr $c/2] [expr -$c/2] [expr $c/2] [expr -$c2/2]
patch quad $CoverMat 6 20 [expr -$c/2] [expr $c/2] [expr -$c/2] [expr $c2/2] [expr $c/2] [expr $c2/2] [expr $c/2] [expr $c/2]


# MatTag BarNum BarA YStart ZStart YEnd ZEnd

layer straight $BarMatC 3 [expr pow(9e-3,2)*2*asin(1)] [expr $h2/2] [expr $b2/2] [expr $h2/2] [expr -$b2/2]
layer straight $BarMatC 3 [expr pow(9e-3,2)*2*asin(1)] [expr -$h2/2] [expr $b2/2] [expr -$h2/2] [expr -$b2/2]
layer straight $BarMatC 2 [expr pow(9e-3,2)*2*asin(1)] 0.0 [expr $b2/2] 0.0 [expr -$b2/2]
} ;

# Column C 30*30 22
section Fiber 303022 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $CoreMat 20 20 [expr -$c2/2] [expr $c2/2] [expr -$c2/2] [expr -$c2/2] [expr $c2/2] [expr -$c2/2] [expr $c2/2] [expr $c2/2]
patch quad $CoverMat 20 6 [expr -$c/2] [expr $c2/2] [expr -$c/2] [expr -$c2/2] [expr -$c2/2] [expr -$c2/2] [expr -$c2/2] [expr $c2/2]
patch quad $CoverMat 20 6 [expr $c2/2] [expr $c2/2] [expr $c2/2] [expr -$c2/2] [expr $c/2] [expr -$c2/2] [expr $c/2] [expr $c2/2]
patch quad $CoverMat 6 20 [expr -$c/2] [expr -$c2/2] [expr -$c/2] [expr -$c/2] [expr $c/2] [expr -$c/2] [expr $c/2] [expr -$c2/2]
patch quad $CoverMat 6 20 [expr -$c/2] [expr $c/2] [expr -$c/2] [expr $c2/2] [expr $c/2] [expr $c2/2] [expr $c/2] [expr $c/2]




# MatTag BarNum BarA YStart ZStart YEnd ZEnd

layer straight $BarMatC 3 [expr pow(11e-3,2)*2*asin(1)] [expr $h2/2] [expr $b2/2] [expr $h2/2] [expr -$b2/2]
layer straight $BarMatC 3 [expr pow(11e-3,2)*2*asin(1)] [expr -$h2/2] [expr $b2/2] [expr -$h2/2] [expr -$b2/2]
layer straight $BarMatC 2 [expr pow(11e-3,2)*2*asin(1)] 0.0 [expr $b2/2] 0.0 [expr -$b2/2]
} ;
puts "ahmad"
#Beam B30/40
set CoreBMat 12 ;
set BarMatB 41 ;
set BB1 0.3 ;
set D1 0.40 ;
set BB2 [expr $BB1/2] ;
set D2 [expr $D1/2] ;
set D3 [expr ($D1/2)-$Cover] ;
set BB3 [expr ($BB1/2)-$Cover] ;
set fcb [expr 1.3*$fc] ;
set eps1b [expr 2.*$fcb/$Ec];
set fc2b [expr 0.2*$fcb] ;
set eps2b [expr 5*$eps1b] ;
set BarAB [expr pow(8.e-3,2)*2*asin(1)] ;
uniaxialMaterial Concrete06 12 28e6 -0.0038 1.88 1 0.32 1.38e6 0.00008 0.4 0.08 ; # build core concrete (confined)

section Fiber 30405 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $CoreBMat 20 20 [expr -$h2/2] [expr $b2/2] [expr -$h2/2] [expr -$b2/2] [expr $h2/2] [expr -$b2/2] [expr $h2/2] [expr $b2/2]
patch quad $CoverMat 20 6 [expr -$h/2] [expr $b2/2] [expr -$h/2] [expr -$b2/2] [expr -$h2/2] [expr -$b2/2] [expr -$h2/2] [expr $b2/2]
patch quad $CoverMat 20 6 [expr $h2/2] [expr $b2/2] [expr $h2/2] [expr -$b2/2] [expr $h/2] [expr -$b2/2] [expr $h/2] [expr $b2/2]
patch quad $CoverMat 6 20 [expr -$h/2] [expr -$b2/2] [expr -$h/2] [expr -$b/2] [expr $h/2] [expr -$b/2] [expr $h/2] [expr -$b2/2]
patch quad $CoverMat 6 20 [expr -$h/2] [expr $b/2] [expr -$h/2] [expr $b2/2] [expr $h/2] [expr $b2/2] [expr $h/2] [expr $b/2]

layer straight $BarMatC 5 [expr pow(8e-3,2)*2*asin(1)] [expr $b2/2] [expr $h2/2] [expr $h2/2] [expr -$b2/2]
layer straight $BarMatC 3 [expr pow(8e-3,2)*2*asin(1)] [expr $b2/2] [expr -$h2/2] [expr -$h2/2] [expr -$b2/2]
};
section Fiber 30406 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $CoreBMat 20 20 [expr -$h2/2] [expr $b2/2] [expr -$h2/2] [expr -$b2/2] [expr $h2/2] [expr -$b2/2] [expr $h2/2] [expr $b2/2]
patch quad $CoverMat 20 6 [expr -$h/2] [expr $b2/2] [expr -$h/2] [expr -$b2/2] [expr -$h2/2] [expr -$b2/2] [expr -$h2/2] [expr $b2/2]
patch quad $CoverMat 20 6 [expr $h2/2] [expr $b2/2] [expr $h2/2] [expr -$b2/2] [expr $h/2] [expr -$b2/2] [expr $h/2] [expr $b2/2]
patch quad $CoverMat 6 20 [expr -$h/2] [expr -$b2/2] [expr -$h/2] [expr -$b/2] [expr $h/2] [expr -$b/2] [expr $h/2] [expr -$b2/2]
patch quad $CoverMat 6 20 [expr -$h/2] [expr $b/2] [expr -$h/2] [expr $b2/2] [expr $h/2] [expr $b2/2] [expr $h/2] [expr $b/2]

layer straight $BarMatC 6 [expr pow(8e-3,2)*2*asin(1)] [expr $b2/2] [expr $h2/2] [expr $h2/2] [expr -$b2/2]
layer straight $BarMatC 3 [expr pow(8e-3,2)*2*asin(1)] [expr $b2/2] [expr -$h2/2] [expr -$h2/2] [expr -$b2/2]


};
set Load [expr ($DL+$LL)] ;

puts "ahmad"
# Define Transformation
geomTransf Corotational 1 ;
geomTransf Corotational 2 ;
# Define Elements
# Columns mass
#set massCol [expr (0.30*0.30*$mConc)] ;
## Beam mass
#set massB [expr ((0.30*0.40*$mConc)+$Load)] ;
#puts "ahmad"
#

#
# Define Hyesteretic Material for SPRING
# Column 303018
# Column 303018
# Column 303018
set My_Col3030183 96864 ;# yield moment of the columns
set Mu_Col3030183 116667 ; # ultimate moment of the columns
set K_slip3030183 23921004.5 ;
#set K_slip3030183 33454545.5 ;
#

set THy_Col3030183 [expr $My_Col3030183/$K_slip3030183]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col3030183 0.038196; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column 303022
set My_Col3030223 139969 ;# yield moment of the columns
set Mu_Col3030223 164410 ; # ultimate moment of the columns
set K_slip3030223 28279400.28 ;
set THy_Col3030223 [expr $My_Col3030223/$K_slip3030223]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col3030223 0.033119; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column 353518
set My_Col3535183 122699 ;# yield moment of the columns
set Mu_Col3535183 153105 ; # ultimate moment of the columns
set K_slip3535183 42769567.3 ;
set THy_Col3535183 [expr $My_Col3535183/$K_slip3535183]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col3535183 0.044711; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column353522
set My_Col3535223 176845 ;# yield moment of the columns
set Mu_Col3535223 213338 ; # ultimate moment of the columns
set K_slip3535223 45852397.1 ;
set THy_Col3535223 [expr $My_Col3535223/$K_slip3535223]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col3535223 0.035585; # ultimate chord rotation for columns (EC8)
# Column404018
set My_Col4040183 150963 ;# yield moment of the columns
set Mu_Col4040183 191825 ; # ultimate moment of the columns
set K_slip4040183 60142992.8 ;
set THy_Col4040183 [expr $My_Col4040183/$K_slip4040183]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col4040183 0.047679; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column404022

set My_Col4040223 211982 ;# yield moment of the columns
set Mu_Col4040223 266493 ; # ultimate moment of the columns
set K_slip4040223 69097658 ;
set THy_Col4040223 0.003068; # yield chord rotation for columns of the 1st floor in rad
set THu_Col4040223 0.035575; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column4040184
set My_Col4040184 150963 ;# yield moment of the columns
set Mu_Col4040184 191825 ; # ultimate moment of the columns
set K_slip4040184 57263162 ;
set THy_Col4040184 0.002636; # yield chord rotation for columns of the 1st floor in rad
set THu_Col4040184 0.05581; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
# Column4040224
set My_Col4040224 211982 ;# yield moment of the columns
set Mu_Col4040224 266493 ; # ultimate moment of the columns
set K_slip4040224 65789050.4 ;
set THy_Col4040224 [expr $My_Col4040224/$K_slip4040224]; # yield chord rotation for columns of the 1st floor in rad
set THu_Col4040224 0.040858; # ultimate chord rotation for columns of the 1st floor in rad (EC8)
##########################################
##Beam
set My_Beam304055 93621 ;# yield moment of the columns
set Mu_Beam304055 129558 ; # ultimate moment of the columns
set K_slipBeam304055 436030898.3 ;

#set K_slipBeam304055 [expr 0.35*645150000] ;


set THy_Beam304055 [expr $My_Beam304055/$K_slipBeam304055]; # yield chord rotation for columns of the 1st floor in rad
set THu_Beam304055 0.089954; # ultimate chord rotation for columns of the 1st floor in rad (EC8)







# Define Material
set Beta 0.0 ;
# Column303018
uniaxialMaterial Hysteretic 18 $My_Col3030183 $THy_Col3030183 $Mu_Col3030183 $THu_Col3030183 [expr $My_Col3030183*(-1)] [expr $THy_Col3030183*(-1)] [expr $Mu_Col3030183*(-1)] [expr $THu_Col3030183*(-1)] 1 1 0 0 $Beta ;
#Column303022
puts "ahmad"
uniaxialMaterial Hysteretic 22 $My_Col3030223 $THy_Col3030223 $Mu_Col3030223 $THu_Col3030223 [expr $My_Col3030223*(-1)] [expr $THy_Col3030223*(-1)] [expr $Mu_Col3030223*(-1)] [expr $THu_Col3030223*(-1)] 1 1 0 0 $Beta ;
puts "ahmad"

###########BEAM
uniaxialMaterial Hysteretic 30 $My_Beam304055 $THy_Beam304055 $Mu_Beam304055 $THu_Beam304055 [expr $My_Beam304055*(-1)] [expr $THy_Beam304055*(-1)] [expr $Mu_Beam304055*(-1)] [expr $THu_Beam304055*(-1)] 1 1 0 0 $Beta ;

#source "Spring Material.tcl"

puts "ahmad"


#
#
#
#
# Define Elements

# Columns
# First Floor

# Tag iNode jNode np SecTag TransT Mass
element nonlinearBeamColumn 1 8 11 5 303018 1 ;
element nonlinearBeamColumn 2 7 12 5 303022 1 ;
element nonlinearBeamColumn 3 6 13 5 303022 1 ;
element nonlinearBeamColumn 4 5 14 5 303018 1 ;
# Second Floor
# Tag iNode jNode np SecTag TransT Mass
element nonlinearBeamColumn 6 18 21 5 303018 1 ;
element nonlinearBeamColumn 7 17 22 5 303022 1 ;
element nonlinearBeamColumn 8 16 23 5 303022 1 ;
# Third Floor Tag iNode jNode np SecTag TransT Mass
element nonlinearBeamColumn 11 28 31 5 303018 1 ;
element nonlinearBeamColumn 12 27 32 5 303022 1 ;


# Beams
# First Floor
# Tag iNode jNode np SecT TransT Mass
element nonlinearBeamColumn 101 188 115 5 30405 2 ;
element nonlinearBeamColumn 102 115 177 5 30406 2 ;
element nonlinearBeamColumn 104 177 166 5 30406 2 ;
element nonlinearBeamColumn 105 166 135 5 30406 2 ;
element nonlinearBeamColumn 106 135 155 5 30405 2 ;
# Second Floor
# Tag iNode jNode np SecT TransT Mass
element nonlinearBeamColumn 201 288 215 5 30405 2
element nonlinearBeamColumn 202 215 277 5 30406 2 ;
element nonlinearBeamColumn 203 277 225 5 30406 2 ;
element nonlinearBeamColumn 204 225 266 5 30405 2 ;
#
## Third Floor
## Tag iNode jNode np SecT TransT Mass
element nonlinearBeamColumn 301 388 377 5 30405 2 ;
#



#Define Element ZeroLength for Rotational Springs For Columns
#First Floor
#Down
element zeroLength 21 1 8 -mat 41 -dir 6
element zeroLength 22 2 7 -mat 41 -dir 6
element zeroLength 23 3 6 -mat 41 -dir 6
element zeroLength 24 4 5 -mat 41 -dir 6
## UP
element zeroLength 25 188 11 -mat 41 -dir 6
element zeroLength 26 177 12 -mat 41 -dir 6
element zeroLength 27 166 13 -mat 41 -dir 6
element zeroLength 28 155 14 -mat 41 -dir 6
# Second Floor
# Down
element zeroLength 29 188 18 -mat 41 -dir 6
element zeroLength 30 177 17 -mat 41 -dir 6
element zeroLength 31 166 16 -mat 41 -dir 6
# UP
element zeroLength 32 288 21 -mat 41 -dir 6
element zeroLength 33 277 22 -mat 41 -dir 6
element zeroLength 34 266 23 -mat 41 -dir 6
# Third Floor
# Down
element zeroLength 15 288 28 -mat 41 -dir 6
element zeroLength 16 277 27 -mat 41 -dir 6

# UP
element zeroLength 17 388 31 -mat 41 -dir 6
element zeroLength 18 377 32 -mat 41 -dir 6

##################################################################




## First Floor
equalDOF 1 8 1 2
equalDOF 2 7 1 2
equalDOF 3 6 1 2
equalDOF 4 5 1 2
equalDOF 188 11 1 2
equalDOF 177 12 1 2
equalDOF 166 13 1 2
equalDOF 155 14 1 2
#Second Floor
equalDOF 188 18 1 2
equalDOF 177 17 1 2
equalDOF 166 16 1 2
equalDOF 288 21 1 2
equalDOF 277 22 1 2
equalDOF 266 23 1 2
#Third Floor
equalDOF 288 28 1 2
equalDOF 277 27 1 2
equalDOF 388 31 1 2
equalDOF 377 32 1 2
#
#
###########################################################3


#
#
##################

puts "end of define"
## Gravity-analysis: load-controlled static analysis

#set Load [expr ($DL+$LL)] ;
#pattern Plain 6 Linear { ;
#eleLoad -ele 101 102 -type beamUniform -$Load
#eleLoad -ele 201 202 -type beamUniform -$Load
#eleLoad -ele 301 -type beamUniforn -$Load
#};
puts "End of Define Loads"


#Define Loads
# Define Eigen Parameters
set a [eigen 6] ;
set W11 [lindex $a 0] ;
set W22 [lindex $a 1] ;
set W33 [lindex $a 2] ;
set W44 [lindex $a 3] ;
set W55 [lindex $a 4] ;
set W66 [lindex $a 5] ;
set W1 [expr pow($W11,0.5)] ;
set W2 [expr pow($W22,0.5)] ;
set W3 [expr pow($W33,0.5)] ;
set W4 [expr pow($W44,0.5)] ;
set W5 [expr pow($W55,0.5)] ;
set W6 [expr pow($W66,0.5)] ;
set T1 [expr 2.0*$pi/$W1] ;
set T2 [expr 2.0*$pi/$W2] ;
set T3 [expr 2.0*$pi/$W3] ;
set T4 [expr 2.0*$pi/$W4] ;
set T5 [expr 2.0*$pi/$W5] ;
set T6 [expr 2.0*$pi/$W6] ;
#
puts "*************"
puts "W1=$W1 Rad/Sec"
puts "T1=$T1 Sec"
puts "*************"
puts "W2=$W2 Rad/Sec"
puts "T2=$T2 Sec"
puts "*************"
puts "W3=$W3 Rad/Sec"
puts "T3=$T3 Sec"
puts "*************"
puts "W4=$W4 Rad/Sec"
puts "T4=$T4 Sec"
puts "*************"
puts "W5=$W5 Rad/Sec"
puts "T5=$T5 Sec"
puts "*************"
puts "W6=$W6 Rad/Sec"
puts "T6=$T6 Sec"
puts "*************"
##set Load [expr (10000)] ;
#

#


#numberer RCM
#set alphaM 1
#set alphaS 1
#constraints Penalty $alphaS $alphaM
#system BandGeneral
#integrator ArcLength 2.0 0.2;
#test EnergyIncr $Tol 600;
#
#algorithm Newton
#test NormDispIncr 1e-3 10000
#analysis Static
#analyze 100
#
#set alphaM 1
#set alphaS 1
#
# #Static Analysis
#constraints Penalty 1 1
#numberer RCM
#system BandGeneral
#test EnergyIncr 1.e-6 10
#algorithm Newton
#integrator LoadControl 0.1;
##integrator DisplacementControl 4 1 0.00025
#analysis Static
#analyze 100
##
#
anitaa
Posts: 13
Joined: Fri Apr 10, 2020 10:52 pm

Re: Problem with zerolength element

Post by anitaa »

From my experience the error message you've sent is related to some form of instability with the structure (nodes not connected correctly, not enough constraints, or in my case the low torsional stiffness of the elastic elements).

Try:
1) Assigning a rigid elastic material to the translational degrees of freedom of the spring, i.e. DOF 1 and 2. I believe now only DOF 6 has been defined.

2) Putting an elastic element where you have the springs now (change the location of the second node such that there is a small length so that the elastic element will work). This way you can see if the problem is the spring definition or there is an error somewhere else in our model.
selimgunay
Posts: 916
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Problem with zerolength element

Post by selimgunay »

You can try adding equalDOF for all DOF of the zerolength element to see if the problem is related to your rotational springs.
ahmadbsr
Posts: 29
Joined: Thu Feb 28, 2019 5:43 am
Location: shahid chamran

Re: Problem with zerolength element

Post by ahmadbsr »

selimgunay wrote:
> You can try adding equalDOF for all DOF of the zerolength element to see if
> the problem is related to your rotational springs.
yes I have done what you told me ,when I restrained the DOFs that I defined the rotational springs at this node the error Disappeared, but I Can not find my problem.
I Will be thankful if you could help me
ahmadbsr
Posts: 29
Joined: Thu Feb 28, 2019 5:43 am
Location: shahid chamran

Re: Problem with zerolength element

Post by ahmadbsr »

selimgunay wrote:
> You can try adding equalDOF for all DOF of the zerolength element to see if
> the problem is related to your rotational springs.
my period became too low like 4.68e-154, can you give me some advice?
ahmadbsr
Posts: 29
Joined: Thu Feb 28, 2019 5:43 am
Location: shahid chamran

Re: Problem with zerolength element

Post by ahmadbsr »

anitaa wrote:
> From my experience the error message you've sent is related to some form of
> instability with the structure (nodes not connected correctly, not enough
> constraints, or in my case the low torsional stiffness of the elastic
> elements).
>
> Try:
> 1) Assigning a rigid elastic material to the translational degrees of
> freedom of the spring, i.e. DOF 1 and 2. I believe now only DOF 6 has been
> defined.
>
> 2) Putting an elastic element where you have the springs now (change the
> location of the second node such that there is a small length so that the
> elastic element will work). This way you can see if the problem is the
> spring definition or there is an error somewhere else in our model.
thank you for it ,
my period became too low like 4.68e-154, can you give me some advice?
Post Reply