failed to converge

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

Moderators: silvia, selimgunay, Moderators

Post Reply
ilhanokan
Posts: 5
Joined: Wed Aug 01, 2012 12:43 pm

failed to converge

Post by ilhanokan »

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?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: failed to converge

Post by vesna »

Try adding the convergence loop as in this example: http://opensees.berkeley.edu/wiki/index ... e_Analysis
ilhanokan
Posts: 5
Joined: Wed Aug 01, 2012 12:43 pm

Re: failed to converge

Post by ilhanokan »

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.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: failed to converge

Post by vesna »

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.
Post Reply