moment – curvature analysis 3D

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

Moderators: silvia, selimgunay, Moderators

Post Reply
hrodrigues
Posts: 44
Joined: Wed Nov 14, 2007 7:50 am
Location: Aveiro
Contact:

moment – curvature analysis 3D

Post by hrodrigues »

I need to perform a moment – curvature analysis 3D.
I’m using the example: Example 9. Moment-Curvature Analysis of Section (3D model)
However I need to impose a biaxial curvature a curvature in the xx direction and a curvature in the zz direction.

What should I change??

Only the reference moment ??
# Define reference moment
pattern Plain 3002 "Linear" {
load 1002 0.0 0.0 0.0 0.0 0.0 1.0
}
And how can I plot the moment-curvature relationships in both directions ?
Thanks for your help.

Extract of the procedure:
proc MomentCurvature3D { secTag axialLoad maxK {numIncr 100} } {

# Define two nodes at (0,0)
node 1001 0.0 0.0 0.0
node 1002 0.0 0.0 0.0

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

# Define element
# tag ndI ndJ secTag
element zeroLengthSection 2001 1001 1002 $secTag

# Create recorder
recorder Node -file data/Mphi.out -time -node 1002 -dof 6 disp; # output moment (col 1) & curvature (col 2)

# Define constant axial load
pattern Plain 3001 "Constant" {
load 1002 $axialLoad 0.0 0.0 0.0 0.0 0.0
}

# Define analysis parameters
integrator LoadControl 0 1 0 0
system SparseGeneral -piv; # Overkill, but may need the pivoting!
test EnergyIncr 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 3002 "Linear" {
load 1002 0.0 0.0 0.0 0.0 0.0 1.0
}

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

# Use displacement control at node 1002 for section analysis, dof 6
integrator DisplacementControl 1002 6 $dK 1 $dK $dK

# Do the section analysis
set ok [analyze $numIncr]

# ----------------------------------------------if convergence failure-------------------------
….
PhD Student
Hugo Rodrigues
University of Aveiro, Portugal
sweet.ua.pt/~a19709
hrodrigues@ua.pt
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

it depends on how you want to control the curvatures in the two directions.
i'd create two curvature histories and use the sp command for each direction, in two load patterns....
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
hrodrigues
Posts: 44
Joined: Wed Nov 14, 2007 7:50 am
Location: Aveiro
Contact:

Post by hrodrigues »

Thanks for your help Silvia.
I would like to impose a linear curvature history in each direction.
So I create a SP command to impose the curvatures but it’s not working.
Should I release more DOF ??

proc MomentCurvature3D { secTag axialLoad maxK {numIncr 100} } {
##################################################
# A procedure for performing section analysis (only does
# moment-curvature, but can be easily modified to do any mode
# of section reponse.)
#
# MHS
# October 2000
# modified to improve convergence by Silvia Mazzoni, 2006
#
# Arguments
# secTag -- tag identifying section to be analyzed
# axialLoad -- axial load applied to section (negative is compression)
# maxK -- maximum curvature reached during analysis
# numIncr -- number of increments used to reach maxK (default 100)
#
# Sets up a recorder which writes moment-curvature results to file
# section$secTag.out ... the moment is in column 1, and curvature in column 2

# Define two nodes at (0,0)
node 1001 0.0 0.0 0.0
node 1002 0.0 0.0 0.0

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

# Define element
# tag ndI ndJ secTag
element zeroLengthSection 2001 1001 1002 $secTag

# Create recorder
recorder Node -file data/Mphi.out -time -node 1002 -dof 6 disp; # output moment (col 1) & curvature (col 2)

# Define constant axial load
pattern Plain 3001 "Constant" {
load 1002 $axialLoad 0.0 0.0 0.0 0.0 0.0
}

# Define analysis parameters
integrator LoadControl 0 1 0 0
system SparseGeneral -piv; # Overkill, but may need the pivoting!
test EnergyIncr 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 3002 "Linear" {
# sp $node $DOF $Reference
sp 1002 6 1
}

pattern Plain 3003 "Linear" {
sp 1002 5 1
}

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

# Use displacement control at node 1002 for section analysis, dof 6
integrator DisplacementControl 1002 6 $dK 1 $dK $dK

# Do the section analysis
set ok [analyze $numIncr]

# ----------------------------------------------if convergence failure-------------------------
PhD Student
Hugo Rodrigues
University of Aveiro, Portugal
sweet.ua.pt/~a19709
hrodrigues@ua.pt
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

you might want to release dof 5, but that's a moot point, i think.
play around with an elastic material and see where it takes you.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
hrodrigues
Posts: 44
Joined: Wed Nov 14, 2007 7:50 am
Location: Aveiro
Contact:

Post by hrodrigues »

Thanks once again. I think i have my problem almost solve.
One last question.
To record the M-C results in the example you have:
# Create recorder
recorder Node -file data/Mphi.out -time -node 1002 -dof 6 disp; # output moment (col 1) & curvature (col 2)

these should record the moment and curvature relation for the 6 DOF
however if I put
recorder Node -file data/Mphi.out -time -node 1002 -dof 5 disp; # output moment (col 1) & curvature (col 2)
to record at the same time the M-C relation for the 5 DOF the curvature in fact in the curvature for the 5 DOF however the moment is associated with the moment of 6 DOF, these is related I think with the “time”
how can I record the moment – curvature in the DOF 5 ?
PhD Student
Hugo Rodrigues
University of Aveiro, Portugal
sweet.ua.pt/~a19709
hrodrigues@ua.pt
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i would use the element recorder for the zero-length element at the section. ask for force on one and deformation on another, don't use time.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
hrodrigues
Posts: 44
Joined: Wed Nov 14, 2007 7:50 am
Location: Aveiro
Contact:

Post by hrodrigues »

Silvia,
Once again thank you for your help.
To get the results I use the following records:
recorder Element -file Defo$klei.txt -ele 1 deformation; # section deformations, axial and curvature, node j
recorder Element -file Force$klei.txt -ele 1 force ; # section forces, axial and moment, node j
there is any possibility of getting only the My and Mx from the Force record ?
thanks once again.
Hugo
PhD Student
Hugo Rodrigues
University of Aveiro, Portugal
sweet.ua.pt/~a19709
hrodrigues@ua.pt
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

if you go down to the section you can break it down into just axial and moments....
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
dinochen1983
Posts: 29
Joined: Mon Sep 11, 2006 9:48 am
Location: South China Univesity of Technology

Post by dinochen1983 »

I think make a program to control OpenSEES analysis is the way to solve the moment-rotation curve 3D problem. The programe is just like Xtract!
Structure Engineer and CAD/CAE Programmer
Form South China University of Technology
http://www.dinochen.com
Post Reply