diff --git a/paper/paper.bib b/paper/paper.bib index 20db3dc..9da3f6c 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -24,6 +24,23 @@ @article{Firedrake year={2023}, doi= {10.25561/104839} } +@article{TETGEN, +author = {Si, Hang}, +title = {TetGen, a Delaunay-Based Quality Tetrahedral Mesh Generator}, +year = {2015}, +issue_date = {January 2015}, +publisher = {Association for Computing Machinery}, +address = {New York, NY, USA}, +volume = {41}, +number = {2}, +issn = {0098-3500}, +url = {https://doi.org/10.1145/2629697}, +doi = {10.1145/2629697}, +journal = {ACM Trans. Math. Softw.}, +month = feb, +articleno = {11}, +numpages = {36} +} @techreport{PETSc, author={Satish Balay and Shrirang Abhyankar and Mark~F. Adams and Steven Benson and Jed Brown and Peter Brune and Kris Buschelman and Emil Constantinescu and Lisandro @@ -181,3 +198,67 @@ @article{stevenson2006 R.}, year={2006}, pages={245--269} } +@article{FreeFEM, + title={FreeFem++ manual}, + author={Hecht, Fr{\'e}d{\'e}ric and Pironneau, Olivier and Le Hyaric, A and Ohtsuka, K}, + journal={Laboratoire Jacques Louis Lions}, + year={2005} +} +@Article{DUNE, +author={Dedner, Andreas +and Kl{\"o}fkorn, Robert +and Nolte, Martin +and Ohlberger, Mario}, +title={A generic interface for parallel and adaptive discretization schemes: abstraction principles and the Dune-Fem module}, +journal={Computing}, +year={2010}, +month={Nov}, +day={01}, +volume={90}, +number={3}, +pages={165-196}, +issn={1436-5057}, +doi={10.1007/s00607-010-0110-3}, +url={https://doi.org/10.1007/s00607-010-0110-3} +} +@Article{dealII, + title = {The \texttt{deal.II} Library, Version 9.5}, + author = {Daniel Arndt and Wolfgang Bangerth and Maximilian Bergbauer and + Marco Feder and Marc Fehling and Johannes Heinz and + Timo Heister and Luca Heltai and Martin Kronbichler and + Matthias Maier and Peter Munch and Jean-Paul Pelteret and + Bruno Turcksin and David Wells and Stefano Zampini}, + journal = {Journal of Numerical Mathematics}, + year = {2023}, + doi = {10.1515/jnma-2023-0089}, + pages = {231--246}, + volume = {31}, + number = {3}, + url = {https://dealii.org/deal95-preprint.pdf} +} +@misc{dolfinX, + author = {Baratta, Igor A. and + Dean, Joseph P. and + Dokken, Jørgen S. and + Habera, Michal and + Hale, Jack S. and + Richardson, Chris N. and + Rognes, Marie E. and + Scroggs, Matthew W. and + Sime, Nathan and + Wells, Garth N.}, + title = {{DOLFINx: The next generation FEniCS problem solving environment}}, + month = dec, + year = 2023, + publisher = {Zenodo}, + doi = {10.5281/zenodo.10447666}, + url = {https://doi.org/10.5281/zenodo.10447666} +} +@article{GMSH, + title={A three-dimensional finite element mesh generator with built-in pre-and post-processing facilities}, + author={Geuzaine, Christophe and Remacle, Jean-Fran{\c{c}}ois}, + journal={International Journal for Numerical Methods in Engineering}, + volume={11}, + pages={79}, + year={2020} +} diff --git a/paper/paper.md b/paper/paper.md index c666efb..2b35469 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -12,15 +12,23 @@ authors: - name: Patrick E. Farrell orcid: 0000-0002-1241-7060 equal-contrib: true + affiliation: 3 + - name: Matthias Hochsteger + orcid: 0009-0001-8842-3221 + equal-contrib: true + affiliation: 2 + - name: Christopher Lackner + orcid: 0009-0000-3448-3002 + equal-contrib: true affiliation: 2 - name: Joachim Schöberl - affiliation: 3 + affiliation: 2,4 equal-contrib: true orcid: 0000-0002-1250-5087 - name: Stefano Zampini orcid: 0000-0002-0435-0433 equal-contrib: true - affiliation: 4 + affiliation: 5 - name: Umberto Zerbinati orcid: 0000-0002-2577-1106 corresponding: true @@ -29,19 +37,21 @@ authors: affiliations: - name: Imperial College London, United Kingdom index: 1 - - name: University of Oxford, United Kingdom + - name: CERBSim GmbH, Austria index: 2 - - name: TU Wien, Austria + - name: University of Oxford, United Kingdom index: 3 - - name: King Abdullah University of Science and Technology, Saudi Arabia + - name: TU Wien, Austria index: 4 + - name: King Abdullah University of Science and Technology, Saudi Arabia + index: 5 date: 1 July 2024 bibliography: paper.bib --- # Summary -Combining advanced meshing techniques with robust solver capabilities is essential for solving difficult problems in computational science and engineering. This paper introduces ngsPETSc, software built with petsc4py [@petsc4py] that seamlessly integrates the NETGEN mesher [@Netgen], the NGSolve finite element library [@NGSolve], and the PETSc toolkit [@PETSc]. ngsPETSc enables the use of NETGEN meshes and geometries in PETSc-based solvers, and provides NGSolve users access to the wide array of linear, nonlinear solvers, and time-steppers available in PETSc. +Combining advanced meshing techniques with robust solver capabilities is essential for solving difficult problems in computational science and engineering. In recent years, various software packages have been developed to support the integration of meshing tools with finite element solvers. To mention a few, FreeFEM [@FreeFEM] includes built-in support for mesh generation, allowing users to create and manipulate meshes directly within the software. Similarly, deal.II [@dealII] provides a GridGenerator class for generating standard mesh geometries like grids and cylinders. Furthermore, deal.II can interface with OpenCASCADE [@OpenCASCADE] to refine existing grids while conforming to the geometry provided. Other finite element libraries, such as Firedrake [@Firedrake], DUNE-FEM [@DUNE], and FEniCSx [@dolfinX], rely on external tools like Gmsh [@GMSH] and Tetgen [@TETGEN] for mesh generation. This paper introduces ngsPETSc, software built with petsc4py [@petsc4py] that seamlessly integrates the NETGEN mesher [@Netgen], the NGSolve finite element library [@NGSolve], and the PETSc toolkit [@PETSc]. ngsPETSc enables the use of NETGEN meshes and geometries in PETSc-based solvers, and provides NGSolve users access to the wide array of linear, nonlinear solvers, and time-steppers available in PETSc. # Statement of Need