overwrite on a fiber section?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
alihaji12
Posts: 8
Joined: Tue Mar 22, 2011 3:24 pm
Location: university of memphis

overwrite on a fiber section?

Post by alihaji12 »

hi
i have a square RC section with circular pattern reinforcements. to construct a fiber section, it is a bit hard to define the covers (unconfined conc) using the circular core coordinates.
can i first simply define the whole section using unconfined conc and then over write the core (confined conc) on that?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: overwrite on a fiber section?

Post by vesna »

One way of creating your section would be to define circular patch for confined portion of the section and the rest you can define by using four rectangular patches and then individual fibers to fill the gap.

If you define the whole section to be unconfined and then add the core fibers they all will be there and work independently from each other.
alihaji12
Posts: 8
Joined: Tue Mar 22, 2011 3:24 pm
Location: university of memphis

Re: overwrite on a fiber section?

Post by alihaji12 »

thank you vesna,
but the problem exactly is defining the individual fibers to fill the gaps. how can i fill a gap with a curved side?
i think the only way (based on available patches) is replacing the circular core with a regular 22-sided shape (since there 22 longitudinal rebars) and then define the section using so many quad patches.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: overwrite on a fiber section?

Post by vesna »

For portion of cover next to confined concrete, I would not use patches but individual fibers. A fiber is defined by the coordinates of the fiber centroid and the area that is covers.The fiber can have any shape. Creating section this way may be time consuming but it is doable.
alihaji12
Posts: 8
Joined: Tue Mar 22, 2011 3:24 pm
Location: university of memphis

Re: overwrite on a fiber section?

Post by alihaji12 »

Hi Vesna,
Honestly, i couldn't figure out the way you suggest to model the section. At least, OpenSees Wiki/ fiber command is not understandable for me. in addition, calculating the area and the center's coordinates of the gaps is another problem. anyway, i tried the time-consuming way and defined the section using many quad patches. but some errors showed up as below. i have checked the coordinates many times. could you please take a look at my code and tell me what you think about it? the model is working with any other simple fiber sections.
thanks,



#units kips/ft/sec
wipe

#----------------------nodal mass calculaions--------------------#
set Qsuper 22.44; #kips/ft sum of external loads+self weight on super structure
set Qcap1 5.59; #kips/ft sum of external loads on cap beam
set Qcap2 [expr 0.15*6.3*4]; #kips/ft self weight on cap
set Qcap 9.37 #total cap load
set Qcol [expr 0.15*3.5*3.5]; #kips/ft self weight on columns
set Pabut 457; #kips self weight of abutments

set Wsuper [expr $Qsuper*29.6]; #length of each super element
set Wcap1 [expr $Qcap*5.75]; #length of cap element 1
set Wcap2 [expr $Qcap*24]; #length of cap element 2
set Wcap3 [expr $Qcap*12]; #length of cap element 3
set Wcol1 [expr $Qcol*3.125]; #length of col element 1
set Wcol2 [expr $Qcol*19.76]; #length of col element 2

set mabut [expr ($Wsuper/2+$Pabut)/32.2]
set msuper [expr $Wsuper/32.2]
set mcap1 [expr ($Wcap1/2)/32.2]
set mcap2 [expr ($Wcap1/2+$Wcap2/2+$Wcol1/2)/32.2]
set mcap3 [expr ($Wcap2/2+$Wcap3/2+$Wcol1/2)/32.2]
set mcap4 [expr $Wcap3/32.2]
set mcol1 [expr ($Wcol1/2)/32.2]
set mcol2 [expr ($Wcol1/2+$Wcol2/2)/32.2]

puts "0ok"

#--------------------------nodes---------------------------#
model BasicBuilder -ndm 3 -ndf 6
node 11 -36 0 0 -mass $mcol1 $mcol1 $mcol1 0 0 0; #base level
node 12 -12 0 0 -mass $mcol1 $mcol1 $mcol1 0 0 0
node 13 12 0 0 -mass $mcol1 $mcol1 $mcol1 0 0 0
node 14 36 0 0 -mass $mcol1 $mcol1 $mcol1 0 0 0

node 21 -36 0 3.125 -mass $mcol2 $mcol2 $mcol2 0 0 0; #top of bottom rigid length level
node 22 -12 0 3.125 -mass $mcol2 $mcol2 $mcol2 0 0 0
node 23 12 0 3.125 -mass $mcol2 $mcol2 $mcol2 0 0 0
node 24 36 0 3.125 -mass $mcol2 $mcol2 $mcol2 0 0 0

