Visual Basic
The following programs are written in Visual Basic 6. Mostly they are useful for the code snippets, but there are some fully-fledged applications here also. The source codes are given, as are some of the installation programs. Note that the inclusion of the run time files bloats the download. The programs are released under the terms of the GNU General Public License.
FEBeam
This program is the most comprehensive I’ve written in Visual Basic. It is a finite-element analysis package for beams alone. Its benefits are that the second moment of area, as well as the modulus of elasticity can be varied throughout the beam, in steps or curves or even a mixture of the two. All regular forms of loading are allowed for as are fixed displacements and spring supports. An automatic meshing routine, as well as a user-defined mesh density also feature. This combination make it very useful for checking unusual design scenarios not covered by regular analysis software. There are some limitations to it though, for example the output is not comprehensive and neither is the error checking. But it is still a useful program, and a good introduction to programming the finite element method. There are an endless list of possible upgrades to this program, but at the moment I don’t have any intention of doing more work on it.
Note that Section 15 of the GNU GPL, Disclaimer of Warranty, and Section 16, Limitation of Liability, are particularly pertinent to this engineering design program.
Source (305 KB) — Installation (5.61 MB)
TrussMaster
This is a fairly functional truss analysis program that features common CAD commands. A user-defined grid can be set up and nodes snapped to grid points and members drawn between nodes. Loads and supports can be defined in the data entry grid, or by generation. Members and nodes can also be created using the node/member generation boxes. Member properties can be generated for any sequence of members, or input via the data entry grid. Note that a pinned support is input as a “1″ and a roller support as a “2″. The member and nodal results are output in a grid, whilst the deflected shape is drawn to a user-defined scale, and can also be animated to examine the structural behaviour. There are features required before the program is really useful, such as:
- member forces to be drawn in window;
- animation re-scale;
- better support conditions definitions;
- better output of results;
- member selection and editing;
- move node feature;
- better drawings of loads and supports.
I’m not sure when I’ll get around to these features (if ever!) so you get it as it is - it’s still very useful though.
Note that Section 15 of the GNU GPL, Disclaimer of Warranty, and Section 16, Limitation of Liability, are particularly pertinent to this engineering design program.
Source (96 KB) — Installation (4.33 MB)
TrussGenerator
For some standard trusses, it is laborious to type all joint/member coordinates and loadings into TrussMaster. Therefore this little program generates a TrussMaster file for standard truss configurations. (Actually I lie - it only does the Pratt or “N” configuration for now :)).
Source (19 KB) — Installation (2.73 MB)
EC5 Joist
This program is a useful design tool for checking domestic joist designs to Eurocode 5. All usual configurations of span, joist spacing, joist size and material grade are allowed for. Design checks include bending, shear, end-bearing and deflections. The material properties are held on a database file that must reside in the same directory as the exe file. Definitely useful as a fully installed program.
Note that Section 15 of the GNU GPL, Disclaimer of Warranty, and Section 16, Limitation of Liability, are particularly pertinent to this engineering design program.
Source (20 KB) — Installation (6.21 MB)
Steel Sections Database
This is a simple program that renders the section properties and an image of a selected steel section from the included database. The sections included are UB, UC, UBP and PFC (though I think the PFC crashes it :)). It’s a basic introduction to how one might include a sections-library into a larger program.
Graph Displacement
This is a small program that graphs the Euler-Bernoulli shape function for a flexural member when the end translations and rotations are given. It then finds the location and value of the maximum displacement along the element. Sort-of useful in its own. It was included into FEBeam to visualize individual element displacements.
Recently Used Files
This program demonstrates the use of a module that manages the recently used files list in the File menu. This version is an update of the previous one that has been downloaded over 36,000 times (here)! This program’s main use is to provide the RUF module for inclusion in your own package. Therefore the installation program really only serves to provide the runtime files if needed.
Source (15 KB) — Installation (2.83 MB)
Linear Simultaneous Equations
This program demonstrates two modules written for the solution of matrix equations. The modules are for Gauss Elimination and Cholesky Decomposition. These modules are useful in larger programs, such as finite-element or stiffness method solutions. Both FEBeam and TrussMaster use the Gauss Elimination module as it is found to be more robust than the Cholesky Decomposition module, which (strangely) is the preferred solution method of commercial programs. Not tremendously useful as an installed program.
Source (17 KB) — Installation (2.61 MB)
Stochastic Beam Design
This program uses the Monte Carlo method to calculate the probability of failure of a simply-supported beam in which all variables are stochastic. Each variable can have one of the five different probability distributions which are allowed for. Possibly interesting as an installed program to investigate safety levels in a potential design.
Source (23 KB) — Installation (3.7 MB)
Operations Time
This program finds the time required by different operators (+, -, x, /) on your particular machine.
Comments
Comment from apparao
Time: November 7, 2008, 3:24 pm
very interesting and useful programs presented









Comment from salah
Time: August 28, 2008, 11:32 am
very happy to find this site and thanks for the team who run this site