A Python package for performing pore network modeling of porous media
openmpi
as a test dependency #mainttopotools.filter_pores_by_z
)is_fully_connected
function to topotools that is called by transport solvers ensure non-singular matrices, including connectivity between boundary poresremove_source
method to ReactiveTransport classes, and mode to set_source
methoddependency_map
to include pure props (those w/o an explicit model)dependency_map
to show pores as circles and throats as squares [#1853]plot_coordinates
defaults to make pores more visible [#1850]trim
if all throats are removedset_outflow_BC
to NernstPlanck algorithmstitch_pores
function to topotools for joining disconnected pores within an existing networkset_rate_BC
now optionally accepts total_rate
, which is equally distributed among poresname
to settings
_uuid
)_validate_data_health
to the run method of algorithmsshow_hist
's grid layoutsettings
to make indexing into quantity@i arrays easierextend
function to work with phases presentstitch
if phases are presentload_project
method to deal with class attrsplot_conns
and plot_coords
_get_solver
behavior to fall back to spsolve
if pardiso missingMultiPhase
and fixed the global partition coefficient model's dependency handling bug't_schemes'
setting on transient algsSalome
export classReactiveTransientTransport
topotools.dimensionality
is now more robust with respect to numerical round-offImported
geometry class to accept project as well as networkReactiveTransport
now checks for convergence when maximum iterations reached and reports if not achievedplot_coordinates
plot_connections
methodThis hotfix repairs a bug in the handling of overlapping pores for cases where the pores overlap but the throat endpoints are not collinear with the pore centers. This bug was leading to erroneous calculations of permeability and tortuosity in extracted networks by incorrect conductance values for affected conduits.
This release is a bit ahead of schedule (based on our plan to release at the beginning of each semester), but it's a very important release. It fixes several important bugs in the ReactiveTransport class and adds some major improvements to the handling of iterative calculations, among other things. The complete list of updates is given below: