to silvia

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

Moderators: silvia, selimgunay, Moderators

Post Reply
cvjchuang
Posts: 24
Joined: Fri Feb 27, 2009 12:53 am
Location: South China University of Techonology
Contact:

to silvia

Post by cvjchuang »

Dear silvia
now ,I am modeling a bay prestress RC beam using truss element with initial strain to modeling prestress steel.In my model,the prestress steel shape is curve,and i used rigidLink command to couple 6 degree fo freedom between RC beam node and prestress steel node ,accordingly.
firstly ,i would like to ask you that whether my method for modeling prestress is right?
secondly ,if it is right. then ,my model does not convergence.(my code is following)
please ,can you help me to deal with the problem.
this problem is very important for my master thesis.
thank you very much
best regards
#Purpose: A Bay Prestessed Concrete Beam By Using Opensees Is Simulated
#Reinforced Concrete Beam Is Modeld Using Nonlinear Beam-Column Element
#,And Prestressed Rebar Is Modeled As Truss Element With Initial Strain By Using Steel02 Material
#Writer:Dennis
#Date:21.March.2009
#Location:South China University Of Technolgy.Guangzhou.China
#Major:Structural Engineering
#--------------Code SET UP-------------------------------------------------------------------
#basic units:mm,sec ,N,Mpa ,N/mm
wipe;
file mkdir PreStress
model basic -ndm 2 -ndf 3
#nodal coordinates
#RC Beam node
#Tag x y
node 1 0 0
node 2 316.5 0
node 3 633 0
node 4 949.5 0
node 5 1266 0
node 6 1582.75 0
node 7 1899.5 0
node 8 2216.25 0
node 9 2533 0
node 10 2849.75 0
node 11 3166.5 0
node 12 3483.25 0
node 13 3800 0
node 14 4116.75 0
node 15 4433.5 0
node 16 4750.25 0
node 17 5067 0
node 18 5383.75 0
node 19 5700.5 0
node 20 6017.25 0
node 21 6334 0
node 22 6650.5 0
node 23 6967 0
node 24 7283.5 0
node 25 7600 0

#prestress steel node using truss element
node 26 0 120
node 27 316.5 110
node 28 633 100
node 29 949.5 80
node 30 1266 70
node 31 1582.75 30
node 32 1899.5 0
node 33 2216.25 -15
node 34 2533 -30
node 35 2849.75 -50
node 36 3166.5 -75
node 37 3483.25 -90
node 38 3800 -100
node 39 4116.75 -90
node 40 4433.5 -75
node 41 4750.25 -50
node 42 5067 -30
node 43 5383.75 -15
node 44 5700.5 0
node 45 6017.25 30
node 46 6334 70
node 47 6650.5 80
node 48 6967 100
node 49 7283.5 110
node 50 7600 120

#node boundary conditions for beam
fix 1 1 1 0
fix 2 0 0 0
fix 3 0 0 0
fix 4 0 0 0
fix 5 0 0 0
fix 6 0 0 0
fix 7 0 0 0
fix 8 0 0 0
fix 9 0 0 0
fix 10 0 0 0
fix 11 0 0 0
fix 12 0 0 0
fix 13 0 0 0
fix 14 0 0 0
fix 15 0 0 0
fix 16 0 0 0
fix 17 0 0 0
fix 18 0 0 0
fix 19 0 0 0
fix 20 0 0 0
fix 21 0 0 0
fix 22 0 0 0
fix 23 0 0 0
fix 24 0 0 0
fix 25 1 1 1

#coupling nodal degree of freedom to aggregator truss element and beam element
#rigidLink $type $masterNodeTag $slaveNodeTag
rigidLink beam 1 26
rigidLink beam 2 27
rigidLink beam 3 28
rigidLink beam 4 29
rigidLink beam 5 30
rigidLink beam 6 31
rigidLink beam 7 32
rigidLink beam 8 33
rigidLink beam 9 34
rigidLink beam 10 35
rigidLink beam 11 36
rigidLink beam 12 37
rigidLink beam 13 38
rigidLink beam 14 39
rigidLink beam 15 40
rigidLink beam 16 41
rigidLink beam 17 42
rigidLink beam 18 43
rigidLink beam 19 44
rigidLink beam 20 45
rigidLink beam 21 46
rigidLink beam 22 47
rigidLink beam 23 48
rigidLink beam 24 49
rigidLink beam 25 50
#define concrete material
#concrete core
#uniaxialMaterial Concrete01 $matTag $fpc $epsc0 $fpcu $epsU
#uniaxialMaterial Concrete01 1 -31.6 -0.002 -6.32 -0.00444
#uniaxialMaterial Concrete01 1 -31.6 -0.002 -6.32 -0.00474
uniaxialMaterial Concrete01 1 -31.6 -0.002 -6.32 -0.01444
#cover concrete
uniaxialMaterial Concrete01 2 -31.6 -0.002 -6.32 -0.00424
#steel
#uniaxialMaterial Steel02 $matTag $Fy $E $b $R0 $cR1 $cR2 <$a1 $a2 $a3 $a4 $sigInit>
uniaxialMaterial Steel02 3 332 2.0e+5 0.005 18.5 0.925 0.15

