Abstract

Fast and accurate numerical integration always represented a bottleneck in high-performance computational physics, especially in large and multiscale industrial simulations involving Finite (FEM) and Boundary Element Methods (BEM). The computational demand escalates significantly in problems modelled by irregular or endpoint singular behaviours which can be approximated with generalised polynomials of real degree. This is due to both the practical limitations of finite-arithmetic computations and the inefficient samples distribution of traditional Gaussian quadrature rules. We developed a non-iterative mathematical software implementing an innovative numerical quadrature which largely enhances the precision of Gauss-Legendre formulae (G-L) for integrands modelled as generalised polynomial with the optimal amount of nodes and weights capable of guaranteeing the required numerical precision. This methodology avoids to resort to more computationally expensive techniques such as adaptive or composite quadrature rules. From a theoretical point of view, the numerical method underlying this work was preliminary presented in [1] by constructing the monomial transformation itself and providing all the necessary conditions to ensure the numerical stability and exactness of the quadrature up to machine precision. The novel contribution of this work concerns the optimal implementation of said method, the extension of its applicability at run-time with different type of inputs, the provision of additional insights on its functionalities and its straightforward implementation, in particular FEM applications or other mathematical software either as an external tool or embedded suite. The open-source, cross-platform C++ library Monomial Transformation Quadrature Rule (MTQR) has been designed to be highly portable, fast and easy to integrate in larger codebases. Numerical examples in multiple physical applications showcase the improved efficiency and accuracy when compared to traditional schemes. Program summaryProgram title: MTQRCPC Library link to program files:https://doi.org/10.17632/276f78wzsw.1Developer's repository link:https://github.com/MTQR/MTQRLicensing provisions: GNU General Public License 3Programming language: C++ (C++17 standard)Supplementary material: User manual (for installation and execution)Nature of problem: Accuracy and time of execution of the current implementations of high-precision numerical integration routines for singular and irregular integrands modelled by generalised polynomials are restricted by: limitations of the floating-point (f.p.) finite-arithmetic of the machine; inability of classical Gaussian quadrature rules to efficiently capture irregular behaviours or end-point singularities using an optimal number of samples; relying on significantly expensive techniques as adaptive or composite quadrature rules that severely increase the number of steps necessary to converge to the desired accuracy threshold. However by precisely manipulating the G-L samples using an ad-hoc monomial transformation we achieve a one-shot, non-iterative, machine-precise quadrature rule with straightforward scalability in higher dimensions. The advantages brought by a non-adaptive technique are greatly emphasised whenever the problem on hand is characterised by a numerous set of integrand functions that behave similarly to sets of generalised polynomials.Solution method: The underlying algorithm is an application of a monomial transformation of (real) order to the nmin∈N quadrature samples (nodes and weights) of the G-L rule. The order of the transformation depends on the infimum (λmin) and supremum (λmax) of the Müntz sequence of real degrees of the integrands modelled by generalised polynomials. With an a-priori full analysis of the set of integrands to be integrated, the design and the action of such transformation ensures that the bounding monomials are integrated with machine-epsilon precision in double floating-point (f.p.) format [2] without resorting to less efficient schemes as adaptive or composite quadrature rules, singularity subtraction and cancellation methods with limited and uncontrolled precision. The effects of the action of the monomial transformation onto the original G-L samples are clearly visible by the clustering of the nodes around the endpoint singularity of the integrand function (see Fig. 1.2 of the user manual shipped with the source code and located in the MTQR/doc sub-directory as indicated in the root tree in Fig. 2.1 of said manual.)Additional comments including restrictions and unusual features: To strictly secure the integration with finite-arithmetic precision at the order of the machine epsilon in double f.p. representation, higher-than-double data types are necessary to build the quadrature rule; furthermore to compute the optimal number of quadrature samples, the sole real root of a 7th degree polynomial [1, Equation (62)] has to be computed. For these reasons the proposed software depends on both the Boost's [3] Multiprecision header-only library and on the GNU Scientific Library, GSL [4]. Any source code using MTQR must be linked to those libraries which can be easily installed and configured for the system specific compiler in both Windows and Linux. Detailed information and assistance for successfully compiling and building applications with this library can be found in the aforementioned user manual.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call