vivianimbriotis | May 11, 2026, 6:23 p.m.
Stay in an ICU long enough, and you will be forced to learn about dialysis circuits. Learn enough about dialysis circuits, and someone will tell you that they are countercurrent exchangers: blood and dialysate fluid run in parrellel, seperated by a membrane; the blood runs in one direction, and the dialysate fluid runs in the other direction.
"This is more efficient then if they run in the same direction," they'll say. Accept it. Stop reading. No one cares why.
"Why?" you ask. They politely explain that, in concurrent exchange, where both fluids flow the same way, they'll equilibrate; if the flows are equal, then a substance present in the blood can be at most diluted by 50% (because then half of it will be in the blood, and half in the dialysate, and the driving gradient for diffusion will vanish). Diffusion will cease before the end of the tube. With countercurrent exchange, the difference in concentration is actually constant across the length of the tubing, so diffusion continues at the same rate across the whole tube. This makes countercurrent flow more efficient. You nod.
Satisfied.
You never think about this again. You stop reading.
Okay, so how much more efficient is countercurrent exchange? Let's build some models. Consider an infintesimal axial slice of tubing. There is blood in one part of the tube, and dialysate in the other part, and they are seperated by a membrane. The rate of solute flux across the membrane here is given by Fick's law: $$\frac{dX}{dt} = k \cdot \text{Surface area} \cdot (C_{blood} - C_{dialysate})$$ where k is a constant that depends on the solute (solubility, molar mass) and the membrane (thickness). In steady-state conditions, the concentration at each point will be constant in time, but will vary with position in the tube. The mass of extra solute added or lost at each progressive slice of the tube depends on the rate of solute flux there. With \(l\) being position along the tubing,
$$\frac{dX_{blood}}{dl} = k \cdot \text{Surface area} (C_{dialysate} - C_{blood})$$ By conservation of mass, all that change has to be equal and opposite for the dialysate. To solve that thing we need the derivative to refer to concentration. The mass of solute is diluted by the flow of fluid through our cross-section:
$$\frac{dC_{blood}}{dl} = \frac{k}{Q_{blood}} \cdot \text{Surface area} (C_{dialysate} - C_{blood})$$
In a concurrent exchanger, the dialysate is flowing in the same direction, experiencing:
$$\frac{dC_{blood}}{dl} = \frac{k}{Q_{blood}} \cdot \text{Surface area} (C_{dialysate} - C_{blood})$$
For convenience, let's define \(\alpha = \frac{k \cdot SA}{Q_{blood}}\) and \(\beta= \frac{k \cdot SA}{Q_{dialysate}}\)
Using our new as and bs, and abbreviating our \(blood\)s and \(dialysate\)s, we have a linear homogeneous system of ODEs:
$$\frac{d}{dl}\begin{bmatrix} C_b \\ C_d \end{bmatrix} = \begin{bmatrix} -\alpha & \alpha \\ \beta & -\beta \end{bmatrix} \cdot \begin{bmatrix} C_b \\ C_d \end{bmatrix}$$ or $$\frac{d}{dl}\bf{C} = \bf{M}\bf{C}$$ Referring to solute concentration in fractional terms, and assuming our dialysate starts solute-free, then we have boundary conditions $$C_b(0) = 1$$ and $$C_d(0) = 0$$. To solve this we can use the eigenvalues \(\to\) eigenvectors \(\to\) general solution \(\to\) specific solution approach, or alternatively by using matrix exponentials. Eigenvalues: $$\text{det} \begin{bmatrix} -\alpha - \lambda & \alpha \\ \beta & -\beta - \lambda \end{bmatrix} = 0 \implies \lambda_1 = 0, \lambda_2 = -(\alpha + \beta)$$
First eigenvector: $$\begin{bmatrix} -\alpha & \alpha \\ \beta & -\beta \end{bmatrix} \cdot \bf{v}_1 = 0 \implies \bf{v}_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}$$
Second eigenvector: $$\begin{bmatrix} \beta & \alpha \\ \beta & \alpha \end{bmatrix} \cdot \bf{v}_2 = 0 \implies \bf{v}_2 = \begin{bmatrix} \alpha \\ -\beta \end{bmatrix}$$
General solution: $$\begin{bmatrix} C_b \\ C_d \end{bmatrix} = c_1 \begin{bmatrix} 1 \\ 1 \end{bmatrix} + c_2 \begin{bmatrix} \alpha \\ - \beta \end{bmatrix} e^{-(\alpha + \beta) l}$$
Applying our boundary conditions:
$$\begin{bmatrix} 1 \\ 0 \end{bmatrix} = c_1 + c_2 \begin{bmatrix} \alpha \\ - \beta \end{bmatrix}$$
$$\implies c_1 = \frac{\beta}{\alpha + \beta}, c_2 = \frac{1}{\alpha+\beta}$$
$$\implies \begin{bmatrix} C_b \\ C_d \end{bmatrix} = \frac{\beta}{\alpha + \beta} \begin{bmatrix} 1 \\ 1 \end{bmatrix} + \frac{1}{\alpha+\beta} \begin{bmatrix} \alpha \\ - \beta \end{bmatrix} e^{-(\alpha + \beta) l}$$
Looking at the concentration of blood after the whole circuit (say, when \(l=L\)), we have
$$C_b(L) = \frac{\beta}{\alpha + \beta} + \frac{\alpha}{\alpha+\beta} e^{-(\alpha + \beta) L}$$
and as the total circuit length tends to infinity:
$$C_b(l \to \inf) = \frac{\beta}{\alpha + \beta}$$
Remembering where these terms came from we can cancel common terms:
$$C_b(l \to \inf) = \frac{1}{\frac{Q_{dialysate}}{Q_{blood}} + 1}$$
So, in order to eliminate all the waste product, an infinitely long tube is not enough - we also need infinite dialysate flow. Let's see if a countercurrent exchanger works any better.
Our setup is similar, except that our dialysate flows the other way, flipping the sign in its spacial derivative, and its boundary condition is set at the far length of the tube:
$$\frac{d}{dl}\begin{bmatrix} C_b \\ C_d \end{bmatrix} = \begin{bmatrix} -\alpha & \alpha \\ -\beta & \beta \end{bmatrix} \cdot \begin{bmatrix} C_b \\ C_d \end{bmatrix}$$
$$C_b(0) = 1$$ $$C_d(L) = 0$$
Using the same approach as above nets us the solution:
$$C_{b}(L) = \frac{\alpha e^{(\beta−\alpha)l} − \beta e^{(\beta−\alpha)L}}{\alpha − \beta e^{(\beta−\alpha)L}}$$
When \(\alpha\) exactly equals \(beta\) (i.e. when the dialysate and blood flows are exactly equal), the general solution breaks down because the demoninator goes to zero; we can't use the normal matrix approach because there are repeated eigenvalues, but we can still use generalized eigenvectors to recover the (linear) solution:
$$C_b(l) = \frac{\alpha(L - l) + 1}{\alpha L + 1}$$
$$C_d(l) = \frac{\alpha(L - l)}{\alpha L + 1}$$
So in that special case, the difference in concentration does indeed remain constant along the circuit. After the circuit, the solute concentration is:
$$C_b(L) = \frac{1}{\alpha L + 1}$$
Or
$$C_b(L) = \frac{1}{\frac{k \cdot SA}{Q_{blood=dialysate}} L + 1}$$
By taking limits, we can see that when the flow rates are equal, turning both flows infinite, OR having an infinite length tube, will clear 100% of the solute. If the flows are not equal things are still quite good with an infinite length of tubing:
$$C_{b}(L) = \frac{\alpha e^{(\beta−\alpha)L} − \beta e^{(\beta−\alpha)L}}{\alpha − \beta e^{(\beta−\alpha)L}}$$
$$C_{b}(L) = (\alpha - \beta) \frac{e^{(\beta−\alpha)L} }{\alpha − \beta e^{(\beta−\alpha)L}}$$\(\alpha - \beta\) appears here a lot, so let's define \(\gamma = \alpha - \beta\) and notice that \(\gamma >0\) when blood flow is higher than dialysate flow, and \(\gamma < 0\) when dialysate flow is higher than blood flow. Then $$C_{b}(L) = \gamma \frac{e^{\gamma L}}{\alpha − \beta e^{\gamma L}}$$
If \(\gamma < 0\), i.e. dialysate flow exceeds blood flow, then $$C_{b}(L \to \inf) = \gamma \frac{0}{\alpha − 0}$$ and all the solute is cleared. If \(\gamma > 0\), then $$C_{b}(L \to \inf) = \lim_{x \to \inf} \gamma \frac{e^{\gamma x} }{\alpha − e^{\gamma x}}$$ and we have to use L'Hopital's rule to recover $$C_{b}(L \to \inf) = \frac{\beta - \alpha}{\beta}$$ which by cancelling common terms is $$C_{b}(L \to \inf) = 1 - \frac{Q_{dialysate}}{Q_{blood}}$$
So, whereas a concurrent exchanger needs an infinite flow of dialysate to clear all the solute, a countercurrent exchanger just need more dialysate flow than blood flow (as long as the tubing is sufficiently long).
What about if the tubing is finite in length? How much better is the countercurrent exchanger then? Let's compare the ratio of solute concentration in effluent blood from an otherwise identical concurrent and countercurrent exchangers with equal blood and dialysate flows (such that \(\alpha = \beta\):
$$\frac{C_{b_{Con}}}{C_{b_{Counter}}} = \frac{\frac{\beta}{\alpha + \beta} + \frac{\alpha}{\alpha+\beta} e^{-(\alpha + \beta) L}} {(\frac{1}{\alpha L + 1})}$$
$$\frac{C_{b_{Con}}}{C_{b_{Counter}}} = \frac{\frac{\alpha}{\alpha + \alpha} + \frac{\alpha}{\alpha+\alpha} e^{-(\alpha + \alpha) L}} {(\frac{1}{\alpha L + 1})}$$
$$\frac{C_{b_{Con}}}{C_{b_{Counter}}} = \frac{\alpha}{2} {(\alpha L + 1) (1 + e^{-2\alpha L})}$$
When the length is close to zero, the expoential is close to one:
$$\frac{C_{b_{Con}}}{C_{b_{Counter}}} \approx \alpha = \frac{k \cdot SA}{Q_{blood=dialysate}}$$
The exponential term will quickly vanish, so for large flows or lengths, there is a linear increase in this ratio:
$$\frac{C_{b_{Con}}}{C_{b_{Counter}}} \approx \frac{1}{2} \alpha {(\alpha L + 1)}$$
So a concurrent multiplier may be better if the tubing is very short, and the exchange inefficient (with fast flow rates or low membrane surface area), but as the length gets longer, the countercurrent setup is guaranteed to be better.
Mid-twenties lost cause.
Trapped in a shrinking cube.
Bounded on the whimsy on the left and analysis on the right.
Bounded by mathematics behind me and medicine in front of me.
Bounded by words above me and raw logic below.
Will be satisfied when I have a fairytale romance, literally save the entire world, and write the perfect koan.