BESLE: Boundary element software for 3D linear elasticity. Version 2.0

The version 2.0 of the B oundary E lement S oftware for 3D L inear E lasticity ( BESLE ) is presented. BESLE is an open-source Fortran 90 code for the simulation of isotropic and anisotropic solids under quasi-static, dynamic, and high-rate boundary conditions using elastostatic and elastodynamic boundary element formulations. Compared to the initial release, this new version introduces a substantially simplified installation procedure. BESLE v1.0 required users to manually download, configure, and integrate external libraries such as MUMPS, SCOTCH, and ScaLAPACK, which often represented a barrier for new users. In contrast, version 2.0 provides an online installer, which automatically downloads, prepares, and installs the required libraries from public repositories. This new approach makes the deployment of BESLE straightforward, reducing installation time and minimising potential user errors. No changes have been made to the core numerical methods, input structure, or supported physics. BESLE v2.0 therefore retains full compatibility with existing simulations and examples, while significantly improving ease of installation, accessibility, and reproducibility. Program Title: Program Title: BESLE CPC Library link to program files: https://doi.org/10.17632/vx4vg47hzg.2 Developer's repository link: https://github.com/GalvisA1087/BESLE_v2.0.git Licensing provisions: GPL-v3.0 Programming language: Fortran 90, C++/C Journal reference of previous version: Comput. Phys. Commun. 265 (2021) 108009 [1] Does the new version supersede the previous version?: Yes Reasons for the new version: The main reason for the new version is to overcome the complexity of the installation process in BESLE v1.0. Version 2.0 introduces the online installer, which bundle or automatically fetch the required third-party libraries. This makes the software much easier to deploy, reduces user errors, and improves reproducibility, while preserving full compatibility with previous results. Summary of revisions: The core numerical algorithms, input/output structure, and supported physical models of BESLE remain unchanged with respect to version 1.0. The revision focuses exclusively on the installation procedure, which has been redesigned to simplify deployment and reduce user effort. This software must be installed in an Ubuntu distribution due to its parallel (distributed memory MPI based) implementation. The following are the updated installation instructions: • MPI : It is recomended to install “libopenmpi-dev” using the Synaptic Package Manager, or using terminal with ~$ sudo apt-get install libopenmpi-dev an additional option is e.g., MPICH using ~$ sudo apt-get install mpich • BLAS, LAPACK, zlib1g BISON and FLEX : ~$ sudo apt-get install libblas-dev liblapack-dev ~$ sudo apt-get install zlib1g-dev bison flex • GIT : Necessary to download and clone the packages. ~$ sudo apt install git-all • BESLE compilation : The BESLE application needs the use of 3 rd party software (MUMPS, SCOTCH, SCALAPACK, VORO++ and TRIANGLE). These packages are downloaded through the GitHub hosting platform. The downloads are launched using the command ~/BESLE$ make get To perform correctly the installation needs that every package be placed in a specific location with the proper configuration files. This pattern is gotten by using the command: ~/BESLE$ make prepare The MPI path is needed in the installation of SCOTCH, then a default path is provided at line 4 of the file Makefile.inc.scotch located at ~/BESLE_ROOT/Make.inc The path is given by the flag MPIPATH MPIPATH = -I/usr/include/x86_64-linux-gnu/mpich To verify this path in the user's system, e.g., use ~$ whereis mpich To build the BESLE application ~/BESLE$ make install Now, the installation is completed! In order to delete all the generated files during compilation and restore the state as before any installation, use the command: ~/BESLE$ make uninstall In case where the download process stops unexpectedly and the user wants to clean up the incomplete generated folders, the following command is provided: ~/BESLE$ make clean Which removes all the cloned directories. However, it is worth noting that the download process takes care to clean up any left directory before starting to download. External libraries: LAPACK [2], BLAS [3], SCOTCH [4], ScaLAPACK [5], MUMPS [6], Voro++ [7], Triangle [8] Nature of problem: The solution of 3D elasticity models of heterogeneous materials is often arduous owing to the complexity of the underlying system of partial differential equations. Some analyses that require intensive computation are solids under quasi-static, inertial, and high-rate loading (all of which are treated by BESLE ). Solution method: BESLE provides a strategy to configure and solve complex problems of 3D heterogeneous solids using the elastostatic and elastodynamic formulations of the boundary element method (BEM). Moreover, it provides flexible means create surface meshes, to impose both Neumann and Dirichlet boundary conditions, and comes with a material database for fast parameterisation. It allows large scale problems to be treated in a straightforward framework. The mechanical behaviour of isotropic and anisotropic bodies which can include several domains, each comprised of heterogeneous materials with a diverse range of constitutive properties and complex morphologies, are feasibly analysed. Restrictions: Fortran is limited in the size of arrays that can be allocated. Thus, for very large problems the number of degrees of freedom in the discretised system can exceed that allowed in Fortran, even if the machine has a large amount of RAM. To avoid over-allocation we have added functionality to check whether BESLE , and it's underlying Fortran code, will be able to handle the requisite number of degrees of freedom in advance of a calculation being executed. In the event that this limitation will be approached, BESLE will return an error message advising that the number of entries required will exceed 70% of the limit imposed by Fortran. [1] Andres F. Galvis and Daniel M. Prada and Lucas S. Moura and Cecilia Zavaglia and Jamie M. Foster and Paulo Sollero and Luiz C. Wrobel. BESLE : Boundary Element Software for 3D Linear Elasticity. Computer Physics Communications 265 (2021) 108009. doi.org/10.1016/j.cpc.2021.108009 [2] LAPACK: http://www.netlib.org/lapack/ [3] BLAS: http://www.netlib.org/blas/ [4] SCOTCH: https://github.com/live-clones/scotch.git [5] ScaLAPACK: https://github.com/Reference-ScaLAPACK/scalapack.git [6] MUMPS: https://github.com/coin-or-tools/ThirdParty-Mumps.git [7] Voro++: https://github.com/chr1shr/voro.git [8] Triangle: https://github.com/PhilipLudington/Triangle.git

