Pushover Analysis
Pushover Analysis
(OP)
I've written a Pushover Analysis program for 2D Plane Frame structures. It captures the "red" part of the graph shown below (which includes all displacements up until the maximum force), and I'm trying to expand it to capture the "blue" part as well (which includes all displacements past the maximum force up until the tangent stiffness matrix is singular).

My program inputs a force and runs a nonlinear analysis, iterating until there is convergence. It then increments the force and repeats the analysis. Each force increment is stored as a data point on the Pushover graph. This works well for the displacements that are less than the "maximum force" displacement (where the red line turns to blue below).
How can I get the force required for further displacements? I can't wrap my head around it... The way the analysis works is I input a Force, and return a displacement... But it seems I need to input a displacement and get the resulting force?
The only way I can think of is to increment the force until the displacement blows up, and save the displacements on the iteration right before the displacements blow up. I then set the force vector back to zero on the pre-blown up displacements and iterate until convergence (dashed black line below). From there I again increment the force and find the corresponding displacement (dashed green line below). I would have to do this process multiple times for each time a new "maximum force" happens before the tangent stiffness matrix is singular.

I've tried this way and haven't gotten it to work. It feels too messy anyways.
Maybe I don't understand the process correctly. Is there a simpler way, where I can somehow increment the displacement and find the force that would correspond to that diplacement? Does anyone have a good reference for nonlinear pushover analyses?

My program inputs a force and runs a nonlinear analysis, iterating until there is convergence. It then increments the force and repeats the analysis. Each force increment is stored as a data point on the Pushover graph. This works well for the displacements that are less than the "maximum force" displacement (where the red line turns to blue below).
How can I get the force required for further displacements? I can't wrap my head around it... The way the analysis works is I input a Force, and return a displacement... But it seems I need to input a displacement and get the resulting force?
The only way I can think of is to increment the force until the displacement blows up, and save the displacements on the iteration right before the displacements blow up. I then set the force vector back to zero on the pre-blown up displacements and iterate until convergence (dashed black line below). From there I again increment the force and find the corresponding displacement (dashed green line below). I would have to do this process multiple times for each time a new "maximum force" happens before the tangent stiffness matrix is singular.

I've tried this way and haven't gotten it to work. It feels too messy anyways.
Maybe I don't understand the process correctly. Is there a simpler way, where I can somehow increment the displacement and find the force that would correspond to that diplacement? Does anyone have a good reference for nonlinear pushover analyses?






RE: Pushover Analysis
If it doesn't allow you to input node displacements, can you switch to one that does?
Or if you are using a program you have written yourself, can you add node displacements?
Doug Jenkins
Interactive Design Services
http://newtonexcelbach.wordpress.com/
RE: Pushover Analysis
Dik
RE: Pushover Analysis
You are on the right track for a pushover analysis, but I think you need to be displacement controlled, your non linear Force-displacement history depends on direction of loading, and is non singular
Think of a tension-test. Even though you are recording tension stresses, its a displacement controlled test to capture necking at the end of the loading. Same thing for your pushover, you cant keep increasing the force past the spring back, your program wont handle it. Needs to be displacment controlled time history
Also I'm not sure how your program would handle the vertical blue lines. Its non singular and might return an error. At the very least those lines should be very steep with a definitive slope.
Jeff
Pipe Stress Analysis
Finite Element Analysis
www.xceed-eng.com