AdvectionDiffusion

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

Bases: openpnm.algorithms.ReactiveTransport.ReactiveTransport

A subclass of ReactiveTransport to simulate advection-diffusion

remove_BC(pores=None, bctype='all')[source]

Removes boundary conditions from the specified pores

Parameters
  • pores (array_like, optional) – The pores from which boundary conditions are to be removed. If no pores are specified, then BCs are removed from all pores. No error is thrown if the provided pores do not have any BCs assigned.

  • bctype (string, or list of strings) –

    Specifies which type of boundary condition to remove. Options are:

    -‘all’: (default) Removes all boundary conditions -‘value’: Removes only value conditions -‘rate’: Removes only rate conditions

set_outflow_BC(pores, mode='merge')[source]

Adds outflow boundary condition to the selected pores

Parameters
  • pores (array_like) – The pore indices where the condition should be applied

  • mode (string, optional) –

    Controls how the boundary conditions are applied. Options are:

    ’merge’ - (Default) Adds supplied boundary conditions to already existing conditions, and also overwrites any existing values. If at rate or value BC exists at the given locations, these are deleted, and outflow conditions are given priority. ‘overwrite’ - Deletes all boundary conditions of the given type then adds the specified new ones.

Notes

Outflow condition means that the gradient of the solved quantity does not change, i.e. is 0.

setup(phase=None, quantity='', conductance='', diffusive_conductance='', hydraulic_conductance='', pressure='', **kwargs)[source]

Setup method for setting/modifying algorithm settings