Concentration Dependent Diffusion

Quick Start

If your solvent can absorb a lot of solvent, then the standard Fickian calculations let you down. This is for the obvious reason that the diffusion coefficient, D, isn't a constant. As solvent swells the polymer, it gets easier for more solvent to diffuse through.

Here the setup is the same as in the Fickian app, except that we've added a second D value defined by when the polymer contains 30% solvent. This is easily 2 orders of magnitude higher. As the simulation takes place, the local concentration is used to calculate the effective D value at that concentration.

The effect can be dramatic. And, as you will read below, the rate of absorption can be very different from the rate of desorption, with important practical consequences for formulators.

Concentration Dependence

L (μm)
C (Vol Fraction)
D (cm²/s)
t (min)
TimeOut in:
D (cm²/s) @30%
F (g/cm²/s)
t½ (min)
Breakthrough (min)

As more solvent diffuses into a polymer the structure opens up, making it even easier for solvent to diffuse - in other words the diffusion coefficient is concentration dependent. This app is almost idential to the Fickian one except for the extra input which defines the diffusion coefficient at a high concentration, chosen in this app to be 30 Vol %. The diffusion coefficient is calculated as varying log-linearly between the zero-concentration value and this value and is then assumed to remain constant at higher values. A very typical case is a 3 orders of magnitude increase in D between 0% and 30 vol%. The app accommodates these large changes to give reasonably accurate results. For simplicity in this app, the stated diffusion coefficients are log-linear between 0% and 30% and assumed constant after 30%. If you actual concentration range is less than this then D at that concentration can be readily estimated.

It is obvious and proven that diffusion coefficients are concentration dependent. It is therefore rather sad that most models do not take this into account - giving rise to all sorts of ad-hoc explanations for why the diffusion doesn't fit a "simple" Fickian curve. Concentration-dependence is simple to understand and not much more difficult to model so there is no good excuse for not taking it into account. The other inputs and outputs have already been explained.

Enjoy playing with different concentration dependencies. If the 30% value is accidentally entered as being lower than the 0% value, the app assumes a constant coefficient at the 0% value.

In/Out asymmetry

With a large difference between the D values, set up a Blocked absorption calculation and tweak L and/or t so that the polymer more or less fills completely (right-hand graph) in your given time. Now select the Desorption option. You will find that the sample does not empty in that time. Why?

Think of the surface as a tap (faucet). In absorption mode, the tap is wide open because the surface is at maximum concentration. In desorption mode the concentration at the surface is 0, so the tap is nearly closed. It is very difficult for solvent to diffuse out.

As described in my Solubility Science book, my ignorance of this effect caused me to greatly upset a major Asian customer!

Note that for numerical reasons, if there is a big difference between the diffusion coefficients and if the sample is thin (L is small) then calculations take much longer