My background: Civil/Structural and Mechanical Engineering.
I work as a Structural Engineer designing bridges. I would like to develop a program that analyzes and design structures but do not know much about software development.
I have created a library of spreadsheets that are very powerful and when working together they can be as effective as some of the mid-size programs out there. Each spreadsheet has hundreds of columns and rows. Each cell contains a decent amount of coding: If, count, lookup, etc.. Excel stuff….
Some of my graduate teachers checked them and were very impressed, so they suggested contacting a software engineer. However, I want to do it myself mainly because I want to learn.
I would really appreciate any help.
For those of you who choose to help, please, keep in mind that I do not have any knowledge about programing. I can code in excel and a bit of c++ , but that is it.
I downloaded Visual Express (windows) because it is free, but even that was too much for me. The only thing I got accomplished was creating a status bar (searched it online!)
The main purpose of the program will be to d finite element linear and nonlinear, static and dynamic analysis of structural elements. Basically analyze and design structures (2d and 3d, starting with 2d).
The program should be able to generate mesh and perform numerical integration/ differentiation to determine geometry of element and properties such as moment of inertia, centroid, etc... (Using Automatic differentiation) For example, if the user wants to create an irregularly shaped column, he/she can just draw n the screen and the software is to generate the mesh and calculate the properties.
The design part:
Based on codes, classical analysis etc..., the program will design structures by checking various equations stored in libraries. There will aslo be a library containing commonly used shapes and materials so
that if , for instance, steel beams will be used on a simple bridge, the software will do the analysis based on the equations stored n the libraries and it can select the shape with the needed mechanical properties and so on.....
The program should be able to do matrix analysis. Matrix analysis is very common and effective. So the software should have matrix analysis capabilities. It should not only be able to analyze matrices, but generate them based on loads ,degrees of freedom of the strictures' support, etc...
Software should be able to generate graphs, schedules and reports.
Here's a list of some of the libraries that will be stored in the program:
Properties of materials
Commonly used shapes (Mainly steel W shapes, channels, angles etc..)
Design equations (LOTS!!!)
Mathematical functions and operations and transformations
History of some important structures
And a few more
Which language would be more suitable? C++, C,...?
Do all language communicate with excel? Can I use the code used n my spreadsheets in c++ ?