Hi,
I am trying to model pipeline with lead caulked pipe joints. The input of my model is below, when I run my input, I got an error message below;
"
WARNING: CTestEnergyIncr::test<> - failed to converge
after: 100000 iterations
NewtnRaphson::solveCurrentStep<> - the ConvergenceTest object failed in test<>
DirectIntegrationAnalysis::analyze<> - the Algorithm failed at time 0.02
OpenSees > analyze failed, returned: -3 error flag
"
And my input
"
# OpenSees Model For Seismic Response Of Buried Segmented Cast Iron Pipeline With Lead Caulked Pipe Joints
# Define Units And Constants
set N 1;
set cm 1;
set sec 1;
set kN [expr $N*1000];
set meter [expr $cm*100];
set milimeter [expr $meter/1000];
set g [expr $meter/pow($sec,2)];
set MPa [expr $N/pow($milimeter,2)];
set kNm2 [expr $kN/pow($meter,2)];
set kNm3 [expr $kN/pow($meter,3)];
set kNs2 [expr $kN*pow($sec,2)];
set kNs2m [expr $kN/$g];
# Define The Model Builder
model BasicBuilder -ndm 2 -ndf 3
# Variables
set L [expr 3*$meter];
set A [expr 3.117e-5*$meter];
set E [expr 1.27e8*$kNm2];
set Iz [expr 0.09566*$kNs2];
# Define The Locations Of Nodes
node 1 0.0 0.0
node 2 $L 0.0
node 3 $L 0.0
node 4 [expr 2*$L] 0.0
node 5 [expr 2*$L] 0.0
node 6 [expr 3*$L] 0.0
node 7 [expr 3*$L] 0.0
node 8 [expr 4*$L] 0.0
# fix
fix 1 1 1 1
fix 2 0 0 1
fix 3 0 0 1
fix 4 0 0 1
fix 5 0 0 1
fix 6 0 0 1
fix 7 0 0 1
fix 8 1 1 1
# Assign The Mass Value To The Nodes
mass 1 [expr 0.27*$kNs2m] [expr 0.27*$kNs2m] 0.0
mass 2 [expr 0.54*$kNs2m] [expr 0.54*$kNs2m] 0.0
mass 3 [expr 0.54*$kNs2m] [expr 0.54*$kNs2m] 0.0
mass 4 [expr 0.54*$kNs2m] [expr 0.54*$kNs2m] 0.0
mass 5 [expr 0.54*$kNs2m] [expr 0.54*$kNs2m] 0.0
mass 6 [expr 0.54*$kNs2m] [expr 0.54*$kNs2m] 0.0
mass 7 [expr 0.54*$kNs2m] [expr 0.54*$kNs2m] 0.0
mass 8 [expr 0.27*$kNs2m] [expr 0.27*$kNs2m] 0.0
# Define Force - Deformation Relationship For Vertical Soil Springs
uniaxialMaterial ElasticPP 2 [expr 1017.5*$kNm2] [expr 0.008*$meter]
uniaxialMaterial ElasticPP 3 [expr -4798*$kNm2] [expr -0.015*$meter]
uniaxialMaterial Parallel 1 2 3
# Define Force - Deformation Relationship For Axial Soil Springs
uniaxialMaterial ElasticPP 4 [expr 1140*$kNm2] [expr 0.002*$meter] [expr -0.002*$meter]
# Define Force - Deformation Relationship For Lead Caulked Pipe Joints
uniaxialMaterial Steel01 5 [expr 44.06*$kN] [expr 13351515.15*$kNm2] 0.0002
# Assign The Zero - Length Elements
element zeroLength 1 2 3 -mat 1 -dir 2 # The Zero - Length Element Of Vertical Soil Spring To The Nodes 2 - 3
element zeroLength 2 2 3 -mat 4 -dir 1 # The Zero - Length Element Of Axial Soil Spring To The Nodes 2 - 3
element zeroLength 3 4 5 -mat 5 -dir 1 # The Zero - Length Element Of Lead Caulked Pipe Joint To The Nodes 4 - 5
element zeroLength 4 6 7 -mat 1 -dir 2
element zeroLength 5 6 7 -mat 4 -dir 1
# Geometric Transformation
geomTransf Linear 1
# Assign The Elastic Cast Iron Pipe Element
element elasticBeamColumn 60 1 2 $A $E $Iz 1
element elasticBeamColumn 61 3 4 $A $E $Iz 1
element elasticBeamColumn 62 5 6 $A $E $Iz 1
element elasticBeamColumn 63 7 8 $A $E $Iz 1
# Say Model Built - - - - - - - - - - - - - - - - - - - - -
puts "! ! ! The Model Is Built ! ! !"
recorder Node -file osman.out -time -node 2 -dof 1 disp
# Transient (Dynamic) Analysis
timeSeries Path 2 -dt 0.02 -filePath ElCentro.txt -factor $g; # define acceleration vector from file (dt=0.005 is associated with the input file gm)
pattern UniformExcitation 2 2 -accel 2; # define where and how (pattern tag, dof) acceleration is applied
# set damping based on first eigen mode
set freq [expr [eigen -fullGenLapack 1]**0.5]
set dampRatio 0.02
rayleigh 0. 0. 0. [expr 2*$dampRatio/$freq]
# display displacement shape of the column
recorder display "Displaced shape" 10 10 500 500 -wipe
prp 200. 50. 1;
vup 0 1 0;
vpn 0 0 1;
display 1 5 40
puts "Window is created for viewing the displaced shape of pipeline"
# create the analysis
constraints Plain; # how it handles boundary conditions
numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis
test EnergyIncr 1.e-2 100000 0
algorithm Newton # use Linear algorithm for linear analysis
integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
analysis Transient; # define type of analysis: time-dependent
analyze 1560 0.02; # apply 1560 0.02-sec time steps in analysis
puts "Analysis is done"
"
How can I solve this problem?
failed to converge
Moderators: silvia, selimgunay, Moderators
Re: failed to converge
Try adding the convergence loop as in this example: http://opensees.berkeley.edu/wiki/index ... e_Analysis
Re: failed to converge
Dear Vesna,
Thank you for your reply. Although I added the convergence loop presented in web site, I got same message for each solution algorithm. Also, are the displacement time histories given after analysis in meter unit? or inch? because the recorder object defined for obtaining displacement time history of a certain node doesn' t enable me to identify the unit for output.
Thank you for your reply. Although I added the convergence loop presented in web site, I got same message for each solution algorithm. Also, are the displacement time histories given after analysis in meter unit? or inch? because the recorder object defined for obtaining displacement time history of a certain node doesn' t enable me to identify the unit for output.
Re: failed to converge
Why don't you try to do eigen analysis to check if your model is ok. If eigen does not go through than there is something wrong with your model.
OpenSees is unitless. Whatever you used as a basic set of units for your input, will be assigned to your output as well.
OpenSees is unitless. Whatever you used as a basic set of units for your input, will be assigned to your output as well.