Class SEDMesh#
- class sed.sedplex.SEDMesh(*args, **kwargs)[source]#
This class encapsulates all the functions related to sediment transport and deposition in the continental domain.
Methods
This function is the main entry point to perform continental river-induced deposition.
Initialise
__init__(*args, **kwargs)The initialisation of SEDMesh class consists in the declaration of several PETSc vectors.
Public Methods
This function is the main entry point to perform continental river-induced deposition.
Private Methods
This function finds the continental sediment volumes to distribute downstream (down to the ocean or sinks) for a given iteration.
This function computes sediment flux in cubic metres per year from incoming rivers.
_moveDownstream(vSed, step)In cases where river sediment fluxes drain into depressions, they might fill the sink completely and overspill or be deposited in it.
_updateSinks(hl)Update depression elevations based on incoming sediment volumes.
Public functions#
Private functions#
- SEDMesh._distributeSediment(hl)[source]#
This function finds the continental sediment volumes to distribute downstream (down to the ocean or sinks) for a given iteration.
- Parameters:
hl – local elevation prior deposition
- SEDMesh._getSedFlux()[source]#
This function computes sediment flux in cubic metres per year from incoming rivers. Like for the computation of the flow discharge and erosion rates, the sediment flux is solved by an implicit time integration method, the matrix system is the one obtained from the receiver distributions over the unfilled elevation mesh for the flow discharge (fMat).
The PETSc scalable linear equations solvers (KSP) is used here again with an iterative method obtained from PETSc Richardson solver (richardson) with block Jacobian preconditioning (bjacobi).
- SEDMesh._moveDownstream(vSed, step)[source]#
In cases where river sediment fluxes drain into depressions, they might fill the sink completely and overspill or be deposited in it. This function computes the excess of sediment (if any) able to flow dowstream.
Important
The excess sediment volume is then added to the downstream sediment flux (vSed).
- Parameters:
vSed – excess sediment volume array
step – downstream distribution step
- Returns:
(excess, sedFilled_changed) where excess is True when sediment still needs to be redistributed, and sedFilled_changed is True when at least one pit saturated this iteration (signalling that the flow direction matrix should be rebuilt next call).
- SEDMesh._updateSinks(hl)[source]#
Update depression elevations based on incoming sediment volumes.
- Three-path algorithm depending on the pit’s fill state and size:
Pit fully filled (depo >= pitVolume) – bottom-up to lFill (rim).
Partial fill, pit small/shallow (volume below nl_pit_volume OR depth below nl_pit_depth) – bottom-up + per-pit micro-tilt toward the spill point so the lake surface is not perfectly flat (avoids large flats in the next flow-routing step).
Partial fill, pit large AND deep – inlet-pile initial condition + marine-style non-linear diffusion. Produces emergent clinoform-like deposit progradation from the inlets.
- Parameters:
hl – local elevation prior deposition