% IMPORTANT: The following is UTF-8 encoded.  This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.

@ARTICLE{Oliveira:889099,
      author       = {Oliveira, Micael J. T. and Papior, Nick and Pouillon, Yann
                      and Blum, Volker and Artacho, Emilio and Caliste, Damien and
                      Corsetti, Fabiano and de Gironcoli, Stefano and Elena, Alin
                      M. and García, Alberto and García-Suárez, Víctor M. and
                      Genovese, Luigi and Huhn, William P. and Huhs, Georg and
                      Kokott, Sebastian and Küçükbenli, Emine and Larsen, Ask
                      H. and Lazzaro, Alfio and Lebedeva, Irina V. and Li,
                      Yingzhou and López-Durán, David and López-Tarifa, Pablo
                      and Lüders, Martin and Marques, Miguel A. L. and Minar, Jan
                      and Mohr, Stephan and Mostofi, Arash A. and O’Cais, Alan
                      and Payne, Mike C. and Ruh, Thomas and Smith, Daniel G. A.
                      and Soler, José M. and Strubbe, David A. and
                      Tancogne-Dejean, Nicolas and Tildesley, Dominic and Torrent,
                      Marc and Yu, Victor Wen-zhe},
      title        = {{T}he {CECAM} electronic structure library and the modular
                      software development paradigm},
      journal      = {The journal of chemical physics},
      volume       = {153},
      number       = {2},
      issn         = {1089-7690},
      address      = {Melville, NY},
      publisher    = {American Institute of Physics},
      reportid     = {FZJ-2021-00029},
      pages        = {024117 -},
      year         = {2020},
      abstract     = {First-principles electronic structure calculations are now
                      accessible to a very large community of users across many
                      disciplines, thanks to many successful software packages,
                      some of which are described in this special issue. The
                      traditional coding paradigm for such packages is monolithic,
                      i.e., regardless of how modular its internal structure may
                      be, the code is built independently from others, essentially
                      from the compiler up, possibly with the exception of
                      linear-algebra and message-passing libraries. This model has
                      endured and been quite successful for decades. The
                      successful evolution of the electronic structure methodology
                      itself, however, has resulted in an increasing complexity
                      and an ever longer list of features expected within all
                      software packages, which implies a growing amount of
                      replication between different packages, not only in the
                      initial coding but, more importantly, every time a code
                      needs to be re-engineered to adapt to the evolution of
                      computer hardware architecture. The Electronic Structure
                      Library (ESL) was initiated by CECAM (the European Centre
                      for Atomic and Molecular Calculations) to catalyze a
                      paradigm shift away from the monolithic model and promote
                      modularization, with the ambition to extract common tasks
                      from electronic structure codes and redesign them as
                      open-source libraries available to everybody. Such libraries
                      include “heavy-duty” ones that have the potential for a
                      high degree of parallelization and adaptation to novel
                      hardware within them, thereby separating the sophisticated
                      computer science aspects of performance optimization and
                      re-engineering from the computational science done by, e.g.,
                      physicists and chemists when implementing new ideas. We
                      envisage that this modular paradigm will improve overall
                      coding efficiency and enable specialists (whether they be
                      computer scientists or computational scientists) to use
                      their skills more effectively and will lead to a more
                      dynamic evolution of software in the community as well as
                      lower barriers to entry for new developers. The model comes
                      with new challenges, though. The building and compilation of
                      a code based on many interdependent libraries (and their
                      versions) is a much more complex task than that of a code
                      delivered in a single self-contained package. Here, we
                      describe the state of the ESL, the different libraries it
                      now contains, the short- and mid-term plans for further
                      libraries, and the way the new challenges are faced. The ESL
                      is a community initiative into which several pre-existing
                      codes and their developers have contributed with their
                      software and efforts, from which several codes are already
                      benefiting, and which remains open to the community.},
      cin          = {JSC},
      ddc          = {530},
      cid          = {I:(DE-Juel1)JSC-20090406},
      pnm          = {511 - Computational Science and Mathematical Methods
                      (POF3-511) / E-CAM - An e-infrastructure for software,
                      training and consultancy in simulation and modelling
                      (676531)},
      pid          = {G:(DE-HGF)POF3-511 / G:(EU-Grant)676531},
      typ          = {PUB:(DE-HGF)16},
      pubmed       = {32668924},
      UT           = {WOS:000552783000001},
      doi          = {10.1063/5.0012901},
      url          = {https://juser.fz-juelich.de/record/889099},
}