symmetric model but asymmetric displacment!!!!

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

Moderators: silvia, selimgunay, Moderators

Post Reply
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

symmetric model but asymmetric displacment!!!!

Post by miladm2 »

HI everybody

i made a symmetric model in shape and loading. but when i run the script the displacements are asymmetric!!!!!! i dont know why this happen and how can i fix this :( :(
:(

this is my script:





wipe ;
model basic -ndm 2 -ndf 3 ;

node 1 0. 0. ;
node 2 1000. 0.;
node 3 2000. 0. ;
node 4 3000. 0. ;
node 5 4000. 0. ;
node 6 5000. 0. ;
node 7 6000. 0. ;
node 8 7000. 0. ;
node 9 8000. 0. ;
node 10 9000. 10. ;
node 11 10000. 20 ;
node 12 11000. 10. ;
node 13 12000. 0. ;
node 14 13000. 0. ;
node 15 14000. 0. ;
node 16 15000. 0. ;
node 17 16000. 0. ;
node 18 17000. 0. ;
node 19 18000. 0. ;
node 20 19000. 0. ;
node 21 20000. 0. ;


node 101 0. 0. ;
node 102 1000. 0.;
node 103 2000. 0. ;
node 104 3000. 0. ;
node 105 4000. 0. ;
node 106 5000. 0. ;
node 107 6000. 0. ;
node 108 7000. 0. ;
node 109 8000. 0. ;
node 110 9000. 10. ;
node 111 10000. 20 ;
node 112 11000. 10. ;
node 113 12000. 0. ;
node 114 13000. 0. ;
node 115 14000. 0. ;
node 116 15000. 0. ;
node 117 16000. 0. ;
node 118 17000. 0. ;
node 119 18000. 0. ;
node 120 19000. 0. ;
node 121 20000. 0. ;


fix 101 1 1 1 ;
fix 102 1 1 1 ;
fix 103 1 1 1 ;
fix 104 1 1 1 ;
fix 105 1 1 1 ;
fix 106 1 1 1 ;
fix 107 1 1 1 ;
fix 108 1 1 1 ;
fix 109 1 1 1 ;
fix 110 1 1 1 ;
fix 111 1 1 1 ;
fix 112 1 1 1 ;
fix 113 1 1 1 ;
fix 114 1 1 1 ;
fix 115 1 1 1 ;
fix 116 1 1 1 ;
fix 117 1 1 1 ;
fix 118 1 1 1 ;
fix 119 1 1 1 ;
fix 120 1 1 1 ;
fix 121 1 1 1 ;


uniaxialMaterial Steel02 1 4800. 2141400. .03 15. 0.925 0.15 ;
uniaxialMaterial ElasticPP 3 358 3.25
uniaxialMaterial ElasticPPGap 2 10000 -5800 0
uniaxialMaterial ElasticPPGap 5 5000 -2900 0



section Fiber 10 {
patch circ 1 30 4 0 0 31 32.5 0 360
} ;
geomTransf Corotational 1 ;
element dispBeamColumn 1 1 2 5 10 1 ;
element dispBeamColumn 2 2 3 5 10 1 ;
element dispBeamColumn 3 3 4 5 10 1 ;
element dispBeamColumn 4 4 5 5 10 1 ;
element dispBeamColumn 5 5 6 5 10 1 ;
element dispBeamColumn 6 6 7 5 10 1 ;
element dispBeamColumn 7 7 8 5 10 1 ;
element dispBeamColumn 8 8 9 5 10 1 ;
element dispBeamColumn 9 9 10 5 10 1 ;
element dispBeamColumn 10 10 11 5 10 1 ;
element dispBeamColumn 11 11 12 5 10 1 ;
element dispBeamColumn 12 12 13 5 10 1 ;
element dispBeamColumn 13 13 14 5 10 1 ;
element dispBeamColumn 14 14 15 5 10 1 ;
element dispBeamColumn 15 15 16 5 10 1 ;
element dispBeamColumn 16 16 17 5 10 1 ;
element dispBeamColumn 17 17 18 5 10 1 ;
element dispBeamColumn 18 18 19 5 10 1 ;
element dispBeamColumn 19 19 20 5 10 1 ;
element dispBeamColumn 20 20 21 5 10 1 ;

element zeroLength 101 101 1 -mat 5 -dir 2 ;
element zeroLength 102 102 2 -mat 2 -dir 2 ;
element zeroLength 103 103 3 -mat 2 -dir 2 ;
element zeroLength 104 104 4 -mat 2 -dir 2 ;
element zeroLength 105 105 5 -mat 2 -dir 2 ;
element zeroLength 106 106 6 -mat 2 -dir 2 ;
element zeroLength 107 107 7 -mat 2 -dir 2 ;
element zeroLength 108 108 8 -mat 2 -dir 2 ;
element zeroLength 109 109 9 -mat 2 -dir 2 ;
element zeroLength 110 110 10 -mat 2 -dir 2 ;
element zeroLength 111 111 11 -mat 2 -dir 2 ;
element zeroLength 112 112 12 -mat 2 -dir 2 ;
element zeroLength 113 113 13 -mat 2 -dir 2 ;
element zeroLength 114 114 14 -mat 2 -dir 2 ;
element zeroLength 115 115 15 -mat 2 -dir 2 ;
element zeroLength 116 116 16 -mat 2 -dir 2 ;
element zeroLength 117 117 17 -mat 2 -dir 2 ;
element zeroLength 118 118 18 -mat 2 -dir 2 ;
element zeroLength 119 119 19 -mat 2 -dir 2 ;
element zeroLength 120 120 20 -mat 2 -dir 2 ;
element zeroLength 121 121 21 -mat 5 -dir 2 ;

element zeroLength 122 102 2 -mat 3 -dir 1 ;
element zeroLength 123 103 3 -mat 3 -dir 1 ;
element zeroLength 124 104 4 -mat 3 -dir 1 ;
element zeroLength 125 105 5 -mat 3 -dir 1 ;
element zeroLength 126 106 6 -mat 3 -dir 1 ;
element zeroLength 127 107 7 -mat 3 -dir 1 ;
element zeroLength 128 108 8 -mat 3 -dir 1 ;
element zeroLength 129 109 9 -mat 3 -dir 1 ;
element zeroLength 130 110 10 -mat 3 -dir 1 ;
element zeroLength 131 111 11 -mat 3 -dir 1 ;
element zeroLength 132 112 12 -mat 3 -dir 1 ;
element zeroLength 133 113 13 -mat 3 -dir 1 ;
element zeroLength 134 114 14 -mat 3 -dir 1 ;
element zeroLength 135 115 15 -mat 3 -dir 1 ;
element zeroLength 136 116 16 -mat 3 -dir 1 ;
element zeroLength 137 117 17 -mat 3 -dir 1 ;
element zeroLength 138 118 18 -mat 3 -dir 1 ;
element zeroLength 139 119 19 -mat 3 -dir 1 ;
element zeroLength 140 120 20 -mat 3 -dir 1 ;


recorder Node -file Dis-All.out -node 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 -dof 2 disp ;
recorder Node -file react-All.out -nodeRange 101 121 -dof 2 reaction ;
recorder Node -file Dis-2.out -node 11 -dof 2 disp ;

set w1 -3875
set w2 -1937.5
pattern Plain 1 Linear {
load 1 0.0 $w2 0.0
load 2 0.0 $w1 0.0
load 3 0.0 $w1 0.0
load 4 0.0 $w1 0.0
load 5 0.0 $w1 0.0
load 6 0.0 $w1 0.0
load 7 0.0 $w1 0.0
load 8 0.0 $w1 0.0
load 9 0.0 $w1 0.0
load 10 0.0 $w1 0.0
load 11 0.0 $w1 0.0
load 12 0.0 $w1 0.0
load 13 0.0 $w1 0.0
load 14 0.0 $w1 0.0
load 15 0.0 $w1 0.0
load 16 0.0 $w1 0.0
load 17 0.0 $w1 0.0
load 18 0.0 $w1 0.0
load 19 0.0 $w1 0.0
load 20 0.0 $w1 0.0
load 21 0.0 $w2 0.0
}


constraints Plain ;
numberer Plain ;
system BandGeneral ;
test NormDispIncr 1.0e-8 6 ;
algorithm Newton ;
integrator LoadControl 0.1 ;
analysis Static ;
analyze 10 ;
loadConst -time 0.0 ;

recorder Element -file Element1-remove.out -ele 1 globalForce









pattern Plain 2 Linear {
load 1 1. 0. 0.
load 21 -1. 0. 0.

}



set crd11 0.0
set crd 0.0;
set dmax 1000;
set dincr 0.01;
set maxincr 1;
set minincr 1.0e-30;
set tol 1.0e-6;
set MNode 11;

puts "\n\n\n\n\n.......................PUSHOVER Analysis Began........................... "
puts "\n\n initial Step size: $dincr"
puts " initial Telorance:$tol"
puts "\n.........................................................................\n"

for {set i 1} {$crd11<= $dmax} {incr i 1} {

test NormDispIncr $tol 100
integrator DisplacementControl $MNode 2 $dincr;
set ok [analyze $i]

#incase of Convergance:
if {$ok>=0} {
set ntry [testIter] ;
set crd11 [nodeDisp 11 2]
set crd [nodeDisp $MNode 2];
puts "*** Step:$i Try:$ntry Disp:$crd ***"


#Automatic Step Modifier (IF Conditions Approved then increase increment):
if {$ntry<=2 && $dincr<=$maxincr} {

if {$dincr<= 1.0e-9} {
set dincr [expr $dincr*20]
set tol 1e-1
}
if {$dincr<= 1.0e-6 && $dincr> 1.0e-9 } {
set dincr [expr $dincr*9]
set tol 1e-3
}
if {$dincr<= 1.0e-3 && $dincr> 1.0e-6 } {
set dincr [expr $dincr*3]
set tol 1e-5
}
if {$dincr> 1.0e-3 } {
set dincr [expr $dincr*1.5]
set tol 1e-6
}
puts "\n\n\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
puts " Increase increment Size to: $dincr"
puts " Telorance:$tol"
puts "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
}
}

###If Not Connverged:
if {$ok<0} {
set i [expr $i-1]; #Hold Analysis Step

#Automatic Step Modifier
if {$dincr<= 1.0e-9} {
set dincr [expr $dincr*0.1]
set tol 1
}
if {$dincr<= 1.0e-6 && $dincr> 1.0e-9 } {
set dincr [expr $dincr*0.15]
set tol 1e-1
}
if {$dincr<= 1.0e-3 && $dincr> 1.0e-6 } {
set dincr [expr $dincr*0.3]
set tol 1e-2
}
if {$dincr> 1.0e-3 } {
set dincr [expr $dincr*0.5]
set tol 1e-4
}
#if increment is lower than minimum Increment Exit
if {$dincr< $minincr } {
exit
}

puts "\n\n\n\n\n------------------------------------------------------------------------"
puts " Step:$i"
puts " Step size reduced to : $dincr"
puts " Telorance:$tol"
puts " Roof Displacement:$crd"
puts "------------------------------------------------------------------------\n"

}
}











and the displacement for step 420 ( when the script failed in converge)
-0.405823 -1.28104 0.00617382 6.68376 9.0234 -8.43302 -40.9659 -50.7855 -31.2565 -0.299283 14.9153 -1.32796 -35.6664 -55.0896 -38.3236 -0.879309 7.66938 2.71146 -0.37878 -0.541874 -0.355328
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

Re: symmetric model but asymmetric displacment!!!!

Post by miladm2 »

Hi again

can anybody fix this problem??:(

i really need a help :(
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: symmetric model but asymmetric displacment!!!!

Post by vesna »

What is the output that you are showing me? I see 22 values, but none of your recorders records 22 different outputs.

You are applying force which is asymmetric.

Your model is too big to check for errors. If you want someone to look at your model it should not have more than 5 elements and you are supposed to describe it well. This way we can know if your model is consistent whit what you are trying to model.
miladm2
Posts: 19
Joined: Fri May 25, 2012 12:12 am
Location: K.N.Toosi

Re: symmetric model but asymmetric displacment!!!!

Post by miladm2 »

hi vesna

the output contain 21 values and these values are displacement for each node in last step.
these are my loads and these loads are symmetric:

set w1 -3875
set w2 -1937.5
pattern Plain 1 Linear {
load 1 0.0 $w2 0.0
load 2 0.0 $w1 0.0
load 3 0.0 $w1 0.0
load 4 0.0 $w1 0.0
load 5 0.0 $w1 0.0
load 6 0.0 $w1 0.0
load 7 0.0 $w1 0.0
load 8 0.0 $w1 0.0
load 9 0.0 $w1 0.0
load 10 0.0 $w1 0.0
load 11 0.0 $w1 0.0
load 12 0.0 $w1 0.0
load 13 0.0 $w1 0.0
load 14 0.0 $w1 0.0
load 15 0.0 $w1 0.0
load 16 0.0 $w1 0.0
load 17 0.0 $w1 0.0
load 18 0.0 $w1 0.0
load 19 0.0 $w1 0.0
load 20 0.0 $w1 0.0
load 21 0.0 $w2 0.0
}



pattern Plain 2 Linear {
load 1 1. 0. 0.
load 21 -1. 0. 0.
}

and my model is a pipe with initial imperfection in mid node. and each node connect to 2 springs ( with Elastoplast material ) . one in direction 1 for soil uplift resistance and another in direction 2 for soil friction. the model contain 20 elements.

when i reduce the soil uplift resistance, the script converge successfully and the displacements for nodes are symmetric, but when i try a higher resistance the displacements will be asymmetric, like this one!!!
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: symmetric model but asymmetric displacment!!!!

Post by vesna »

I see that you reduce the tolerance up to 1 if you have convergence problems. To get the exact solution I would not go with a tolerance bigger than 1e-6.

I guess that for the small resistance of the spring you do not encounter convergence problems and that is why you get exact solution. For the high resistance of the spring, you probably get convergence problems which you are trying to overcome by reducing the tolerance (which is not the right way). As a consequence you have a result which is "garbage".

Another thing I noticed is that you use EPP material. For the solver BandGeneral to work I would replace it with Steel01 and assign very small strain-hardening ratio to it (e.g., 1e-10).
Post Reply