NiHu: An open source C plus plus BEM library

被引:7
|
作者
Fiala, P. [1 ]
Rucz, P. [1 ]
机构
[1] Budapest Univ Technol & Econ, Dept Networked Syst & Serv, H-1117 Budapest, Hungary
关键词
Generic BEM library; C plus plus template metaprogramming; Boundary element methods; Object-oriented programming; Partial differential equations; Acoustics; BOUNDARY-ELEMENT METHOD; SINGULAR-INTEGRALS;
D O I
10.1016/j.advengsoft.2014.05.011
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
This paper introduces NiHu, a C++ template library for boundary element methods (BEM). The library is capable of computing the coefficients of discretised boundary integral operators in a generic way with arbitrarily defined kernels and function spaces. NiHu'S template core defines the workflow of a general BEM algorithm independent of the specific application. The core provides expressive syntax, based on the operator notation of the BEM, reflecting the mathematics behind boundary elements in the C++ source code. The customisable Component library contains elements specific to particular applications such as different numerical integration techniques and regularisation methods. The library can be used for creating a standalone C++ application using external open source libraries, or compiling a Matlab tool-box through the MEX interface. By massively exploiting C++ template metaprogramming, NiHu generates optimised codes for specific applications, including heterogeneous problems. The paper introduces the main concepts of the novel development, demonstrates its versatility and flexibility and compares the implementation's performance to that of other open source projects. (C) 2014 Elsevier Ltd. All rights reserved.
引用
收藏
页码:101 / 112
页数:12
相关论文
共 50 条
  • [1] The Scythe Statistical Library: An Open Source C plus plus Library for Statistical Computation
    Pemstein, Daniel
    Quinn, Kevin M.
    Martin, Andrew D.
    [J]. JOURNAL OF STATISTICAL SOFTWARE, 2011, 42 (12): : 1 - 26
  • [2] Building Integral Equation Methods With the Open-Source Library BEM plus
    van 't Wout, Elwin
    Betcke, Timo
    Scroggs, Matthew
    [J]. 2016 IEEE ANTENNAS AND PROPAGATION SOCIETY INTERNATIONAL SYMPOSIUM, 2016, : 753 - 754
  • [3] Chaste: An Open Source C plus plus Library for Computational Physiology and Biology
    Mirams, Gary R.
    Arthurs, Christopher J.
    Bernabeu, Miguel O.
    Bordas, Rafel
    Cooper, Jonathan
    Corrias, Alberto
    Davit, Yohan
    Dunn, Sara-Jane
    Fletcher, Alexander G.
    Harvey, Daniel G.
    Marsh, Megan E.
    Osborne, James M.
    Pathmanathan, Pras
    Pitt-Francis, Joe
    Southern, James
    Zemzemi, Nejib
    Gavaghan, David J.
    [J]. PLOS COMPUTATIONAL BIOLOGY, 2013, 9 (03)
  • [4] EpiFire: An open source C plus plus library and application for contact network epidemiology
    Hladish, Thomas
    Melamud, Eugene
    Barrera, Luis Alberto
    Galvani, Alison
    Meyers, Lauren Ancel
    [J]. BMC BIOINFORMATICS, 2012, 13
  • [5] FADAlib: an open source C plus plus library for fuzzy Array dataflow analysis
    Belaoucha, Marouane
    Barthou, Denis
    Eliche, Adrien
    Touati, Sid-Ahmed-Ali
    [J]. ICCS 2010 - INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, PROCEEDINGS, 2010, 1 (01): : 2069 - 2078
  • [6] LIBRJMCMC: AN OPEN-SOURCE GENERIC C plus plus LIBRARY FOR STOCHASTIC OPTIMIZATION
    Bredif, Mathieu
    Tournaire, Olivier
    [J]. XXII ISPRS CONGRESS, TECHNICAL COMMISSION III, 2012, 39-B3 : 259 - 264
  • [7] CPPE: An Open-Source C plus plus and Python']Python Library for Polarizable Embedding
    Scheurer, Maximilian
    Reinholdt, Peter
    Kjellgren, Erik Rosendahl
    Olsen, Jogvan Magnus Haugaard
    Dreuw, Andreas
    Kongsted, Jacob
    [J]. JOURNAL OF CHEMICAL THEORY AND COMPUTATION, 2019, 15 (11) : 6154 - 6163
  • [8] CTL: Modular Open-source C plus plus -Library for CT-Simulations
    Pfeiffer, Tim
    Frysch, Robert
    Bismark, Richard N. K.
    Rose, Georg
    [J]. 15TH INTERNATIONAL MEETING ON FULLY THREE-DIMENSIONAL IMAGE RECONSTRUCTION IN RADIOLOGY AND NUCLEAR MEDICINE, 2019, 11072
  • [9] Open source BEM library
    Wieleba, Pawel
    Sikora, Jan
    [J]. ADVANCES IN ENGINEERING SOFTWARE, 2009, 40 (08) : 564 - 569
  • [10] libDAI: A Free and Open Source C plus plus Library for Discrete Approximate Inference in Graphical Models
    Mooij, Joris M.
    [J]. JOURNAL OF MACHINE LEARNING RESEARCH, 2010, 11 : 2169 - 2173