openpnm.topotools.add_boundary_pores(network, pores, offset=None, move_to=None, apply_label='boundary')[source]

This method uses clone_pores to clone the input pores, then shifts them the specified amount and direction, then applies the given label.

  • pores (array_like) – List of pores to offset. If no pores are specified, then it assumes that all surface pores are to be cloned.

  • offset (3 x 1 array) – The distance in vector form which the cloned boundary pores should be offset. Either this, or move_to must be specified.

  • move_to (3 x 1 array) – The location to move the boundary pores to. A value of None indicates that no translation should be applied in that axis. For instance, [None, None, 0] indicates that the boundary pores should moved along the z-axis to the specified location. Either this or offset must be specified.

  • apply_label (str) – This label is applied to the boundary pores. Default is ‘boundary’.


>>> import openpnm as op
>>> pn =[5, 5, 5])
>>> print(pn.Np)  # Confirm initial Network size
>>> Ps = pn.pores('top')  # Select pores on top face
>>> pn.add_boundary_pores(labels=['top'])
>>> print(pn.Np)  # Confirm addition of 25 new pores