Obtaining Yield Moment or Yield Curvature

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

Moderators: silvia, selimgunay, Moderators

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Wed Jul 08, 2020 6:08 am

Dear fellows,

I have modified and used the below example code for circular and rectangular bridge piers. The moment curvature diagram is very similar to XTRACT program and running smoothly.
But I do not know how to determine exact yield moment or yield curvature of the columns from this code. Can you please help me out?

https://opensees.berkeley.edu/wiki/inde ... re_Example

Thanks in advance.

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Fri Jul 10, 2020 6:31 am

alamin wrote:
Thu Jul 09, 2020 1:39 am
You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing such information with us to read this...seeking sugar daddies in New Zealand. http://nzsugardaddy.com/
:evil: :evil: :evil:

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Mon Jul 13, 2020 2:26 am

any ideas fellows? Should i use simplified equations from literature?

sahindede
Posts: 2
Joined: Wed Mar 15, 2017 8:19 am
Location: Bogazici University

Re: Obtaining Yield Moment or Yield Curvature

Post by sahindede » Mon Jul 13, 2020 6:11 am

Hi, you can record the strain on specific fibers and obtain the time step at the onset of the yielding in order to relate it with the moment and curvature at that specific time step.

surojitmondal
Posts: 2
Joined: Mon Jul 13, 2020 10:42 am
Location: india
Contact:

Re: Obtaining Yield Moment or Yield Curvature

Post by surojitmondal » Mon Jul 13, 2020 10:51 am

Dear fellows,

I have modified and used the below example code for circular and rectangular bridge piers. The moment curvature diagram is very similar to XTRACT program and running smoothly.
But I do not know how to determine exact yield moment or yield curvature of the columns from this code. Can you please help me out?

u can visit my Website : https://www.lyrics2world.com

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Tue Jul 14, 2020 3:43 am

sahindede wrote:
Mon Jul 13, 2020 6:11 am
Hi, you can record the strain on specific fibers and obtain the time step at the onset of the yielding in order to relate it with the moment and curvature at that specific time step.
Thanks for your contribution. Do you know what is the command to record strain on fibers?

sahindede
Posts: 2
Joined: Wed Mar 15, 2017 8:19 am
Location: Bogazici University

Re: Obtaining Yield Moment or Yield Curvature

Post by sahindede » Tue Jul 14, 2020 5:20 am

demirhanunlu wrote:
Tue Jul 14, 2020 3:43 am

Thanks for your contribution. Do you know what is the command to record strain on fibers?
I believe following commands will help you. A and B are element and section labels, respectively. $y and $z are the fiber coordinates. Based on your coordinate and matID definition, program will record the stress-strain history of the closest matID fiber (concrete fiber or steel fiber).

recorder Element -file OutputFileName.out -time -ele A section B fiber $y $z <$matID> stressStrain

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Thu Jul 16, 2020 12:54 am

sahindede wrote:
Tue Jul 14, 2020 5:20 am
demirhanunlu wrote:
Tue Jul 14, 2020 3:43 am

Thanks for your contribution. Do you know what is the command to record strain on fibers?
I believe following commands will help you. A and B are element and section labels, respectively. $y and $z are the fiber coordinates. Based on your coordinate and matID definition, program will record the stress-strain history of the closest matID fiber (concrete fiber or steel fiber).

recorder Element -file OutputFileName.out -time -ele A section B fiber $y $z <$matID> stressStrain
Thank you so much, I will try it.

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Sat Jul 18, 2020 2:26 pm

sahindede wrote:
Tue Jul 14, 2020 5:20 am
demirhanunlu wrote:
Tue Jul 14, 2020 3:43 am

Thanks for your contribution. Do you know what is the command to record strain on fibers?
I believe following commands will help you. A and B are element and section labels, respectively. $y and $z are the fiber coordinates. Based on your coordinate and matID definition, program will record the stress-strain history of the closest matID fiber (concrete fiber or steel fiber).

recorder Element -file OutputFileName.out -time -ele A section B fiber $y $z <$matID> stressStrain
I tried but the recorder creates the file and doesn't write anything in it. I even tried 0,0 as a coordinate in order not to have mistake for coordinates yet still nothing

selimgunay
Posts: 913
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Obtaining Yield Moment or Yield Curvature

Post by selimgunay » Mon Jul 20, 2020 12:50 pm

Are you sure that the analysis is completed succesfully? You can check it by looking at the other recorder output files and see if there is anything recorded in the other files.

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Mon Jul 20, 2020 11:24 pm

selimgunay wrote:
Mon Jul 20, 2020 12:50 pm
Are you sure that the analysis is completed succesfully? You can check it by looking at the other recorder output files and see if there is anything recorded in the other files.
It runs and creates moment-curvature diagram. I also checked it with Xtract and the results are matching very well. But i failed to get results for "stressStrain". I will attach the code soon.

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Tue Jul 21, 2020 11:34 am

selimgunay wrote:
Mon Jul 20, 2020 12:50 pm
Are you sure that the analysis is completed succesfully? You can check it by looking at the other recorder output files and see if there is anything recorded in the other files.
The code is as follows. Can you please check it?

