
Major enhancements Meshing of fractured domains through Gmsh has undergone a complete rewrite. The new approach allows for more tailored control of the meshing process, including more aggressive refinement towards fractures. The keywords used to control mesh parameters have also been changed. Under the hood, the geometry processing including computation of fracture intersections is now outsourced to Gmsh's OpenCASCADE kernel, which hopefully is more robust with respect to complex fracture network geometries. For an overview of the new functionality, please refer to the tutorial on mixed dimensional meshing. A new example with a ready-to-run setup of thermo-poromechanics with fractures and wells has been added. This should be a good starting point for setting up simulations with this type of physics. Support for iterative linear solvers, as implemented in PETSc, has been added through the separate repository porepy-iterative-solvers. The solvers are most easily accessed through a Docker image which is accessible through docker pull porepy/extended, which contains both PorePy, an installation of PETSc and the petsc-porepy interface. Be aware that the PETSc interface will be in an alpha stage for some time still, hence, API breaking changes must be expected. Minor changes: A new class for representing truly elliptic fractures (and not a polygonal approximation of elliptic fractures) has been added. See pp.EllipticFractures. The tutorials have been partly rewritten to put more emphasis on the use of PorePy through the multiphysics models. It is now possible to generate a multiphysics model based on a previously generated mesh, instead of remeshing. For details, see the tutorial on mixed dimensional meshing, and the mixin class LoadGeometryMixin. Import of fractures from csv files through pp.fracture_importer.py has been cleaned up. The update will cause regression errors for existing fracture network specifications. Various changes have been introduced to enhance performance, in particular related to equation assembly. Steps have been taken to significantly reduce the memory footprint of PorePy. This will have a significant effect, particularly on simulations involving stress disrcetizations. In addition, several minor fixes and updates have been added throughout the code base. This is the last version of PorePy that officially supports Python 3.12. Contributors The following developers have contributed to this version of PorePy: @IngridKJ @IvarStefansson @jwboth @mariusnevland @mikeljordan @MrShuffle @pschultzendorff @RonghaoCui @vlipovac @Yuriyzabegaev @zhangyh0713 @keileg Full Changelog: https://github.com/pmgbergen/porepy/compare/v1.12...v1.13
