Inspiration

Many modern load calculators perform calculations based on the finite element method (FEM). It is important for an engineer to be able to rationally analyze the behavior of elements under load. Personally (and according to the opinion of PhDs from the university where I study), I believe that performing manual analysis is the basis for an intuitive understanding of the issue. Hence, the idea of making a calculator using one of the simplest methods of calculation.

What it does

With the available menu, the user selects the beam he would like to analyze. He configures the supports, loads and compartments of the beam. He then selects the method for calculating the load on the beam. The program generates the equilibrium equations of the system, and then solves them by determining the forces acting in the selected supports. The equation of moments in all compartments is then laid out. Double integration is performed, which according to the approximations of Clebsch's method gives: the equation of the angle of deflection of the beam, the equation of the shear force. Based on the above two equations and the information on the supports used, the integration constants are determined.

How we built it

The project was built using mostly previous experience in creating simple games in JavaScript canvas. By using the P5.js library, it was possible to streamline the GUI development process. Computation on the js side is mainly done with the support of math.js and nerdamer libraries. The display of mathematical notation on the “client” side is supported by the MathJax library.

Challenges we ran into

In the course of the project, I encountered several problems. However, they were not so significant to be particularly remembered/considered. One of them (that I remembered) was the integration of the individual steps of the Clebsch method solution. This was solved by saving the data from the individual steps as object variables.

Accomplishments that we're proud of

I'm most proud of completing such an elaborate project alone with a fairly limited amount of time to complete it (personally, I could only complete it for a total of two weeks). In addition, I am proud of retaining my skills in programming from my high school days (I am currently studying a non-IT major).

What we learned

Over the course of the project, I learned how webpack works, as well as many great libraries to simplify application development. I'm most pleased with learning about the P5js library and mathjs. Their existence saved a huge amount of time in the project.

What's next for Beam calculator

As a first step, I plan to refactor the code to make it more readable. In addition, the initial documentation of functions will be very helpful for future development of the project. From the things concerning the functioning of the calculator itself, I would like to add, first of all, support for distributed loads other than rectangular. In addition, I think it will be necessary to introduce descriptions for equations and add a description of the Clebsch method.

Built With

Share this project:

Updates