#prestress steel with initial stress
uniaxialMaterial Steel02 4 1366 2.0e+5 0.005 18.5 0.925 0.15 0.0 1.0 0.0 1.0 350
#define fiber-based beam section
section fiberSec 1 {
patch quad 1 8 4 -140 -50 140 -50 140 50 -140 50
patch quad 2 10 1 -175 -75 175 -75 175 -50 -175 -50
patch quad 2 10 1 -175 50 175 50 175 75 -175 75
patch quad 2 1 4 -175 -50 -140 -50 -140 50 -175 50
patch quad 2 1 4 140 -50 175 -50 175 50 140 50
#layer straight $matTag $numBars $areaBar $yStart $zStart $yEnd $zEnd
layer straight 3 2 113.1 -140 -50 140 -50
layer straight 3 2 113.1 -140 50 140 50
}
#define prestress steel section
section fiberSec 2 {
fiber 0.0 0.0 235.6 4
#fiber 0.0 0.0 525 4
}
geomTransf Linear 1
#element dispBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens>
element nonlinearBeamColumn 1 1 2 3 1 1
element nonlinearBeamColumn 2 2 3 3 1 1
element nonlinearBeamColumn 3 3 4 3 1 1
element nonlinearBeamColumn 4 4 5 3 1 1
element nonlinearBeamColumn 5 5 6 3 1 1
element nonlinearBeamColumn 6 6 7 3 1 1
element nonlinearBeamColumn 7 7 8 3 1 1
element nonlinearBeamColumn 8 8 9 3 1 1
element nonlinearBeamColumn 9 9 10 3 1 1
element nonlinearBeamColumn 10 10 11 3 1 1
element nonlinearBeamColumn 11 11 12 3 1 1
element nonlinearBeamColumn 12 12 13 3 1 1
element nonlinearBeamColumn 13 13 14 3 1 1
element nonlinearBeamColumn 14 14 15 3 1 1
element nonlinearBeamColumn 15 15 16 3 1 1
element nonlinearBeamColumn 16 16 17 3 1 1
element nonlinearBeamColumn 17 17 18 3 1 1
element nonlinearBeamColumn 18 18 19 3 1 1
element nonlinearBeamColumn 19 19 20 3 1 1
element nonlinearBeamColumn 20 20 21 3 1 1
element nonlinearBeamColumn 21 21 22 3 1 1
element nonlinearBeamColumn 22 22 23 3 1 1
element nonlinearBeamColumn 23 23 24 3 1 1
element nonlinearBeamColumn 24 24 25 3 1 1
#element truss $eleTag $iNode $jNode $A $matTag
element truss 25 26 27 2
element truss 26 27 28 2
element truss 27 28 29 2
element truss 28 29 30 2
element truss 29 30 31 2
element truss 30 31 32 2
element truss 31 32 33 2
element truss 32 33 34 2
element truss 33 34 35 2
element truss 34 35 36 2
element truss 35 36 37 2
element truss 36 37 38 2
element truss 37 38 39 2
element truss 38 39 40 2
element truss 39 40 41 2
element truss 40 41 42 2
element truss 41 42 43 2
element truss 42 43 44 2
element truss 43 44 45 2
element truss 44 45 46 2
element truss 45 46 47 2
element truss 46 47 48 2
element truss 47 48 49 2
element truss 48 49 50 2
recorder Element -file PreStress/ele12Con.out -time -ele 12 section 5 fiber 0.0 0.0 1 stressStrain
recorder Element -file PreStress/ele12Bar.out -time -ele 12 section 5 fiber -140 -50 3 stressStrain
recorder Element -file PreStress/ele37.out -time -ele 37 section fiber 0.0 0.0 4 stressStrain
recorder Node -file PreStress/disp13.out -time -node 13 -dof 2 disp
recorder Node -file PreStress/node1.out -time -node 1 -dof 1 2 3 reaction
recorder Node -file PreStress/node24.out -time -node 24 -dof 1 2 3 reaction
recorder plot PreStress/disp13.out ForceDispCurve 0.0 0.0 400.0 400.0 -columns 2 1
pattern Plain 1 Constant {
#eleLoad -ele $eleTag1 <$eleTag2 ....> -type -beamUniform $Wz <$Wx>
eleLoad -ele 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 -type -beamUniform -1.31 0.0
}
constraints Transformation
numberer Plain
system SparseGeneral -piv
test EnergyIncr 1.0e-4 2000
algorithm Newton
integrator LoadControl 0
analysis Static
analyze 1
puts "Model Built"
#integrator DisplacementControl $nodeTag $dofTag $dU1 <$Jd $minDu $maxDu>
loadConst -time 0.0
pattern Plain 2 Linear {
load 9 0.0 -1.0e+3 0.0
load 17 0.0 -1.0e+3 0.0
}
integrator DisplacementControl 13 2 -0.7
set ok [analyze 100]
if {$ok != 0} {
set controlDisp [nodeDisp 13 2];
set ok 0
while {$controlDisp >=[expr -70] && $ok == 0} {
set ok [analyze 1 ]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr 1.0e-4 2000 0
algorithm Newton -initial
set ok [analyze 1]
test EnergyIncr 1.0e-4 2000
algorithm Newton
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1 ]
algorithm Newton
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
algorithm Newton
}
if {$ok !=0} {
puts "Trying KrylovNewton..........."
algorithm KrylovNewton
set ok [analyze 1]
algorithm Newton
}
if {$ok !=0} {
puts "Trying BFGS <$count>......"
algorithm BFGS 10
set ok [analyze 1]
algotithm Newton
}
}
set controlDisp [nodeDisp 13 2 ]
puts "controlDisp:$controlDisp"
}
if {$ok !=0} {
puts "PROBLEM"
} elseif {$ok ==0} {
puts "OK"
}
Dennis
Structural Engineering
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

what does your model look like?
do you have one column or beam cut into many element? that leads to numerical instabilities with the nonlinearbeamcolumn element. you need to use the disp-based element for that.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Post Reply