node 31 -36 0 22.885 -mass $mcol2 $mcol2 $mcol2 0 0 0; #bottom of top rigid length level
node 32 -12 0 22.885 -mass $mcol2 $mcol2 $mcol2 0 0 0
node 33 12 0 22.885 -mass $mcol2 $mcol2 $mcol2 0 0 0
node 34 36 0 22.885 -mass $mcol2 $mcol2 $mcol2 0 0 0

node 41 -41.75 0 26.01 -mass $mcap1 $mcap1 $mcap1 0 0 0; #cap level
node 42 -36 0 26.01 -mass $mcap2 $mcap2 $mcap2 0 0 0
node 43 -12 0 26.01 -mass $mcap3 $mcap3 $mcap3 0 0 0
node 44 0 0 26.01 -mass $mcap4 $mcap4 $mcap4 0 0 0
node 45 12 0 26.01 -mass $mcap3 $mcap3 $mcap3 0 0 0
node 46 36 0 26.01 -mass $mcap2 $mcap2 $mcap2 0 0 0
node 47 41.75 0 26.01 -mass $mcap1 $mcap1 $mcap1 0 0 0

node 501 0 148 34.71 -mass $mabut $mabut $mabut 0 0 0; #super level
node 502 0 118.4 34.71 -mass $msuper $msuper $msuper 0 0 0
node 503 0 88.8 34.71 -mass $msuper $msuper $msuper 0 0 0
node 504 0 59.2 34.71 -mass $msuper $msuper $msuper 0 0 0
node 505 0 29.6 34.71 -mass $msuper $msuper $msuper 0 0 0
node 506 0 0 34.71 -mass $msuper $msuper $msuper 0 0 0
node 507 0 -29.6 34.71 -mass $msuper $msuper $msuper 0 0 0
node 508 0 -59.2 34.71 -mass $msuper $msuper $msuper 0 0 0
node 509 0 -88.8 34.71 -mass $msuper $msuper $msuper 0 0 0
node 510 0 -118.4 34.71 -mass $msuper $msuper $msuper 0 0 0
node 511 0 -148 34.71 -mass $mabut $mabut $mabut 0 0 0

node 5001 0 148 34.71; #zero length elements
node 5011 0 -148 34.71

#fixities
fix 501 0 0 1 1 1 1
fix 511 0 0 1 1 1 1
fix 5001 1 1 1 1 1 1
fix 5011 1 1 1 1 1 1
fixZ 0.0 1 1 1 1 1 1

puts "1ok"

#------------------------------materials-----------------------------#
set conconc 1
set uncconc 2
set reinforce 3
set torsionmat 5
set linspring 6

# nominal concrete compressive strength
set fc [expr -(5.2)*144]
set Ec [expr 1820*sqrt(5.2)]

# confined concrete; based on Mander et al. (1989)
set fcc [expr -6.86*144]
set epscc [expr 2*$fcc/$Ec]
set fcu [expr -5.16*144]
set epscu -0.0188
set ftc [expr -0.04*$fcc]
set Etc [expr -$ftc/$epscc]

uniaxialMaterial Concrete02 $conconc $fcc $epscc $fcu $epscu 0.1 $ftc $Etc; # Core concrete (confined)

# unconfined concrete
set fcu $fc
set epscu [expr 2*$fcu/$Ec]
set fuu 0
set epsuu -0.005
set ftu [expr -0.04*$fcu]
set Etu [expr -$ftu/$epscu]

uniaxialMaterial Concrete02 $uncconc $fcu $epscu $fuu $epsuu 0.1 $ftu $Etu; # Cover concrete (unconfined)

#reinforcing steel
set Fy [expr 68*144]
set Es [expr 29000.*144]

uniaxialMaterial Steel02 [expr $reinforce+1] $Fy $Es 0.025 18.0 0.925 0.15
uniaxialMaterial MinMax $reinforce [expr $reinforce+1] -min -0.090 -max 0.090

#torsional behavior
uniaxialMaterial Elastic $torsionmat 10000; #big torsional stiffness

#linear spring material
uniaxialMaterial Elastic $linspring 4080;

puts "2ok"

#------------------------column section----------------------------#
set colsecfiber 1
set colsec 2

set h [expr 3.5/2]
set z1 1.52
set y1 0.0
set z2 1.46
set y2 0.43
set z3 1.28
set y3 0.82
set z4 1.0
set y4 1.15
set z5 0.63
set y5 1.38
set z6 0.22
set y6 1.51

