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]
}
element removing from analysis
Moderators: silvia, selimgunay, Moderators
-
- Posts: 23
- Joined: Tue Nov 09, 2010 1:37 pm
- Location: Istanbul Technical University
-
- Posts: 112
- Joined: Thu Jun 27, 2013 11:45 am
- Location: Seattle, WA
Re: element removing from analysis
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
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
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
-
- Posts: 23
- Joined: Tue Nov 09, 2010 1:37 pm
- Location: Istanbul Technical University