BESLE: Boundary element software for 3D linear elasticity

BESLE: Boundary element software for 3D linear elasticity
复制标题

DOI:
10.1016/j.cpc.2021.108009
复制
发表时间:
2021-04
期刊:
Comput. Phys. Commun.
影响因子:
--
通讯作者:
A. F. Galvis;D. Prada;Lucas S. Moura;C. Zavaglia;J. Foster;P. Sollero;L. Wrobel
A. F. Galvis;D. Prada;Lucas S. Moura;C. Zavaglia;J. Foster;P. Sollero;L. Wrobel
中科院分区:
其他
文献类型:
--
作者:
A. F. Galvis;D. Prada;Lucas S. Moura;C. Zavaglia;J. Foster;P. Sollero;L. Wrobel

文献摘要

被引文献

相似文献

BESLE是第一个可用的并行开源代码,用于在3D和弹性静力和弹性动力设置中使用边界元法(BEM)分析非均质材料的力学行为。与目前可用的所有其他代码不同,这里介绍的软件能够模拟由单个或多个域组成的各向同性和各向异性材料。此外,用户界面的设计提供了一个方便的方式来配置涉及许多复杂的材料成分的模拟。计算结果用位移场和牵引场描述,并给出了应力应变张量,可用于后处理。BESLE主要在Fortran-MPI中实现,但一些子包基于其他语言,如C和C++,因此该软件最好用于可以充分利用并行化的多核架构。BESLE的主要特性和功能在这里介绍,用户指南(可从下面列出的存储库中获得)提供了更多详细信息,并概述了用户如何执行定制模拟。程序摘要程序标题:BESLECPC程序文件库链接:https://doi.org/10.17632/vx4vg47hzg.1开发人员存储库链接:https://github.com/Afgr1087/BESLE_v1.0.gitLicensing规定:GPL-v3. 0编程语言:Fortran 90,C++/C外部库:LAPACK [1],BLAS [2],SCOTCH [3],ScaLAPACK [4],MUMPS [5],Voro++ [6],Triangle [7]问题性质:由于偏微分方程组的复杂性,非均质材料三维弹性模型的求解往往是困难的。一些需要密集计算的分析是在准静态、惯性和高速率载荷下的固体(所有这些都由BESLE处理)。解决方法:BESLE提供了一种策略,使用边界元法(BEM)的弹性静力和弹性动力公式来配置和解决三维非均匀固体的复杂问题。此外,它还提供了灵活的方法来创建表面网格,以施加Neumann和Dirichlet边界条件,并带有材料数据库以快速参数化。它允许在一个简单的框架中处理大规模的问题。各向同性和各向异性体,其中可以包括几个域,每个域由具有不同范围的本构特性和复杂的形态的异质材料的力学行为,是可行的analysed.Additional评论,包括限制和不寻常的功能:Fortran是有限的,可以分配的数组的大小。因此,对于非常大的问题,离散系统中的自由度数量可能超过Fortran中允许的数量,即使机器有大量的RAM。为了避免过度分配,我们增加了检查BESLE及其底层Fortran代码是否能够在执行计算之前处理所需的自由度的功能。如果接近这个限制,BESLE将返回一个错误消息,通知所需的条目数将超过Fortran所施加限制的70%。参考文献[1]LAPACK:http://www.netlib.org/lapack/. [2]BLAS:http://www.netlib.org/blas/。[3]苏格兰:https://gforge.inria.fr/projects/scotch/。[4]ScaLAPACK:http://www.netlib.org/scalapack/。[5]MUMPS:http://mumps.enseeiht.fr/。[6]Voro++:http://math.lbl.gov/voro++/。[7]Triangle:https://www.cs.cmu.edu/~quake/triangle.html.
BESLE is the first available parallel open-source code to analyse the mechanical behaviour of heterogeneous materials using the boundary element method (BEM) in 3D and in both an elastostatic and elastodynamic setting. Unlike all the other codes that are presently available, the software presented here is capable of simulating both isotropicandanisotropic materials comprised of single or multiple domains. Furthermore, the user-interface has been designed to provide a convenient way for configuring simulations involving many complex material constituents. Results are described by the displacement and traction fields, also, the stress and strain tensors are available for post-processing. BESLE is largely implemented in Fortran-MPI, but some of the sub-packages are based on other languages such as C and C++, and as such a the software is best used on a multi-core architecture where the parallelisation can be fully exploited. The main features and functionality of BESLE are presented here, and the User's Guide, available from the repository listed below, gives further details and outlines how users can carry out bespoke simulations.Program summaryProgram Title:BESLECPC Library link to program files:https://doi.org/10.17632/vx4vg47hzg.1Developer's repository link:https://github.com/Afgr1087/BESLE_v1.0.gitLicensing provisions:GPL-v3.0Programming language:Fortran 90, C++/CExternal libraries:LAPACK [1], BLAS [2], SCOTCH [3], ScaLAPACK [4], MUMPS [5], Voro++ [6], Triangle [7]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, is feasibly analysed.Additional comments including restrictions and unusual features: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.References[1]LAPACK: http://www.netlib.org/lapack/.[2]BLAS: http://www.netlib.org/blas/.[3]SCOTCH: https://gforge.inria.fr/projects/scotch/.[4]ScaLAPACK: http://www.netlib.org/scalapack/.[5]MUMPS: http://mumps.enseeiht.fr/.[6]Voro++: http://math.lbl.gov/voro++/.[7]Triangle: https://www.cs.cmu.edu/~quake/triangle.html.