displacement-based pushover

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

Moderators: silvia, selimgunay, Moderators

Post Reply
archeura
Posts: 12
Joined: Tue Feb 14, 2006 6:27 am
Location: Facolt� di Ingegneria Bologna

displacement-based pushover

Post by archeura »

Hi all!
I've developed a script to perform a displacement-based pushover. It is a bit complicated, but it seems to work. The problem is that the resulting interstory drifts I've obtained with it, doesn't accord very well with those of the non linear time history analysis. The procedure should work better, as it seems to be, reading some papers... :?

Here I'm with some OpenSees issues (and particularly whit the 'constraints' command).

1) To perform the analysis enforcing constraints I've to use the penalty, Lagrange or transformation method. In the script I’ve chosen the penalty one, with both coefficients to 1.0e12. It is right? Any other gives me convergence problems…

2) First of all I’ve to do a eigenvalue analysis (before apply constraint but after vertical load): I’ve two options.
First, I can change the constraints before perform eig.analysis and re-change it before apply load pattern. This doesn’t seem to work, with convergence problems.
Second, I don’t change anything.
Latter is my choice. But to get eigenvectors I have to use a loadControl integrator with 0.0 increment (any other gives convergence problems) or a displacementControl with a very little increment (0.00001).
What’s the right choice for integrator to get eigenvectors for this kind of procedure?

3) The displacement vector is defined by modal parameters. I use a pattern Plain Linear, with ‘sp’ defined at nodes. It is right?

4) After a given increment, the displacement vector has to be upgrade taking account to reached modal parameters. So I re-do eigenvalue analysis. But to do that, I have to delete the previous displ.vector, or else OpenSees output :’starting vector is zero’. But, if I’ve a LoadControl, the structure re-start by zero. The only choice at this point seems to be the displ.control whit that very little increment. Why this happens?

5) I tried to use the database, but the program crashes! I don’t understand that…

As I said, the script runs, but the results seems to be wrong.
About 4) I’d prefer to not delete previous disp.vector. How I can do this?

Sorry for the length of this post!
Thanks for your assistance! :D
p.s.: I’ve got a lot of files, so I don’t attach them.
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i'll look all the questions over with Frank today and i'll let you know.

about database crashing, are you using concrete04? if so, that's what's causing the crash, if not, something else must be. please mail me your scripts?
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Post by fmk »

Penalty is fine for static analysis. the Transformation method will give you a jagged response
if the disp increments are too large, the penalty will be much smoother. lagrange should be same as penalty, but you need to use a different convergence test and solver (it's no longer SPD).

you want to do the eigen analysis at the end of the gravity, which i presume is load control. add the recorder and then do another analysis to get the eigenvectors. so using loadCOntrol with a 0.0 increment is what you want, there should be no convergence problems as the model ain't going anywhere (just make sure you are not using a Relative convergence test) .. you could even switch to a linear algorithm.

if your intent is to impose the displacements then it is correct, how many of the dof in the model are you controlling?

if you redo the eigen command, you have to remove the sp constraints you have added to impose the displacements, otherwise eigenvectors at those dof will be 0 as the eigen analysis assumes they are fixed. remove loadPattern tag?

you will need to send the files in a .zip if i am to see what is happening with the datbase.
dimitra2
Posts: 3
Joined: Mon May 22, 2006 9:04 am
Location: Athens

Post by dimitra2 »

Hi! I have a problem me too with displacement-adaptive pushover. At each analysis step t I calculate the target displacement of every floor from a relation : U(t)=U(t-1)+λ*D(t),
where U(t-1) is the displacement of the previous step,
D(t) is a displacement vector that I calculate from eigenvalue analysis
and λ is the load factor.
I want to use "integrator DisplacementControl" for the last floor for which I know the target Displacement.
However, I don't know how to impose the displacement pattern for all the floors (that is for more than one degree of freedom) at each analysis step. I have written some tcl scripts, should I send them by mail?
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

i may be wrong on this one, as I have never done it,
but what about using a series of sp commands within the Plain Load Pattern?
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
archeura
Posts: 12
Joined: Tue Feb 14, 2006 6:27 am
Location: Facolt� di Ingegneria Bologna

Post by archeura »

dimitra wrote:Hi! I have a problem me too with displacement-adaptive pushover. At each analysis step t I calculate the target displacement of every floor from a relation : U(t)=U(t-1)+λ*D(t),
where U(t-1) is the displacement of the previous step,
D(t) is a displacement vector that I calculate from eigenvalue analysis
and λ is the load factor.
I want to use "integrator DisplacementControl" for the last floor for which I know the target Displacement.
However, I don't know how to impose the displacement pattern for all the floors (that is for more than one degree of freedom) at each analysis step. I have written some tcl scripts, should I send them by mail?
Hi Dimitra,
I've already written some tcl procedures for the D.A.P., based on Pinho-Antoniou algorithm.
You must impose displacement using sp-command in the definition of patterns.
The problem, as I understood, is that after using sp-command, you have to remove patterns first and so you can do the eigenvalue analysis.
My mail is archeura@libero.it, if you want mail me, so I'll send you my procedures (I don't post them 'cause are a bit long!).

Hi all.
Dino
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

If your files are well documented and tested, and if you are interested, we can include them in the new examples manual, with your name as the author of these scripts!
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Post Reply