Diffusion From Spheres

Associated Hands-On Teaching Module:

This simulation is meant to demonstrate aspects of mass transfer in radial coordinates A summary of this system and its governing equations may be found below the simulation. Set up your initial conditions at the bottom of the applet and press play to run the reaction simulation in "real-time". Press fast forward to run as quickly as your computer is capable. Mouse-over each input to see a description of that option or variable.

1-D Mass Transfer in a Sphere / Drug Delivery Simulation

University of Utah - Department of Chemical Engineering
by Anthony Butterfield

May Not Work if Your Browser Isn't Up to Date

0 s

rewind   play   pause   one step   fast forward    Eject Eject

Plot What: CL Cbc Cb Y Yf C(r) Ca(r)
Fit to f(Y) t0 t1 m b
Simulation Constants and Variables:
You may insert your own experimental Y data and compare it to simulation. Paste time data (in seconds) in the top text box and Y data (fraction of solute released) in the bottom text box. Data should be comma delimited.

Governing Equations:

Concentration profile across the bead:

Total number of moles, and the concentration of the system at infinite time:

Number of moles in the bead centers, bead shells, and liquid (determined by a mole balance):

Average concentration in the beads:

Concentration change in the center of the bead depends on the molar flux at the bead center's radius:

Fraction of total solute released:

This simulation is also capable of determining the analytical solution for the concentration profile across the bead in the case where the liquid volume is infinite (it does not change with time) and there is no void in the center of the bead (rc = 0). The analytical solution is:


Peppas approximation may be plotted in the simulation. This equation is an empirical relationship that is most valid when Y < 0.60:


Simplifying to Diffusion Out of a Single Bead into a Semi-Infinite Media

While this simulation models a more complex system with diffusion into a finite media with changing concentration, the traditional 1-D radial diffusion problem may be simulated by making the volume of water to beads very large. For example, one could reduce the number of beads to 1 and raise the liquid volume to a kiloliter. When this is done and dt is small enough to avoid numerical error, the concentration profile across the bead should be the same as that given by the analytical solution, Ca(r), which may be plotted using the appropriate check-box below the plot.

Comparing With Your Own Data

  1. Running your alginate bead experiment in the lab and collect data from your spectrophotometer over time until the signal levels off.
  2. There will be a lot of data points that need to be converted from voltage to concentration but you can’t go directly from V to C.
  3. You will need to convert your voltage to transmittance and then to absorbance, using the methods described in your experiments with the spectrophotometers.
  4. Transmittance to Absorbance
    A = -log10(T)
  5. Because A is proportional to C, to get the percentage released, Y, you need only divide A by the maximum A measured, if the experiment ran until the signal leveled off. If you did not let the experiment run until the maximum was found, you can convert to C using your calibration for fuschin, and use a calculated value of Cinf to determine Y.
  6. You will not want to use every data point, as it will slow the simulation down too much. Instead, you can take, for example, every 50th data point in a Matlab vector of time, t, using the command
    >> tnew=t(1:50:end)
  7. Convert your data to a comma delimited form appropriate for the simulation. You can use the command
    >> sprintf('%f,' , tnew)
  8. Paste the comma delimited time and Y into the text boxes at the bottom of the simulation.
  9. Put the appropriate bead radius and other initial conditions in for your particular beads.
  10. Run the simulation and find a diffusivity that creates a release profile, Y, that best matches your data.
  11. Press eject to get that data for plotting later.