Moment-Curvature Cyclic Analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
marcoita
Posts: 14
Joined: Wed Mar 07, 2012 1:58 am
Location: Sapienza

Moment-Curvature Cyclic Analysis

Post by marcoita »

Hi to everyone,

I am performing analyses on sections in OpenSees with a cyclic analysis.
For a certain section the analisys ends when the moment at the fourth cycle is equal to 80% of the maximum moment.
What I do is to put a curvature, look at the output in Excel, then change the maximum curvature in Opensees until I obtain M4=80%Mmax.
I have to analyze a lot of sections with different transverse reinforcement configuration, therefore I am wondering if there is a way to automate the procedure. In a nutshell I want to say to OpenSees "go in the output of the moment-curvature and look if the moment of the fourth cycle is equal to 80% of the maximum moment; if ok stop the analysis, if not change the curvature and starts again".
Do you know if it is possible to do this?

Thank you.

Marco
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moment-Curvature Cyclic Analysis

Post by vesna »

You can do it by doing analysis in a loop, where for each time step you will be checking moments. You can get the moments of the section by using "eleResponse" command of OpenSees (http://opensees.berkeley.edu/wiki/index ... se_Command).
marcoita
Posts: 14
Joined: Wed Mar 07, 2012 1:58 am
Location: Sapienza

Re: Moment-Curvature Cyclic Analysis

Post by marcoita »

Hi Vesna, thank you for your reply.

Nevertheless, I am not sure I have understood how to use the eleResponse command for a node.
My recorder is:
recorder Node -file Moment_curvature.out -time -node 1002 -dof 3 disp; # output moment (col 1) & curvature (col 2)

so I think I should write something as:
set Moment_Curvature [eleresponse 1002 moments]


Is it right?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moment-Curvature Cyclic Analysis

Post by vesna »

No, it should be something like this:

set eleForces [eleResponse $eleTag force]
set moment [lindex $eleForces 2]
marcoita
Posts: 14
Joined: Wed Mar 07, 2012 1:58 am
Location: Sapienza

Re: Moment-Curvature Cyclic Analysis

Post by marcoita »

Thank you Vesna, I managed to do what you suggested me. But I still cannot do what I want to do. I mean, is it possible to find the maximum moment within the list?
I am thinking about an expression like the following:

set eleForces [eleResponse $eleTag force]
set moment [lindex $eleForces 2]
set maxmoment [expr max($moment)]
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moment-Curvature Cyclic Analysis

Post by vesna »

The command I showed you will output the moment at only one step of analysis. What I suggested to you is to do the analysis in a loop and to check your moment for each time step of analysis. After your condition of moment=0.8Mmax is met you can do whatever you wanted. Is this what you wanted?

If I misunderstood you explain your problem again, show me the way you are doing it (OpenSees script) and describe the difference between what you are getting and what you are trying to get.
marcoita
Posts: 14
Joined: Wed Mar 07, 2012 1:58 am
Location: Sapienza

Re: Moment-Curvature Cyclic Analysis

Post by marcoita »

Hi Vesna and thank you for your time.
Probably I didn't explain well what I need to do and I'm sorry about it.
It's a cyclic moment-curvature analysis. There are 4 cycles at the same maximum curvature. I want that at the end of the positive fourth cycle the moment is equal to 0.8Mmax.
What I am doing now is to:
1) assign a value to the maximum curvature;
2) run the analysis;
3) import in Excel the moment-curvature recorder: recorder Node -file Moment_curvature.out -time -node 1002 -dof 3 disp;
4) look if the moment at the end of the positive fourth cycle is equal to 0.8Mmax
5) if ok I can stop the analysis; if the moment is greater or lower than 0.8Mmax I go back to point 1).

I have to do about 7000 analyses so I would like to know if there is a way I can skip the importation of the recorder in Excel, doing all the work in OpenSees.
Therefore I want OpenSees to check the moments, identifying what is the value of the maximum moment. In this way I could ask to OpenSees to stop the analysis when the value 0.8Mmax is reached.
Is it possible to do this?

Thank you!
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moment-Curvature Cyclic Analysis

Post by vesna »

Yes, it is doable. Just use eleResponse command to retrieve moment (as I showed you before) at the end of the positive 4th cycle and compare it with 0.8*Mmax. After that you can introduce the conditions described in 5).
marcoita
Posts: 14
Joined: Wed Mar 07, 2012 1:58 am
Location: Sapienza

Re: Moment-Curvature Cyclic Analysis

Post by marcoita »

Thank you Vesna,

but I still don't understand how I can retrieve the maximum moment. It occurs, indeed, at different time for different analises and its value changes, therefore I would need for a command to find it automatically. Something like

set maxmoment [expr max($moment)]

where moment is defined as you told me
set moment [lindex $eleForces 2]

Is it possible in OpenSees?
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: Moment-Curvature Cyclic Analysis

Post by vesna »

I wrongly understood that you know your maximum moments.

There is no OpenSees command that will give you maximum moment, but you can do the following:
1. initiate the list (vector) where you will store moments for each time step of analysis
2. for each step of analysis retrive the moment and add to the list
3. after the 4th cycle find the maximum moment and compare 0.8*maxMoment with the last moment from the list

To do this you will need some basic knowledge of tcl. Here is a tcl tutorial: http://www.tcl.tk/man/tcl/tutorial/tcltutorial.html
Post Reply