class MercuryIntrusion(*args, **kwargs)[source]

Bases: openpnm.algorithms.Porosimetry.Porosimetry

A ready-made Mercury Intrusion Porosimetry algorithm

This class accepts a pre-existing Project, including a Network and any associated Geometries, then internally creates a new Mercury Phase object and a new Physics for each Geometry associated with the Network. Finally, the Washburn capillary pressure model is added to each Physics object ( or to the Mercury object if there are no Geometries defined).

The results can be plotted using plot_intrusion_data, and numerical data can be obtained with get_intrusion_data.


>>> import openpnm as op
>>> pn =[10, 10, 10], spacing=1e-5)
>>> geo = op.geometry.StickAndBall(network=pn)
>>> mip = op.algorithms.metrics.MercuryIntrusion(network=pn)

You can then plot the results using `mip.plot_intrusion_curve()`.

It is also possible to add some experimental data to the algorithm which will the be plotted along with the simulated data:

>>> mip.pc_data = [10000, 20000, 30000]
>>> mip.snwp_data = [0, 0.5, 0.9]

Plot the percolation curve as the invader volume or number fraction vs the applied capillary pressure.