FiniteVolumeFragmentationFlux#

Source: models/finite_volume/FiniteVolumeFragmentationFlux.py

Assemble the interior edge fragment flux operator of a population balance.

For fragmentation alone in the particle volume coordinate, with mass density \(u = \rho v n\) on \(N\) cells, the conservative form \(\partial_t u + \partial_v J = 0\) has interior edge flux \(J = M u\). This model builds the \((N-1) \times N\) operator \(M\) from the per cell density, volume, width, fragmentation rate, and the breakage matrix \(p\).

\[ K_{kj} = \Delta v_j\, \Delta v_k\, \gamma_j\, \frac{\rho_k v_k}{\rho_j v_j}\, p_{kj}, \qquad M_{ij} = -\sum_{k \le i} K_{kj}\ \text{for } j > i,\ 0\ \text{else}. \]

The row axis \(k\) is the child class, the column axis \(j\) is the parent. \(M\) is a cumulative sum of \(K\) over \(k\), masked to the strict upper triangle, negated, with the last (all-zero) row dropped. \(M\) is independent of \(u\); the contraction \(M u\) is applied downstream by IntermediateLinearContraction.

Inputs#

cell_density — input · Scalar · required

Per cell material density.

cell_volume — input · Scalar · required

Per cell particle volume (size coordinate at cell centers).

cell_width — input · Scalar · required

Per cell width in the volume (size) coordinate.

fragmentation_rate — input · Scalar · required

Per cell fragmentation rate.

breakage_matrix — input · Scalar · required

Breakage matrix p[k,j] (child k from parent j).

Outputs#

flux_operator — output · Scalar · required

Interior edge fragment flux operator (N-1, N).