Authors

Institutions

Publication Details

Journal
Computer Physics Communications
Published
2025-09-20
DOI
https://doi.org/10.1016/j.cpc.2025.109871
Primary Topic
BIM and Construction Integration
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

BESLE: Boundary element software for 3D linear elasticity. Version 2.0

Andres F. Galvis, Rahim Si Hadj Mohand
Computer Physics Communications
BIM and Construction Integration
article

BESLE: Boundary element software for 3D linear elasticity. Version 2.0

Andres F. Galvis, Rahim Si Hadj Mohand
article en

Abstract

The version 2.0 of the B oundary E lement S oftware for 3D L inear E lasticity ( BESLE ) is presented. BESLE is an open-source Fortran 90 code for the simulation of isotropic and anisotropic solids under quasi-static, dynamic, and high-rate boundary conditions using elastostatic and elastodynamic boundary element formulations. Compared to the initial release, this new version introduces a substantially simplified installation procedure. BESLE v1.0 required users to manually download, configure, and integrate external libraries such as MUMPS, SCOTCH, and ScaLAPACK, which often represented a barrier for new users. In contrast, version 2.0 provides an online installer, which automatically downloads, prepares, and installs the required libraries from public repositories. This new approach makes the deployment of BESLE straightforward, reducing installation time and minimising potential user errors. No changes have been made to the core numerical methods, input structure, or supported physics. BESLE v2.0 therefore retains full compatibility with existing simulations and examples, while significantly improving ease of installation, accessibility, and reproducibility. Program Title: Program Title: BESLE CPC Library link to program files: https://doi.org/10.17632/vx4vg47hzg.2 Developer's repository link: https://github.com/GalvisA1087/BESLE_v2.0.git Licensing provisions: GPL-v3.0 Programming language: Fortran 90, C++/C Journal reference of previous version: Comput. Phys. Commun. 265 (2021) 108009 [1] Does the new version supersede the previous version?: Yes Reasons for the new version: The main reason for the new version is to overcome the complexity of the installation process in BESLE v1.0. Version 2.0 introduces the online installer, which bundle or automatically fetch the required third-party libraries. This makes the software much easier to deploy, reduces user errors, and improves reproducibility, while preserving full compatibility with previous results. Summary of revisions: The core numerical algorithms, input/output structure, and supported physical models of BESLE remain unchanged with respect to version 1.0. The revision focuses exclusively on the installation procedure, which has been redesigned to simplify deployment and reduce user effort. This software must be installed in an Ubuntu distribution due to its parallel (distributed memory MPI based) implementation. The following are the updated installation instructions: • MPI : It is recomended to install “libopenmpi-dev” using the Synaptic Package Manager, or using terminal with ~$ sudo apt-get install libopenmpi-dev an additional option is e.g., MPICH using ~$ sudo apt-get install mpich • BLAS, LAPACK, zlib1g BISON and FLEX : ~$ sudo apt-get install libblas-dev liblapack-dev ~$ sudo apt-get install zlib1g-dev bison flex • GIT : Necessary to download and clone the packages. ~$ sudo apt install git-all • BESLE compilation : The BESLE application needs the use of 3 rd party software (MUMPS, SCOTCH, SCALAPACK, VORO++ and TRIANGLE). These packages are downloaded through the GitHub hosting platform. The downloads are launched using the command ~/BESLE$ make get To perform correctly the installation needs that every package be placed in a specific location with the proper configuration files. This pattern is gotten by using the command: ~/BESLE$ make prepare The MPI path is needed in the installation of SCOTCH, then a default path is provided at line 4 of the file Makefile.inc.scotch located at ~/BESLE_ROOT/Make.inc The path is given by the flag MPIPATH MPIPATH = -I/usr/include/x86_64-linux-gnu/mpich To verify this path in the user's system, e.g., use ~$ whereis mpich To build the BESLE application ~/BESLE$ make install Now, the installation is completed! In order to delete all the generated files during compilation and restore the state as before any installation, use the command: ~/BESLE$ make uninstall In case where the download process stops unexpectedly and the user wants to clean up the incomplete generated folders, the following command is provided: ~/BESLE$ make clean Which removes all the cloned directories. However, it is worth noting that the download process takes care to clean up any left directory before starting to download. External libraries: LAPACK [2], BLAS [3], SCOTCH [4], ScaLAPACK [5], MUMPS [6], Voro++ [7], Triangle [8] Nature of problem: The solution of 3D elasticity models of heterogeneous materials is often arduous owing to the complexity of the underlying system of partial differential equations. Some analyses that require intensive computation are solids under quasi-static, inertial, and high-rate loading (all of which are treated by BESLE ). Solution method: BESLE provides a strategy to configure and solve complex problems of 3D heterogeneous solids using the elastostatic and elastodynamic formulations of the boundary element method (BEM). Moreover, it provides flexible means create surface meshes, to impose both Neumann and Dirichlet boundary conditions, and comes with a material database for fast parameterisation. It allows large scale problems to be treated in a straightforward framework. The mechanical behaviour of isotropic and anisotropic bodies which can include several domains, each comprised of heterogeneous materials with a diverse range of constitutive properties and complex morphologies, are feasibly analysed. Restrictions: Fortran is limited in the size of arrays that can be allocated. Thus, for very large problems the number of degrees of freedom in the discretised system can exceed that allowed in Fortran, even if the machine has a large amount of RAM. To avoid over-allocation we have added functionality to check whether BESLE , and it's underlying Fortran code, will be able to handle the requisite number of degrees of freedom in advance of a calculation being executed. In the event that this limitation will be approached, BESLE will return an error message advising that the number of entries required will exceed 70% of the limit imposed by Fortran. [1] Andres F. Galvis and Daniel M. Prada and Lucas S. Moura and Cecilia Zavaglia and Jamie M. Foster and Paulo Sollero and Luiz C. Wrobel. BESLE : Boundary Element Software for 3D Linear Elasticity. Computer Physics Communications 265 (2021) 108009. doi.org/10.1016/j.cpc.2021.108009 [2] LAPACK: http://www.netlib.org/lapack/ [3] BLAS: http://www.netlib.org/blas/ [4] SCOTCH: https://github.com/live-clones/scotch.git [5] ScaLAPACK: https://github.com/Reference-ScaLAPACK/scalapack.git [6] MUMPS: https://github.com/coin-or-tools/ThirdParty-Mumps.git [7] Voro++: https://github.com/chr1shr/voro.git [8] Triangle: https://github.com/PhilipLudington/Triangle.git

Computer Physics CommunicationsVol. 318
Polytechnic School of Algiers (DZ), University of Portsmouth (GB)
Openalex Percentile: Top 72%
BIM and Construction Integration
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.