There is a newer version of the record available.

Published May 22, 2025 | Version v1.11
Software Open

pmgbergen/porepy: PorePy version 1.11

  • 1. University of Bergen
  • 2. Politecnico di Milano
  • 3. @pmgbergen
  • 4. National University of Asunción
  • 5. Stanford University
  • 6. MaPSI, University of Bergen
  • 7. Revolve NTNU
  • 8. Volda University College
  • 9. Dipartimento di Matematica, Università di Pisa
  • 10. @scotthmckean

Description

Highlights

• A model for non-isothermal multiphase compositional flows has been added. See a new tutorial tracer_flow for more information. Currently, only simple equations of state are available, a phase separation routine will be added in a future release. • The evaluation of Ad operators has undergone major changes, with at times significant reductions in the assembly of Jacobian matrices. • Package data has been moved from requirements.txt to pyproject.toml. • PorePy is now formatted with ruff.

API breaking changes

• Evaluation of Ad operators has been moved to the EquationSystem class. Use the method 'evaluate', with a parameter 'derivative=True' to also assemble the Jacobian matrix. • The old module default_domains was deleted. Use 'applications.md_grids.domains' instead. • The methods scalar_divergence and vector_divergence were moved from the module fvutils, and are now available as methods of the Grid class. • The module sort_points has been moved to the geometry folder and is accessible through pp.sort_points. The function sort_points_on_line is moved to the sort_points module. • The method cell_face_as_dense is the Grid class is now called cell_faces_as_dense. Some methods and classes that previously were marked as ceprecated has been deleted. Deprecation warnings have been added to some new code.

Cleanup of array operations

• The following functions operating on numpy arrays were moved: o pp.utils.mcolon.mcolon -> pp.array_operations.expand_index_pointers o pp.fvutils.expand_indices_incr -> pp.array_operations.expand_indices_increment o pp.fvutils.expand_indices_nd -> pp.array_operations.expand_indices_nd o pp.utils.setmembership.ismember_rows -> pp.array_operations.ismember_coluumns o pp.utils.setmembership.uniquify_point_set -> pp.array_operations. uniquify_point_set • The following functions were deleted, as they can be replaced by numpy functions : o pp.utils.setmembership.unique_columns_tol -> pp.array_operations. uniquify_point_set (for floats) or np.unique(.., axis=1) (for ints) o pp.array_operations.unique_rows -> np.unique o pp.utils.accumarray.accum -> np.bincount. As a consequence of these changes, the following modules have been deleted: • utils.accumarray • utils.mcolon • utils.setmembership Be aware that for some of the functions used to probe membership (i.e. unique_*), the alternative method may have different order in terms of whether the returned values are order preserving. The code has been adjusted to account for this, but caution is needed when updating application scripts.

Minor changes:

• The Grid class has a new method trace(). • Constants relating to numerical parameters are set as separate object in the models, search for class NumericalConstants. • Added a 2d benchmark for single phase flow with a 64 fracture geometry. See examples/flow_benchmark_2d_case_4.py for details. • Added a setup for fracture mechanics based on Sneddon's analytical solution. • Much work has been done to prepare PorePy for the use of scipy sparse arrays (as opposed to sparse matrices). Some work remains in this direction, though.

Contributors

  • @isakhammer made their first contribution in https://github.com/pmgbergen/porepy/pull/1276
  • @zhangyh0713 made their first contribution in https://github.com/pmgbergen/porepy/pull/1334
  • @alessiofumagalli
  • @IngridKJ
  • @IvarStefansson
  • @jhabriel
  • @jwboth
  • @keileg
  • @mariusnevland
  • @mikeljordan
  • @OmarDuran
  • @pschultzendorff
  • @vlipovac
  • @Yuriyzabegaev
  • @wmboon

Full Changelog: https://github.com/pmgbergen/porepy/compare/v1.10...v1.11

Files

pmgbergen/porepy-v1.11.zip

Files (5.8 MB)

Name Size Download all
md5:873f69f8354433a591b7f1968a3c9509
5.8 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/pmgbergen/porepy/tree/v1.11 (URL)

Software