Matlab
These programs were developed using Matlab 7.0. The programs are released under the terms of the GNU General Public License (373 hits).
Continuous Beam Analysis – General
This is a general beam analysis program. It uses the stiffness method to determine the rotations at each support. These are then used to determine the member end forces. Exact expressions are then used to determine the distribution of shear, moment, rotation and deflection along each member. The program features:
- Multiple load types: point load; uniformly distributed load; patch load, and; moment load;
- Spring supports, both vertical and rotational, enabling it to be used as part of a subframe analysis;
- Results are output at 100 positions along each span, enable accurate deflection estimation.
Better yet, the program forms the analysis engine for two auxiliary programs, extending its range of applicability significantly.
Note that Section 15 of the GNU GPL (373 hits), Disclaimer of Warranty, and Section 16, Limitation of Liability, are particularly pertinent to this engineering design program.
(269 hits)
CBA showing a subframe analysis
Continuous Beam Analysis – Envelope
This is an extension to the general beam analysis program. It automatically patterns applied loading to obtain envelopes of maximum and minimum load effects. The user can specify the maximum and minimum dead and live load factors.
Note that the files for CBA-Env must be put in the same folder as CBA.
Note that Section 15 of the GNU GPL (373 hits), Disclaimer of Warranty, and Section 16, Limitation of Liability, are particularly pertinent to this engineering design program.
(153 hits)
CBA-Env showing 4-span beam analysis
Continuous Beam Analysis – Bridge
This is another extension to the general beam analysis program. It allows the user to pass the following forms of load across a bridge:
- knife-edge loads;
- HB vehicle;
- Special convoy vehicle.
In each case it outputs:
- moment and shear envelopes;
- maximum and minimum moment against position of first axle;
- bending moment diagrams when maximum and minimum moments occurred;
- a report of maximum and minimum load effects for any chosen point of interest.
This form of input and output allow the bridge designer to determine the maximum design load effects, as well as coincident effects, for the critical position of the vehicle. This is something that is only usually approximated.
Note this add-on requires the CBA-Env add-on to be available and the files are to be put in the same folder as CBA and CBA-Env.
Note that Section 15 of the GNU GPL (373 hits), Disclaimer of Warranty, and Section 16, Limitation of Liability, are particularly pertinent to this engineering design program.
(232 hits)
CBA Bridge showing typical output
Section Properties Calculator
This is a short but really useful script that calculates the section properties for an arbitrary shape with holes.
(107 hits)
SecProp showing footbridge
Prestressed Concrete Design
A collection of scripts for prestressed concrete calculations. Features include:
- Magnel diagrams;
- Stress checks at critical sections;
- Minimum section modulus calculations;
- Cable zone calculations.
When integrated with CBA and SecProp above, this is a powerful suite for the design and analysis of prestressed concrete beams.
(158 hits)
PSC showing ongoing design of continuous prestressed concrete beam
Comments
Comment from Colin
Time: 23 January, 2009, 01:09
You’re right: that is a very serious problem. I suggest studying some books to find the equations that describe the stress resultants you’re looking for. Then, use a computer program like MS Excel or Matlab to plot the equations. You may have to study some other books to learn how to do that too though. However, I’m sure all this reading won’t put you off. Best of Luck!
Comment from ugo
Time: 2 February, 2009, 15:58
HMD i have a program that can do just that for u, but as my site is still under construction now, u’ll v to contact me via my e-mail, ugoelumeze@whoever.com
i’ll be glad to hear from u.
Comment from moon
Time: 2 June, 2009, 08:58
dear sir,
thank u for ur sources, I think they are the exact things I need.
but since I am not good at Matlab, I don`t know how to run the function CBA.
I think I have set path to the unziped file, but still failed to run it.
could you send me an example to help me understanding how to use ur sources?
for example, consider a cantilever beam (or simple supported beam) subjected to a force P at the tip.
how could I input the paraments?
sorry for my rude require, I really need ur help.
BTW, my e-mail: moon555sss@hotmail.com
Comment from pierrot
Time: 11 September, 2009, 17:09
dear mr. caprani,
your continuous beam application is a real nice piece of work, i like it very much. that made me translating it into c++. today i put it into sourceforge (http://sourceforge.net/projects/cbeam/) to share with others, i hope you dont mind.
greetings from germany, pierrot.
Comment from Admin
Time: 11 September, 2009, 23:54
Pierrot,
I don’t mind at all – I think it is a very nice complement, so thank you. I’m glad that someone has used it and has liked it. Well done for putting the work in too!
I’ve had a look at your code and it is very clean and clear – I’ve learned a lot from it, so thank you. Let’s hope other people find it useful too.
Colin
Comment from Ali El-baden
Time: 2 January, 2010, 22:15
Dear Prof colin
I find your web site very useful, and I wish that you publish your structural analysis notes in a kind of a book , best wishes and happy new year.
Greating from Tripoli-Libya
Comment from eng-zarzour
Time: 19 March, 2010, 08:43
I’m now developing a new program about Prestressed Concrete for my Master degree , and i really enjoy to learn some concepts from your program , thanks a lot >>>> , for help about Matlab : i recommend this e-book “MATLAB Codes for Finite Element Analysis.pdf” for civil engineers ,for contact my email : spade-hero@hotmail.com
Comment from jock
Time: 30 March, 2010, 16:34
can you give me some example that use those *.m file. I’m waitting for u!
Comment from jock
Time: 30 March, 2010, 17:03
Sorry to trouble u. I’ve got the ex. thank’s a lot
Comment from Raim
Time: 26 May, 2010, 03:50
Hi, may I know if the CBA function can be used for a beam which has one support only at the end? I have found the function very useful for beams with support at either end, and kudos for that! But please enlighten me on this issue.
Thank you
Comment from Admin
Time: 26 May, 2010, 13:46
Raim,
Once you have specified enough boundary conditions to the make the beam stable, it should work fine. If it is a support at only one end then it must be a fixed support (or at least have sufficient spring support stiffnesses to prevent large rigid body motions). Make sure both translation and rotation are prevented as a first step.
Colin
Comment from wahyoe
Time: 20 June, 2010, 08:37
how to use make source
Comment from Dave
Time: 15 January, 2011, 22:19
Hi
Thanks very much for this nice introduction to matlab and stiffness method. I enjoy it.
But… If I create a double-span beam, everything looks right. When I kill the middle support by setting
R = [-1,0,0,0,-1,0]
I’d assume to get a single-span beam. Moments ans Shear-Force are looking okay, but the deflection seems a bit … uh … strange.
Looking closely, there seems to be something wrong with the deflection near a support, even the ending supports: there is a change of direction, in which the curve is bent. (Excuse my technical english, please). I’m not sure, if this happens in a «normal single span», too. The change to see it on the deflection-curve is too small.
But, again. Thanks a lot.
~dave
Comment from Admin
Time: 18 January, 2011, 17:17
Dave,
Very good spot – I’ve looked into it and the calculation for deflection is definately putting out something that’s not correct! The stiffness calculations are fine (e.g. the d of line 64, CBA.m), put in post processing for deflections along the member there is some error. It’s not jumping off the screen at me so I will have to take more time at it. I’ll post up a fix soon.
Thanks for that!
Colin
Comment from Admin
Time: 20 January, 2011, 21:12
Dave,
Looking into this a bit further, CBA works fine when used as originally intended when it uses one ‘element’ per span. When you removed the central support, you made a single span with two elements. I agree though that this should be possible and so I have a fix that will enable this to be used:
1. in the file mbr_values.m, delete (or comment out) the lines:
d = d + disps(1).*((2/L^3).*x.^3 – (3/L^2).*x.^2 +1); % end displacements
d = d + disps(3).*((-2/L^3).*x.^3 + (3/L^2).*x.^2);
2. In their place, insert the following:
h = L/npts;
Ri = disps(2);
di = disps(1);
R(2:npts+2) = cumtrapz(M(2:npts+2))*h/(E*I) + Ri;
d(2:npts+2) = cumtrapz(R(2:npts+2))*h + di;
This is using the moment area method to solve for the displacements instead of displacement functions. It will give the same results as previous for single-element spans, but unlike the previous code, will work when more than one element is used to represent a span.
Hopefully you find it helpful.
Comment from Dave
Time: 23 January, 2011, 17:09
Dear Collin
Thanks a lot for that quick answer. You know, I’m just a, let’s say, «normal» engineer. I was looking around to find some Information about how to programm something like cba. (And found your page coming from sourceforge.net.) We’re planning a lot of excavations. A state of the art static-software ist normally like shooting with tanks on sparrows for the calculations we need.
So, I was just doing some checks to see, if your code would do, what I expected, and found the result above.
Thanks a lot, that was very helpful. I’m gonna try, if/how I can use it for my daily work.
Yours, dave
Comment from Sebastian
Time: 20 September, 2011, 17:26
Hi,
Thanks for your useful site and to share all with us.
I have a quiestion. My english is not the best, I hope that you understand me!
How can I put a partial triangular ascending load? I’m trying in your Matlab program and in the c++ aplication made by Pierrot. In the Matlab program I don’t know how to put that kind of load (triangular load), and in the c++ aplication, I can put a partial triangular descending load, but not the ascending load.
Thanks a lot!
Sebastian
Comment from Admin
Time: 20 September, 2011, 18:32
Sebastian,
Your English is very good! I did not include the ability to apply this form of load in the program. Pierrot has included the ascending type only. You can try to include the load in either the Matlab or C++ version yourself if you know programming and the theory (and if you can follow the code). Otherwise you could try a freeware program like LinPro (http://www.line.co.ba) which is really good and easy to use.
Hope that helps,
Colin
Comment from Pierrot
Time: 30 November, 2011, 17:27
Sebastian,
a partial triangular ascending load is included in the c++ application, just use a negative value for the load length.
Kind Regards,
Pierrot
Comment from HMD
Time: 23 January, 2009, 00:45
Hi.
Thanks for your useful site.
i have a serious problem and i think you can help me.actually i need a program which can plot shearing stress and bending moment diagram for a beam.this beam can be under a point load or uniformly distributed load(rectangular and triangular)
i need this program as soon as possible.please help me if you can.
with the best thanks.