Moment-Curvature Cyclic Analysis
Moderators: silvia, selimgunay, Moderators
Moment-Curvature Cyclic Analysis
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
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
Re: Moment-Curvature Cyclic Analysis
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).
Re: Moment-Curvature Cyclic Analysis
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?
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?
Re: Moment-Curvature Cyclic Analysis
No, it should be something like this:
set eleForces [eleResponse $eleTag force]
set moment [lindex $eleForces 2]
set eleForces [eleResponse $eleTag force]
set moment [lindex $eleForces 2]
Re: Moment-Curvature Cyclic Analysis
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)]
I am thinking about an expression like the following:
set eleForces [eleResponse $eleTag force]
set moment [lindex $eleForces 2]
set maxmoment [expr max($moment)]
Re: Moment-Curvature Cyclic Analysis
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.
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.
Re: Moment-Curvature Cyclic Analysis
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!
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!
Re: Moment-Curvature Cyclic Analysis
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).
Re: Moment-Curvature Cyclic Analysis
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?
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?
Re: Moment-Curvature Cyclic Analysis
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
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