# FormationFactor¶

class openpnm.metrics.FormationFactor(*args, **kwargs)[source]

This class works by applying ‘value’ boundary conditions across the domain to find molar flow, then using Fick’s law to back-calculate the effective diffusivity of the domain. The formation factor is defined as:

$F = \frac{D_{AB}}{D_{eff}} > 1$

where

$D_{eff} = \frac{n_{A} L }{\Delta C_{A} A }$

and

$D_{eff} = D_{AB} \frac{\varepsilon}{\tau}$

The formation factor is a convenient metric to compare diffusion in different pore networks since it does not require knowledge of the network porosity, unlike tortuosity. The porosity of a pore network is difficult to determine, mainly because the bulk volume of a network is not well known.

Examples

>>> import openpnm as op
>>> import numpy as np
>>> np.random.seed(5)
>>> pn = op.network.Cubic(shape=[10, 10, 10], spacing=1e-5)
>>> geo = op.geometry.SpheresAndCylinders(network=pn, pores=pn.Ps, throats=pn.Ts)


Now find the formation factor of the network:

>>> FF = op.metrics.FormationFactor(network=pn)
>>> F = FF.run()
>>> print(np.round(F))
21.0

Attributes
Np

A shortcut to query the total number of pores on the object

Nt

A shortcut to query the total number of throats on the object

Ps

A shortcut to get a list of all pores on the object

Ts

A shortcut to get a list of all throats on the object

name

String representing the name of the object

network

A shortcut to get a handle to the associated network.

project

A shortcut to get a handle to the associated project.

settings

Dictionary containing object settings.

Methods

 get_conduit_data(poreprop[, throatprop, mode]) Combines requested data into a single 3-column array. Retrieves requested property from associated objects, to produce a full Np or Nt length array. interpolate_data(propname[, mode]) Determines a pore (or throat) property as the average of it's neighboring throats (or pores) props([element, mode, deep]) Returns a list containing the names of all defined pore or throat properties. Execute the diffusion simulations in the principle directions. show_hist([props, bins, fontsize]) Shows a quick plot of key property distributions. to_indices(mask) Converts a boolean mask to a list of pore or throat indices. to_mask([pores, throats]) Convert a list of pore or throat indices into a boolean mask of the correct length.