EffectiveDiffusivity¶
- class openpnm.metrics.EffectiveDiffusivity(*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.
\[D_{eff} = \frac{n_{A} L }{\Delta C_{A} A }\]and
\[D_{eff} = D_{AB} \frac{\varepsilon}{\tau}\]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 effective diffusivity of the network:
>>> ED = op.metrics.EffectiveDiffusivity(network=pn) >>> Deff = ED.run() >>> print(np.round(Deff,decimals=3)) 0.049
- 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.
interleave_data
(prop)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.
run
()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.