Programming

I code to automate tasks at my job, I develop tools to share with others and I code for fun.

It all started with some basic HTML and Pascal in the early 2000s. Since then, I have used the following programming languages for various purposes:

  • Python
  • Visual Basic for Applications (VBA)
  • Visual Basic .NET
  • Matlab/Octave
  • GDScript
  • Delphi/Pascal
  • Dynamo.

Android Apps

I have published several small Android apps. I have used Python/Kivy and Godot to develop these apps. Read more:

Android Apps by Brisid
https://brisidi.wordpress.com/android-apps/

VBA GUI programs

To automate design calculations and reports during my work as a Structural Engineer, I have developed several VBA macros for:

  • punching shear in concrete flat slabs to Eurocode 2, ACI 318 and Model Code 2010;
  • design of  beams to Eurocode 2 (including serviceability);
  • analysis of retaining walls to Eurocode 7;
  • design of steel connections;
  • automating Excel spreadsheet operations, etc.

Easily customizable and detailed Microsoft Word reports of design calculations are instantly produced using these macros. Here are some examples:

VBA macro for punching shear design
VBA program for punching shear calculations and automatic report writing
VBA macro for reinforced concrete beam design based on Eurocode 2
VBA program for the design of reinforced concrete beams and automatic report writing
VBA macro for the design of retaining walls
VBA program for the design of retaining walls and automatic report writing

VBA macros to automate tasks

I have developed VBA scripts to automate tasks during my work as a structural engineer, leading to significant time saving for the teams I was part of. Notable examples include:

  • bulk analysis, safety verification and report generation for approximately 200 bridges in southern Albania;
  • automatic modification, analysis and post-processing of CSI Sap2000 models of various school buildings using CSI API.

A stand-alone application for Finite Element Analysis

MEF-FIN is a stand-alone program I developed around 2015 for personal research and educational purposes. The program was written in Visual Basic .NET and it has a GUI in Albanian. The program analyses 2D frames using the Finite Elements Method. Linear and eigenvalue analyses are supported.

MEF-FIN finite element analysis program
Finite Element Analysis program MEF-FIN (GUI in Albanian)

Python scripts

I have used Python extensively to analyze experimental and numerical data during my research, to plot and to automate different tasks. In some cases, especially during the first years of my PhD, I have used Matlab/Octave.

In addition, I have experimented a bit with Computer Vision in Python:

Finally, I use Python to write scripts for my Raspberry Pi. I am currently experimenting the use of low-cost accelerometers for the analysis of vibrations in structures:

Rapberry Pi and a low cost accelerometer
Low-cost accelerometer controlled by a Raspberry Pi

Dynamo (+ Python)

I use Python, sometimes with the help of Dynamo, to automate repetitive tasks when I work with programs such as Autodesk Robot, Autocad and Advance Steel. In the example below, I am using Dynamo with some Python nodes to model bolted connections in a steel lattice tower in Advance Steel.