The Porous Flow module aims to provide a solution for simulating fully-coupled thermal-hydraulic-mechanical-chemical (THMC) problems in porous media.

Currently the module has:

  • multi-phase, multi-component fluid advection, diffusion and dispersion, with high-precision equation of states for water, brine, CO2, methane and an ideal gas, as well as "approximate fluids" (such as constant bulk density water), along with the usual capillary and relative permeability relationships;

  • anisotropic heat conduction and convection with the fluid;

  • elasto-plasticity supplied by the Tensor Mechanics module;

  • very limited chemical reactions.

Full couplings between all these different physics have also been written. For instance: the equations are formed in the Lagrangian coordinate system where the fluid and heat co-move with any mesh displacements; the effective stress is used for solid mechanics; heat from plastic deformations is included; and porosity and permeability may be functions of temperature, porepressure and strains; etc

The Porous Flow module will eventually supersede all functionality contained in the Richards module.

The Porous Flow module may be used to simulate flow through fractures.


The module is fully documented in the github repository: Theory Manual

The module is supported by many tests. The non-trivial tests are documented in the repository also. Users are encouraged to explore the documentation at Github link. If a test lives in directory porous_flow/tests/some_dir, then the documentation will be called some_dir.pdf. Exploring the tests can be very helpful when building your own input files!

For those readers interested in quality control, the test coverage page describes how comprehensive the tests are. For readers interested in exploring the status of the current moose-master (not just PorousFlow, but all aspects of MOOSE) see moose master.