Fiber section not satisfy the Plane section assumption?

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

Moderators: silvia, selimgunay, Moderators

Post Reply
bridger
Posts: 13
Joined: Tue Oct 04, 2011 3:35 am
Location: hust

Fiber section not satisfy the Plane section assumption?

Post by bridger »

For example, after executing the run.tcl, three result files are generated, that is Element1_concrT.out, Element1_barB.out and section1.out.
From line 3 of the file Element1_concrT.out, the strain is -0.000489952 at the location of y=11.625, and the corresponding curvature is 4.21464E-05(value1).
From line 3 of the file Element1_barB.out, the strain is 0.000352905 at the location of y=10.5, and the corresponding curvature is 3.361E-05(value2).
From line 3 of the file section1.out, the corresponding curvature is 3.80952e-005 (value3).
Value1, value2 and value3 are inequal, which represents the Plane section assumption is violated. How to solve this problem?

The content of run.tcl is as follows:
###############run.tcl###################
proc MomentCurvature {secTag axialLoad maxK {numIncr 100} } {
# Define two nodes at (0,0)
node 1 0.0 0.0
node 2 0.0 0.0

# Fix all degrees of freedom except axial and bending
fix 1 1 1 1
fix 2 0 1 0

# Define element
# tag ndI ndJ secTag
element zeroLengthSection 1 1 2 $secTag

# Create recorder
recorder Node -file section$secTag.out -time -node 2 -dof 3 disp

# Define constant axial load
pattern Plain 1 "Constant" {
load 2 $axialLoad 0.0 0.0
}

# Define analysis parameters
integrator LoadControl 0.0
system SparseGeneral -piv; # Overkill, but may need the pivoting!
test NormUnbalance 1.0e-9 10
numberer Plain
constraints Plain
algorithm Newton
analysis Static

# Do one analysis for constant axial load
analyze 1

# Define reference moment
pattern Plain 2 "Linear" {
load 2 0.0 0.0 1.0
}

# Compute curvature increment
set dK [expr $maxK/$numIncr]

# Use displacement control at node 2 for section analysis
integrator DisplacementControl 2 3 $dK 1 $dK $dK

# Do the section analysis
analyze $numIncr
}

# units: kip, in

# Remove existing model
wipe

# Create ModelBuilder (with two-dimensions and 3 DOF/node)
model BasicBuilder -ndm 2 -ndf 3

# Define materials for nonlinear columns
# ------------------------------------------
# CONCRETE tag f'c ec0 f'cu ecu
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -6.0 -0.004 -5.0 -0.014

# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -5.0 -0.002 0.0 -0.006

# STEEL
# Reinforcing steel
set fy 60.0; # Yield stress
set E 30000.0; # Young's modulus
# tag fy E0 b
uniaxialMaterial Steel01 3 $fy $E 0.01

# ------------------------------------------

# set some paramaters
set colWidth 15
set colDepth 24

set cover 1.5
set As 0.60; # area of no. 7 bars

# some variables derived from the parameters
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]
# Define cross-section for nonlinear columns

section Fiber 1 {

# Create the concrete core fibers
patch rect 1 10 1 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]

# Create the concrete cover fibers (top, bottom, left, right)
patch rect 2 10 1 [expr -$y1] [expr $z1-$cover] $y1 $z1
patch rect 2 10 1 [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
patch rect 2 2 1 [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
patch rect 2 2 1 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]

# Create the reinforcing fibers (left, middle, right)
layer straight 3 3 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
layer straight 3 2 $As 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1]
layer straight 3 3 $As [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]

}

# Estimate yield curvature
# (Assuming no axial load and only top and bottom steel)
set d [expr $colDepth-$cover] ;# d -- from cover to rebar
set epsy [expr $fy/$E] ;# steel yield strain
set Ky [expr $epsy/(0.7*$d)]

# Print estimate to standard output
puts "Estimated yield curvature: $Ky"

# Set axial load
set P -180

set mu 15; # Target ductility for analysis
set numIncr 100; # Number of analysis increments

recorder Element -file Element1_concrT.out -ele 1 section fiber $y1 0.0 2 stressStrain
recorder Element -file Element1_barB.out -ele 1 section fiber [expr $cover-$y1] [expr $z1-$cover] 3 stressStrain
source MomentCurvature.tcl
# Call the section analysis procedure
MomentCurvature 1 $P [expr $Ky*$mu] $numIncr
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Fiber section not satisfy the Plane section assumption?

Post by vesna »

Record the strains using -xml format (instead of -file). This way you will see the exact coordinates of the fiber whose response was recorded.
Post Reply