Localizes damage on structures by performing adjoint optimization over the Young modulus of the elements of a CalculiX model.
-
Download PyROL, go to the download directory and run
python3 -m pip install pyrol-2024.9.13.13.29develop.4795e2b0.tar.gz
-
Download source code from https://www.dhondt.de/ and follow the instalation guide. Alternative, you can directly download the Linux executable provided.
-
This program will attempt to run CalculiX by using the command
ccx. In order to do this you can create a symbolic link to your CalculiX executable. If, for instance, your CalculiX executable is located at/home/user/Calculix/CalculiX/ccx_2.22/src/ccx_2.22_MT, you can create a symbolic link to it by doingcd mkdir bin cd bin ln -s /home/user/Calculix/CalculiX/ccx_2.22/src/ccx_2.22_MT ccx
Following this, make sure that this bin directory belongs to your PATH:
cd nano .bashrcand add the following line:
export PATH="/home/user/bin:$PATH"
where
/home/usershould be replaced with your own home directory. -
The remaining libraries can be installed using
piporpip3:pip install numpy scipy vtk
Use the application present in the apps folder as reference.
An example can be found in the wiki.
Below are the articles that make use of this framework. If you find them or this code useful, please make sure to cite them!
-
Airaudo, Facundo N., et al. "Adjoint-based determination of weaknesses in structures." Computer Methods in Applied Mechanics and Engineering 417 (2023): 116471.
-
Airaudo, Facundo N., Harbir Antil, and Rainald Löhner. "Conditional value at risk for damage identification in structural digital twins." Finite Elements in Analysis and Design 245 (2025): 104316.
-
Löhner, Rainald, et al. "High‐fidelity digital twins: Detecting and localizing weaknesses in structures." International Journal for Numerical Methods in Engineering 125.21 (2024): e7568.
-
Ansari, Talhah Shamshad Ali, et al. "Adjoint-based recovery of thermal fields from displacement or strain measurements." Computer Methods in Applied Mechanics and Engineering 438 (2025): 117818.