section fiberSec $colsecfiber {
#core elements
patch quad $conconc 1 1 -$y6 -$z6 -$y6 $z6 -$y5 $z5 -$y5 -$z5
patch quad $conconc 1 1 -$y5 -$z5 -$y5 $z5 -$y4 $z4 -$y4 -$z4
patch quad $conconc 1 1 -$y4 -$z4 -$y4 $z4 -$y3 $z3 -$y3 -$z3
patch quad $conconc 1 1 -$y3 -$z3 -$y3 $z3 -$y2 $z2 -$y2 -$z2
patch quad $conconc 1 1 -$y2 -$z2 -$y2 $z2 -$y1 $z1 -$y1 -$z1

patch quad $conconc 1 1 $y1 -$z1 $y1 $z1 $y2 $z2 $y2 -$z2
patch quad $conconc 1 1 $y2 -$z2 $y2 $z2 $y3 $z3 $y3 -$z3
patch quad $conconc 1 1 $y3 -$z3 $y3 $z3 $y4 $z4 $y4 -$z4
patch quad $conconc 1 1 $y4 -$z4 $y4 $z4 $y5 $z5 $y5 -$z5
patch quad $conconc 1 1 $y5 -$z5 $y5 $z5 $y6 $z6 $y6 -$z6

#cover elements
patch quad $uncconc 1 1 $y1 $z1 $y1 $h $y2 $h $y2 $z2
patch quad $uncconc 1 1 $y2 $z2 $y2 $h $y3 $h $y3 $z3
patch quad $uncconc 1 1 $y3 $z3 $y3 $h $y4 $h $y4 $z4
patch quad $uncconc 1 1 $y4 $z4 $y4 $h $y5 $h $y5 $z5
patch quad $uncconc 1 1 $y5 $z5 $y5 $h $y6 $h $y6 $z6
patch quad $uncconc 1 1 $y6 $z6 $y6 $h $h $h $h $z6

patch quad $uncconc 1 1 $y6 -$z6 $y6 $z6 $h $z6 $h -$z6

patch quad $uncconc 1 1 $y1 -$h $y1 -$z1 $y2 -$z2 $y2 -$h
patch quad $uncconc 1 1 $y2 -$h $y2 -$z2 $y3 -$z3 $y3 -$h
patch quad $uncconc 1 1 $y3 -$h $y3 -$z3 $y4 -$z4 $y4 -$h
patch quad $uncconc 1 1 $y4 -$h $y4 -$z4 $y5 -$z5 $y5 -$h
patch quad $uncconc 1 1 $y5 -$h $y5 -$z5 $y6 -$z6 $y6 -$h
patch quad $uncconc 1 1 $y6 -$h $y6 -$z6 $h -$z6 $h -$h

patch quad $uncconc 1 1 $y1 $z1 $y1 $h -$y2 $h -$y2 $z2
patch quad $uncconc 1 1 -$y2 $z2 -$y2 $h -$y3 $h -$y3 $z3
patch quad $uncconc 1 1 -$y3 $z3 -$y3 $h -$y4 $h -$y4 $z4
patch quad $uncconc 1 1 -$y4 $z4 -$y4 $h -$y5 $h -$y5 $z5
patch quad $uncconc 1 1 -$y5 $z5 -$y5 $h -$y6 $h -$y6 $z6
patch quad $uncconc 1 1 -$y6 $z6 -$y6 $h -$h $h -$h $z6

patch quad $uncconc 1 1 -$y6 -$z6 -$y6 $z6 -$h $z6 -$h -$z6

patch quad $uncconc 1 1 $y1 -$h $y1 -$z1 -$y2 -$z2 -$y2 -$h
patch quad $uncconc 1 1 -$y2 -$h -$y2 -$z2 -$y3 -$z3 -$y3 -$h
patch quad $uncconc 1 1 -$y3 -$h -$y3 -$z3 -$y4 -$z4 -$y4 -$h
patch quad $uncconc 1 1 -$y4 -$h -$y4 -$z4 -$y5 -$z5 -$y5 -$h
patch quad $uncconc 1 1 -$y5 -$h -$y5 -$z5 -$y6 -$z6 -$y6 -$h
patch quad $uncconc 1 1 -$y6 -$h -$y6 -$z6 -$h -$z6 -$h -$h

#reinforcing elements
layer circ $reinforce 22 0.0055 0 0 $z1 0 360
}


section Aggregator $colsec $torsionmat T -section $colsecfiber

puts "3ok"

#----------------------------elements--------------------------------#
#define geometric transformations
set colgeomtransf 1
set capgeomtransf 2
set supergeomtransf 3

geomTransf Linear $colgeomtransf 0 1 0; #no PDelta effects strong axis is Global Y
geomTransf Linear $capgeomtransf 0 1 0; #strong axis is Global Y
geomTransf Linear $supergeomtransf 1 0 0; #strong axis is Global X

