MixedInvasionPercolationCoop

class openpnm.algorithms.MixedInvasionPercolationCoop(*args, **kwargs)[source]

An implemetation of invasion percolation which can invade bonds, sites or a mixture of both. Inlets can be treated as individual injection points that share a common pressure or have their own and progess independently. Inlets can also be single pores or clusters.

Parameters

network (GenericNetwork) – The Network upon which the invasion should occur.

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

apply_flow(flowrate)

Convert the invaded sequence into an invaded time for a given flow rate considering the volume of invaded pores and throats.

apply_trapping([partial])

Apply trapping based on algorithm described by Y.

get_conduit_data(poreprop[, throatprop, mode])

Combines requested data into a single 3-column array.

get_intrusion_data([inv_points])

Returns the intrusion data.

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)

map_pores(pores, origin[, filtered])

Given a list of pore on a target object, finds indices of those pores on the calling object

map_throats(throats, origin[, filtered])

Given a list of throats on a target object, finds indices of those throats on the calling object

plot_intrusion_curve([ax, inv_points, ...])

Plot a simple drainage curve.

props([element, mode, deep])

Returns a list containing the names of all defined pore or throat properties.

reset()

Resets the various data arrays on the object back to their original state.

results(Pc)

Places the results of the IP simulation into the Phase object.

run([max_pressure])

Perform the algorithm

set_inlets([pores, clusters])

param pores

The list of inlet pores from which the Phase can enter the Network

set_outlets([pores, overwrite])

Set the locations through which defender exits the network.

set_residual([pores, overwrite])

Method to start invasion in a network w.

setup([phase, pore_entry_pressure, ...])

Used to specify necessary arguments to the simulation.

setup_coop_filling([inv_points])

Populate the coop filling throat-throat pair matrix

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.

toindices(*args, **kwargs)

Brief explanation of tomask

tomask(*args, **kwargs)

Brief explanation of tomask

trilaterate_v(P1, P2, P3, r1, r2, r3)

Find whether 3 spheres intersect