Friction damper cyclic loading

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

Moderators: silvia, selimgunay, Moderators

vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Friction damper cyclic loading

Post by vesna »

Your results are somewhat strange. In the first case it gets to displacement of -80, but in the second case for the first push up to -4 it gets only to -2. Something is wrong with your code but I do not have idea where to look for the error.
pkm
Posts: 34
Joined: Mon Aug 09, 2010 11:55 am

Re: Friction damper cyclic loading

Post by pkm »

Dear professor vesna
I have convergance problem again in my code! the problem come over when i choose big displacement for my cycle loop. in displacements shorter than 28cm there is no error but when i define 30cm or bigger one it desn't turn back when loading direction changes, as it was in my previous code and you solved it. I even choose small steps for having convergence but it doesn't work! as you see i have define 32e-4 cm for each step and 30000steps for each direction.
here is my part of my code for cyclic loading, if it is necessary i'll post you my whole script.

pattern Plain 2 Linear {
load 3 1.0 0.0 0.0 0;
}

# Set up analysis parameters
constraints Transformation ;
numberer RCM ;
system BandGeneral ;
test EnergyIncr 1e-6 25 0 ;
algorithm Newton ;

set controlnode 3
set loaddirection 1
set currentDisp 0.0


foreach Dincr { 16e-4 -32e-4 16e-4} {
integrator DisplacementControl $controlnode $loaddirection $Dincr
analysis Static
set nSteps 30000
if { $Dincr > 0 } {
set Dmax [expr $Dincr*$nSteps]
set ok 0
while {$ok == 0 && $currentDisp < $Dmax} {
set ok [analyze 1]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr 1.0e-6 2000 0
algorithm Newton -initial
set ok [analyze 1]
test NormDispIncr 1.0e-6 6 2
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
}
set currentDisp [nodeDisp $controlnode $loaddirection]
}
} elseif { $Dincr < 0 } {
set Dmax [expr $Dincr*$nSteps/2]
set ok 0
while {$ok == 0 && $currentDisp > $Dmax} {
set ok [analyze 1]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr 1.0e-6 2000 0
algorithm Newton -initial
set ok [analyze 1]
test NormDispIncr 1.0e-6 6 2
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
}
set currentDisp [nodeDisp $controlnode $loaddirection]
}
}

puts "$Dincr Is Done"
}


Thank you for your great helps.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Friction damper cyclic loading

Post by vesna »

At what step of analysis (out of 30000) does it fail?

Would you post messages you get at the moment the code stops?
pkm
Posts: 34
Joined: Mon Aug 09, 2010 11:55 am

Re: Friction damper cyclic loading

Post by pkm »

for reducing time of analysis i changed steps to 10000steps as following :

# Set up analysis parameters
constraints Transformation ;
numberer RCM ;
system BandGeneral ;
test EnergyIncr 1e-6 25 0 ;
algorithm Newton ;

set controlnode 3
set loaddirection 1
set currentDisp 0.0


foreach Dincr { 48e-4 -96e-4 48e-4} {
integrator DisplacementControl $controlnode $loaddirection $Dincr
analysis Static
set nSteps 10000
if { $Dincr > 0 } {
set Dmax [expr $Dincr*$nSteps]
set ok 0
while {$ok == 0 && $currentDisp < $Dmax} {
set ok [analyze 1]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr 1.0e-6 2000 0
algorithm Newton -initial
set ok [analyze 1]
test NormDispIncr 1.0e-6 6 2
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
}
set currentDisp [nodeDisp $controlnode $loaddirection]
}
} elseif { $Dincr < 0 } {
set Dmax [expr $Dincr*$nSteps/2]
set ok 0
while {$ok == 0 && $currentDisp > $Dmax} {
set ok [analyze 1]
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr 1.0e-6 2000 0
algorithm Newton -initial
set ok [analyze 1]
test NormDispIncr 1.0e-6 6 2
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
}
set currentDisp [nodeDisp $controlnode $loaddirection]
}
}

puts "$Dincr Is Done"
}


after 10000steps is done there is following massages :

