element removing from analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
cvatansever
Posts: 23
Joined: Tue Nov 09, 2010 1:37 pm
Location: Istanbul Technical University

element removing from analysis

Post by cvatansever »

Dear All,

I am using the following proc script in pushover analysis to remove two elements at the same time depending on the failure criteria. But, I took the message of "analyze failed, returned: -2 error flag".

Any idea on whether I correctly use the proc script of checkAndRemove and pushover proc

Thanks in advance.

CV

recorder Element -file DBraceS1.out -ele $braceEleTag1 section 1 force;

proc checkAndRemove {braceEleTag1 braceEleTag2 failCriteria} {
set res [eleResponse $braceEleTag1 force]
if {$res > $failCriteria} {
remove element $braceEleTag1
remove element $braceEleTag2
}
}

# --------------------------------- perform Static Pushover Analysis
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
for {set i 1} {$i < $Nsteps} {incr i 1} {
analyze 1
checkAndRemove 116 117 12e11
}
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
set fmt1 "%s Pushover analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis
if {$ok != 0} {
# if analysis fails, we try some other stuff, performance is slower inside this loop
set Dstep 0.0;
set ok 0
while {$Dstep <= 1.0 && $ok == 0} {
set controlDisp [nodeDisp $IDctrlNode $IDctrlDOF ]
set Dstep [expr $controlDisp/$Dmax]
set ok [analyze 1]
checkAndRemove 116 117 12e11
# if analysis fails, we try some other stuff
# performance is slower inside this loop global maxNumIterStatic; # max no. of iterations performed before "failure to converge" is ret'd
if {$ok != 0} {
puts "Trying Newton with Initial Tangent .."
test NormDispIncr $Tol 200 0
algorithm Newton -initial
set ok [analyze 1]
checkAndRemove 116 117 12e11
test $testTypeStatic $TolStatic $maxNumIterConvergeStatic 0
algorithm $algorithmTypeStatic
}
if {$ok != 0} {
puts "Trying Broyden .."
algorithm Broyden 8
set ok [analyze 1]
checkAndRemove 116 117 12e11
algorithm $algorithmTypeStatic
}
if {$ok != 0} {
puts "Trying NewtonWithLineSearch .."
algorithm NewtonLineSearch 0.8
set ok [analyze 1]
checkAndRemove 116 117 12e11
algorithm $algorithmTypeStatic
}

}; # end while loop
}; # end if ok !0

# -----------------------------------------------------------------------------------------------------
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
} else {
puts [format $fmt1 "DONE" $IDctrlNode $IDctrlDOF [nodeDisp $IDctrlNode $IDctrlDOF] $LunitTXT]
}
Cuneyt
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: element removing from analysis

Post by skamalzare »

Hi,

When you remove an element/node, you need to remove it and its connections (if used, e.g. interface elements) from recorder too. This should happen before performing any subsequent analyses. Note that the tags for recorders start from 0, then 1, 2, 3, ...

For an example, please check: http://opensees.berkeley.edu/wiki/index ... _Pile_Wall
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
cvatansever
Posts: 23
Joined: Tue Nov 09, 2010 1:37 pm
Location: Istanbul Technical University

Re: element removing from analysis

Post by cvatansever »

Hi,

Thank you so much for your reply.

CV
Cuneyt
Post Reply