#define zerlength elements (linear spring supports)
element zeroLength 5001 5001 501 -mat $linspring $linspring -dir 1 2
element zeroLength 5011 5011 511 -mat $linspring $linspring -dir 1 2

#define super structure elements (based on nu=0.2)
element elasticBeamColumn 501 501 502 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 502 502 503 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 503 503 504 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 504 504 505 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 505 505 506 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 506 506 507 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 507 507 508 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 508 508 509 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 509 509 510 95.7 828770 345320 11.73 540 58128 $supergeomtransf
element elasticBeamColumn 510 510 511 95.7 828770 345320 11.73 540 58128 $supergeomtransf

#define cap bema elements (based on nu=0.2)
element elasticBeamColumn 41 41 42 25.2 597634 249014 81.38 83.35 33.6 $capgeomtransf
element elasticBeamColumn 42 42 43 25.2 597634 249014 81.38 83.35 33.6 $capgeomtransf
element elasticBeamColumn 43 43 44 25.2 597634 249014 81.38 83.35 33.6 $capgeomtransf
element elasticBeamColumn 44 44 45 25.2 597634 249014 81.38 83.35 33.6 $capgeomtransf
element elasticBeamColumn 45 45 46 25.2 597634 249014 81.38 83.35 33.6 $capgeomtransf
element elasticBeamColumn 46 46 47 25.2 597634 249014 81.38 83.35 33.6 $capgeomtransf

#define column elements
set np 5; # number of Gauss integration points for nonlinear curvature distribution
element nonlinearBeamColumn 11 21 31 $np $colsec $colgeomtransf
element nonlinearBeamColumn 12 22 32 $np $colsec $colgeomtransf
element nonlinearBeamColumn 13 23 33 $np $colsec $colgeomtransf
element nonlinearBeamColumn 14 24 34 $np $colsec $colgeomtransf

#rigid links
rigidLink beam 42 31
rigidLink beam 43 32
rigidLink beam 45 33
rigidLink beam 46 34

rigidLink beam 11 21
rigidLink beam 12 22
rigidLink beam 13 23
rigidLink beam 14 24

puts "4ok"

#----------------------------constraints-----------------------------#
equalDOF 506 44 1 2 3 4 5 6

puts "5ok"

#-----------------------------model ready for modal analysis---------------#
puts "Model Done!"



And, here is the program output:

0ok
1ok
2ok
ERROR: -1.43455 -0
ERROR: -1.2563 -0
ERROR: -0.978246 -0
ERROR: -0.62073 -2.59738e-017
ERROR: -0.213557 2.70754e-018
ERROR: 0.213557 -2.70754e-018
ERROR: 0.62073 2.59738e-017
ERROR: 0.978246 -0
ERROR: 1.2563 -0
ERROR: 1.43455 -0
ERROR: 0.223269 1.61942
ERROR: 0.640395 1.55645
ERROR: 0.997623 1.43964
ERROR: 1.27258 1.2764
ERROR: 1.44835 1.08221
ERROR: 1.63 0.985
ERROR: 1.63 -0
ERROR: 0.223269 -1.61942
ERROR: 0.640395 -1.55645
ERROR: 0.997623 -1.43964
ERROR: 1.27258 -1.2764
ERROR: 1.44835 -1.08221
ERROR: 1.63 -0.985
3ok
4ok
5ok
Model Done!
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: overwrite on a fiber section?

Post by vesna »

The way you define your section is strange. You use "patch quad" command to define each individual fiber of a section. Wouldn't be easier to use "fiber" command: http://opensees.berkeley.edu/wiki/index ... er_Command. Let me know which of the command arguments you find difficult to understand.
alihaji12
Posts: 8
Joined: Tue Mar 22, 2011 3:24 pm
Location: university of memphis

Re: overwrite on a fiber section?

Post by alihaji12 »

thanks Vesna,
in this model, i just selected the fiber divisions as one for simplicity. what does this error say? is it due to wrong geometry definition (overlap or ...)? is there any limitation on number of fibers on the section, the order of defining or something?
if using the fiber command, should I first find the center's coordinates and the area of the fiber and then input them as $xLoc, $yLoc, and $A? what about irregular shapes? should i first use other tools to find the required input info? should it be just used to fill the gap between other fibers (circumscribed areas)?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: overwrite on a fiber section?

Post by vesna »

I do not know the meaning of the error that you get when using "patch quad". Fiber section does not know for overlap and there is no limitation on the number of the fibers. The only thing that you have to be careful when defining the patches is the order of IJKL points. They have to be defined in the counter-clock-wise direction.

You are right about "fiber" command.
Post Reply