PyFrac is a solver for the numerical simulation of the propagation of planar hydraulic fractures in 3D. Written in Python (3.0), it is based on the implicit level set algorithm -ILSA- originally developed by Peirce & Detournay, 2008 (see also Peirce 2016 for a review). Its underlying mathematical model rely on the linear elastic hydraulic fracture model which combines elasticity, linear fracture mechanics, lubrication flow and Carter’s leak-off approximation.

PyFrac is a research-code. It is a work in progress (with its strength and weaknesses). It is not aimed to be an “industrial” HF simulator. Currently, the solver has the following capabilities:

  • Homogeneous Isotropic and transversely isotropic elastic infinite medium
  • Newtonian fracturing fluid
  • In-homogeneous and anisotropic fracture toughness
  • In-homogeneous leak-off properties (Carter’s model)
  • In-homogeneous in-situ minimum stress
  • Buoyant fluid
  • Fracture closure and re-opening (multiple injections)
  • Time dependent injection history (point and line source)
  • Post processing and visualization routines

The numerical solver is based on ILSA. It has the following features:

  • Level set description of the fracture front atop a Cartesian mesh (rectangular elements).
  • Multiscale resolution via the coupling of the semi-infinite hydraulic fracture tip solution with the finite discretization of the governing equations
  • Displacement discontinuity method for the discretization of quasi-static elasticity using piece-wise constant rectangular element
  • Finite volume discretization of lubrication flow including Carter’s leak-off
  • Fully coupled implicit hydro-mechanical solver (for given trial position of the fracture front)
  • Eikonal equation solved using the fast-marching method to advance the fracture front from the knowledge of the distance to the front at survey points inside the fracture
  • Adaptive time-stepping
  • Implicit/explicit fracture front advancing
  • Re-meshing

A number of optimization could be done. Similarly additional physics can potentially be added. Feel free to help.


The code is released under GPLv3 – copyright EPFL. It is available from our GitHub page at


Copyright (c) ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE, Switzerland, Geo-Energy Laboratory, 2016-2019. All rights reserved.

PyFrac is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PyFrac is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details here. For more details, see the license file included in the code.


In case you are interested in contributing to the code, the repository of the code can be accessed on  GitHub.  Do not hesitate to contact us for more details.


Please cite PyFrac as:

H. Zia and B. Lecampion. PyFrac: a planar 3D hydraulic fracturing simulator. Comp. Phys. Comm., 255:107368, 2020.

A preprint is available on ArXiV

If you use PyFrac in your work, we would love to hear from you.


Examples with descriptions and the reference manual of the code can be seen here. For description of the numerical scheme, see the following publication:

H. Zia and B. Lecampion. PyFrac: a planar 3D hydraulic fracturing simulator. Comp. Phys. Comm., 255:107368, 2020.

For a more detailed description, see the following:

Peirce, A., & Detournay, E. (2008). “An implicit level set method for modeling hydraulically driven fractures“. Computer Methods in Applied Mechanics and Engineering197(33-40), 2858-2885.
Zia, Haseeb, and Brice Lecampion. “Explicit versus implicit front advancing schemes for the simulation of hydraulic fracture growth.” International Journal for Numerical and Analytical Methods in Geomechanics 43.6 (2019): 1300-1315.
Zia, Haseeb, Brice Lecampion, and Weihan Zhang. “Impact of the anisotropy of fracture toughness on the propagation of planar 3D hydraulic fracture.” International Journal of Fracture211.1-2 (2018): 103-123.
Dontsov, E. V., and A. P. Peirce. “A multiscale implicit level set algorithm (ILSA) to model hydraulic fracture propagation incorporating combined viscous, toughness, and leak-off asymptotics.” Computer Methods in Applied Mechanics and Engineering 313 (2017): 53-84.

Slack channel

If you have any questions or you want to report an issue, use our dedicated slack channel.