48e-4 Is Done
WARNING: CTestNormDispIncr::test() - failed to converge
after: 6 iterations
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 20875.6
OpenSees > analyze failed, returned: -3 error flag
Trying Newton with Initial Tangent ..
WARNING: CTestNormDispIncr::test() - failed to converge
after: 2000 iterations
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 26109.5
OpenSees > analyze failed, returned: -3 error flag
Trying Broyden ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 7262(dW: << 0.00602798)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 7262(dW: << 0.00378312)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNING Broyden::solveCurrentStep() -the Integrator failed in update()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 23511.7
OpenSees > analyze failed, returned: -3 error flag
Trying NewtonWithLineSearch ..
CTestNormDispIncr::test() - iteration: 6 current Norm: 0 (max: 1e-006, Norm delt
aR: 1.07806e+006)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 79687.3)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNING NewtonRaphson::solveCurrentStep() -the Integrator failed in update()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 5606.84
OpenSees > analyze failed, returned: -3 error flag
Trying Newton with Initial Tangent ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 15448.4)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNING NewtonRaphson::solveCurrentStep() -the Integrator failed in update()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 5612.31
OpenSees > analyze failed, returned: -3 error flag
Trying Broyden ..
WARNING: CTestNormDispIncr::test() - failed to converge
after: 10 iterations
WARNING: CTestNormDispIncr::test() - failed to converge
after: 10 iterations
WARNING: CTestNormDispIncr::test() - failed to converge
after: 10 iterations
WARNING: CTestNormDispIncr::test() - failed to converge
after: 10 iterations
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 3477.29)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNING Broyden::solveCurrentStep() -the Integrator failed in update()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor -5735.12
OpenSees > analyze failed, returned: -3 error flag
Trying NewtonWithLineSearch ..
WARNING: CTestNormDispIncr::test() - failed to converge
after: 6 iterations
NewtonLineSearch::solveCurrentStep() -the ConvergenceTest object failed in test(
)
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 26715.2
OpenSees > analyze failed, returned: -3 error flag
-96e-4 Is Done
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 386.655)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 386.655)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNING NewtonRaphson::solveCurrentStep() -the Integrator failed in update()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 20870.1
OpenSees > analyze failed, returned: -3 error flag
Trying Newton with Initial Tangent ..
WARNING: CTestNormDispIncr::test() - failed to converge
after: 2000 iterations
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 21332.8
OpenSees > analyze failed, returned: -3 error flag
Trying Broyden ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 131356)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNING Broyden::solveCurrentStep() -the Integrator failed in update()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 20871.7
OpenSees > analyze failed, returned: -3 error flag
Trying NewtonWithLineSearch ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 3756.9)
Domain::update - domain failed in update
DisplacementControl::update - model failed to update for new dU
WARNInG InitialInterpolatedLineSearch::search() -the Integrator failed in update
()
CTestNormDispIncr::test() - iteration: 5 current Norm: 0 (max: 1e-006, Norm delt
aR: 559133)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 56687.1)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 56687.1)
Domain::update - domain failed in update
DisplacementControl::newStep - model failed to update for new dU
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at
load factor 20872.3
OpenSees > analyze failed, returned: -2 error flag
Trying Newton with Initial Tangent ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 77386.7)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 77386.7)
Domain::update - domain failed in update
DisplacementControl::newStep - model failed to update for new dU
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at
load factor 20872.3
OpenSees > analyze failed, returned: -2 error flag
Trying Broyden ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 77386.7)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 77386.7)
Domain::update - domain failed in update
DisplacementControl::newStep - model failed to update for new dU
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at
load factor 20872.3
OpenSees > analyze failed, returned: -2 error flag
Trying NewtonWithLineSearch ..
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 77386.7)
WARNING - ForceBeamColumn2d::update - failed to get compatible element forces &
deformations for element: 26(dW: << 77386.7)
Domain::update - domain failed in update
DisplacementControl::newStep - model failed to update for new dU
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at
load factor 20872.3
OpenSees > analyze failed, returned: -2 error flag
48e-4 Is Done
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Friction damper cyclic loading

Post by vesna »

It looks to me it does more than 10000 steps and that there is a problem with elements 26 and 7262.

Would you send me you files on my e-mail and I will take a look?
pkm
Posts: 34
Joined: Mon Aug 09, 2010 11:55 am

Re: Friction damper cyclic loading

Post by pkm »

oh, thanks very much.
i sent file to you.
Post Reply