# --------------------------------------------------------------------------------------------------
# LibUnits.tcl -- define system of units
# define UNITS ----------------------------------------------------------------------------
set in 1.; # define basic units -- output units
set kip 1.; # define basic units -- output units
set sec 1.; # define basic units -- output units
set LunitTXT "inch"; # define basic-unit text for output
set FunitTXT "kip"; # define basic-unit text for output
set TunitTXT "sec"; # define basic-unit text for output
set ft [expr 12.*$in]; # define engineering units
set ksi [expr $kip/pow($in,2)];
set psi [expr $ksi/1000.];
set lbf [expr $psi*$in*$in]; # pounds force
set pcf [expr $lbf/pow($ft,3)]; # pounds per cubic foot
set psf [expr $lbf/pow($ft,3)]; # pounds per square foot
set in2 [expr $in*$in]; # inch^2
set in4 [expr $in*$in*$in*$in]; # inch^4
set cm [expr $in/2.54]; # centimeter, needed for displacement input in MultipleSupport excitation
set PI [expr 2*asin(1.0)]; # define constants
set g [expr 32.2*$ft/pow($sec,2)]; # gravitational acceleration
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number

#SET UP ----------------------------------------------------------------------------
#UNITS: kip, in
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
source LibUnits.tcl; # define units
###############################################################################
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 result.out -time -node 2 -dof 3 disp
recorder Element -file Element1.out -ele 1 section 1 fiber -1 1 stressStrain
# 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
}
###############################################################################
# Define model builder
# --------------------
model basic -ndm 2 -ndf 3
# MATERIAL parameters -------------------------------------------------------------------
set IDconcCore 1; # material ID tag -- confined core concrete
set IDconcCover 2; # material ID tag -- unconfined cover concrete
set IDreinf 3; # material ID tag -- reinforcement
# nominal concrete compressive strength
set fc [expr -3.625*$ksi]; # CONCRETE Compressive Strength, ksi (+Tension, -Compression)
set Ec [expr 57*$ksi*sqrt(-$fc/$psi)]; # Concrete Elastic Modulus
# confined concrete
set Kfc 1.324; # ratio of confined to unconfined concrete strength
set fc1C [expr $Kfc*$fc]; # CONFINED concrete (mander model), maximum stress
set eps1C -0.005; # strain at maximum stress
set fc2C [expr 0.65*$fc1C]; # ultimate stress
set eps2C -0.025; # strain at ultimate stress
# unconfined concrete
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.002; # strain at maximum strength of unconfined concrete
set fc2U 0; # ultimate stress
set eps2U -0.006; # strain at ultimate stress
set lambda 0.1; # ratio between unloading slope at $eps2 and initial slope $Ec
# -----------
set Fy [expr 60.*$ksi]; # STEEL yield stress
set Es [expr 29000.*$ksi]; # modulus of steel
set Bs 0.01; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches
set cR2 0.15; # control the transition from elastic to plastic branches
uniaxialMaterial Concrete01 $IDconcCore $fc1C $eps1C $fc2C $eps2C; # build core concrete (confined)
uniaxialMaterial Concrete01 $IDconcCover $fc1U $eps1U $fc2U $eps2U; # build cover concrete (unconfined)
uniaxialMaterial Steel02 $IDreinf $Fy $Es $Bs $R0 $cR1 $cR2;
# ------------------------------------------
# Define cross-section for nonlinear columns
# set some paramaters
set DSec [expr 27.559*$in]; # Column Diameter
set cover [expr 1.968*$in]
set numBarsSec 10; # number of uniformly-distributed longitudinal-reinforcement bars
set As [expr 0.306*$in2]; # area of one reinforcement
set SecTag 1; # set tag for symmetric section
set ro [expr $DSec/2]; # overall (outer) radius of the section
set nfCoreR 20; # number of radial divisions in the core (number of "rings")
set nfCoreT [expr 4*$numBarsSec]; # number of theta divisions in the core (number of "wedges")
set nfCoverR 2; # number of radial divisions in the cover
set nfCoverT $numBarsSec; # number of theta divisions in the cover
# Define the fiber section
section fiberSec $SecTag {
set rc [expr $ro-$cover]; # Core radius
patch circ $IDconcCore $nfCoreT $nfCoreR 0 0 0 $rc 0 360; # Define the core patch
patch circ $IDconcCover $nfCoverT $nfCoverR 0 0 $rc $ro 0 360; # Define the cover patch
set theta [expr 360.0/$numBarsSec]; # Determine angle increment between bars
layer circ $IDreinf $numBarsSec $As 0 0 $rc $theta 360; # Define the reinforcing layer
}
# Set axial load
set P [expr -67.500*$kip]
set targetcurvature 0.017780; # Target curvature for analysis
set numIncr 100; # Number of analysis increments
# Call the section analysis procedure
MomentCurvature 1 $P $targetcurvature $numIncr

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Tue Jul 21, 2020 12:19 pm

I think he is having a similar problem to mine:

https://www.researchgate.net/post/A_pro ... n_OpenSees

selimgunay
Posts: 913
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: Obtaining Yield Moment or Yield Curvature

Post by selimgunay » Mon Jul 27, 2020 11:00 am

recorder Element -file Element1.out -ele 1 section 1 fiber -1 1 stressStrain

You have a "-1" here, that could be the reason

demirhanunlu
Posts: 22
Joined: Fri Mar 31, 2017 5:37 am
Location: Middle East Technical University

Re: Obtaining Yield Moment or Yield Curvature

Post by demirhanunlu » Tue Jul 28, 2020 1:31 am

selimgunay wrote:
Mon Jul 27, 2020 11:00 am
recorder Element -file Element1.out -ele 1 section 1 fiber -1 1 stressStrain

You have a "-1" here, that could be the reason
I have changed it to any combination, unfortunately nothing works.

Post Reply