Learn the process to build apps that provide real value to your work and that other people will definitely want to use as well.
Most companies that are involved in designing and building pile foundations need to perform many analyses to ensure that their foundation designs meet the safety standards as described in the NEN. Commonly, D-Foundations software is used to perform these calculations.
D-Foundations is a software-package, created by Deltares: An academic institute that focuses on Hydro- and Geotechnologies. It is mostly used in the Civil and Architecture sectors. With D-Foundations, you can calculate the required depth of a set of specified foundation piles, placed in a particular soil composition (based on GEF files) and under a certain load. Using location-specific soil information, these kind of foundation calculations can be applied to many different constructions in the Building and Infrastructure sector, such as a factory floor for heavy machinery, a tall apartment building, or even the foundations for wind turbines and high voltage pylons.
Normally, to find the most optimal and cost-effective design, a Geotechnical Engineer needs to analyse a great number of possible designs. This is a time-intensive and tedious process, which is very prone to error as well. With today’s high demands on short delivery times, there is only time to evaluate a handful of designs. Because of that, the best design is not always found within that time frame.
To be able to run more D-Foundations analyses in shorter time, a binding between the D-Foundations software and the VIKTOR platform is made. The working principle of this binding will be explained in more detail later on in this article.
With this binding, a D-Foundations analysis can be ran with just a few lines of Python code (see example code below). We can take the necessary input data, which is already centralized in the VIKTOR application upon uploading, and run multiple different D-Foundations analyses, without any human interaction needed. This means: No need for opening the GUI of D-Foundations and going through each of the steps manually!
Similar to other software packages of the Geo-technical suite of Deltares, D-Foundations uses a set of input, settings, and dump files to store the in- and- output data of the calculations. These input files can be analyzed by D-Foundations in batch-mode through the command line, which will then create a dump-file with the results of the analysis. These files, however, are not very easy to understand and even harder to write yourself.
Therefore, the following automated workflow was devised:
*This requires no interaction from the user, nor does it require any coding from a developer, as this functionality is build into the VIKTOR platform
Points 2 to 4 are quite generic, so the focus of this article will be on the first point: Generating the input file.
The combination of the filled-in VIKTOR web interface and the soil information that has been uploaded to the platform database hold all the information needed to perform a D-Foundations calculation. It is a matter of compiling all this data in the correct format into a D-Foundations input file. While the general concept of compiling a text-based input file is quite easy, the hardest part of creating a valid input file was the reverse-engineering of all potential input options and finding which specific pieces of information needed to be put where.
The current average D-Foundations input file that we work with can easily contain over 100,000 lines of text. Therefore, putting the right information in the right place is essential. Unfortunately, no detailed documentation of the input file layout is available, so this process took significant time to complete. An added complexity was that the layout of the input file would change significantly, depending on which options were selected. This required numerous edge-cases to be evaluated and a lot of logic to be implemented.
In order to ensure the input file is correctly generated, the following steps have been executed:
The innovative part is making the binding generic enough in such a way that it can be applied over a wide range of different projects/designs. This makes the binding future proof and much more valuable to current and future customers.
Once the D-Foundations file has been created, it can be used in several ways:
Both these options are generic functions that are part of the generic VIKTOR platform and are therefore available but not limited to the D-Foundations software package.
Download D-Foundations input files in a zip-file
Run the D-Foundations analysis directly through the VIKTOR platform and visualize the result
Binding D-Foundations with the VIKTOR platform has various advantages, like:
These advantages offer a lot of potential for a company, both in terms of costs and quantity:
The binding that has been written for D-Foundations has been set up in such a way that it is as generic as possible. This allows it to be applied to many different varieties in the design of pile foundations. This opens up the possibility of evaluating a great many different designs in an optimization scheme.
The binding is very user-friendly and follows roughly the same steps as setting up a D-Foundations calculation through the D-Foundations user interface. Therefore, writing the code to create a D-Foundations input file should be very straightforward for an engineer or developer who has used the software package before.
The VIKTOR platform ensures that the data required for the D-Foundations calculations is all centralized in a single place. It also handles all data-traffic between the application and the server with the D-Foundations software package. This way, the Geotechnical Engineer doesn’t even need to have the software or the input data installed on his device to be able to perform D-Foundations calculations and analyses!