Software development
Programming Techniques in Finite Element Analysis
To develop modern and efficient software for finite element analysis, it is also necessary to integrate the latest advances in the field of programming. Programming techniques that are of interest to finite element programs are:
- Parallel programming with CPU and GPU
- Integration of finite element computation in scripting environments such as Python (NumPy) and MATLAB
- How to take advantage of recent developments in programming languages to facilitate the implementation of finite element programs (C++ / Modern Fortran).
- Distributed methods to take advantage of greater computational resources (HPC).
- Real-time computations with finite element programs to enable interactive access of computational models.
Visualization Techniques in Finite Element Analysis
An area that is also interesting to develop in a finite element context is visualization of computational results. Most tools for visualization in structural and solid mechanics often use standard methods where the results are presented in colour scales mapped to forces and stresses. In the field of visualization, there is a rapid development of both methods and hardware that enable the visualization of large models in completely new ways and scales. At the department, we have, among other things, developed methods for the visualization of fibre networks, the visualization of old construction methods, and the use of VR (Virtual Reality).
Software development
The department continuously develops software in the areas described. Below are some of the programs, libraries, and environments that have been developed at the department:
- ObjectiveFrame is a software for real-time interaction with beam models.
- CALFEM (Matlab/Python) a toolkit (library) for teaching and developing finite element programs.
- Interactive Visualisation Framework Ivf++, an application library used in ObjectiveFrame and developed visualization methods.
- ForcePAD is a sketch-based tool for studying internal forces and deformations.
- SketchAFrame is a software that creates textures easily on an iPad.
- HACON An application for the simulation of hardening concrete.
Most of the software is freely available with available source code; see the following links:
- ObjectiveFrame
- CALFEM
- Source code for Python - https://github.com/CALFEM/calfem-python
- Source code for MATLAB - https://github.com/CALFEM/calfem-matlab
- Documentation for Python– https://calfem-for-python.readthedocs.io/en/latest/
- Documentation for MATLAB - https://github.com/CALFEM/calfem-matlab/blob/master/calfem-3.6-manual-full.pdf
- Install - https://pypi.org/project/calfem-python/
- ForcePAD
- Source code - https://github.com/jonaslindemann/forcepad
- Windows Store - https://www.microsoft.com/store/productId/9WZDNCRDX1MP?ocid=pdpshare
- Interactive Visualisation Framework – Ivf++
- Source code - https://github.com/jonaslindemann/ivfplusplus
- Source code for version 2 (beta) - https://github.com/jonaslindemann/ivf2