Skip to content

Repository files navigation

Drug Dissolution Model — Noyes–Whitney Equation

A Python model of how a solid drug dissolves into solution, built using the Noyes–Whitney equation and solved numerically with Euler's forward method. Ibuprofen is used as a worked example, with all physical parameters sourced from published literature and converted to SI units.

Author: Jeswin Joseph · MEng Chemical Engineering Student, University of Manchester · July 2026


What this project does

A drug cannot be absorbed by the body until it has dissolved, so the rate of dissolution directly affects how quickly a medicine takes effect. This project:

  1. Implements the Noyes–Whitney equation numerically in Python
  2. Simulates the dissolution of a 200 mg ibuprofen dose under standard USP test conditions
  3. Investigates how particle size controls the dissolution rate — the quantitative basis for why pharmaceutical drugs are micronised

The science

Dissolution occurs in a continuous three-step cycle: molecules detach from the solid surface into the thin liquid layer touching it; this layer becomes saturated at concentration Cs; and dissolved molecules then diffuse outward into the bulk liquid down the concentration gradient.

The rate is described by the Noyes–Whitney equation (1897), in the form including the volume of the dissolution medium:

dC/dt = (D · A) / (h · V) × (Cs − C)
Term Meaning
dC/dt Rate of change of dissolved concentration
Cs − C Concentration gradient driving diffusion — largest at the start, zero at saturation
D Diffusion coefficient
A Total surface area of drug exposed
h Diffusion layer thickness
V Volume of dissolution medium

Modelling the dose as N identical spheres of radius r and substituting for the particle count gives a compact analytical result:

A = 3M / (ρ · r)

Total surface area is inversely proportional to particle radius — halving the radius doubles the surface area for the same mass of drug.


Results

Base model (r = 10 µm). Concentration rises steeply then flattens, reaching 100% of saturation — the characteristic exponential approach to saturation predicted by the theory.

Dissolution curve

Effect of particle radius. Running the model across five radii (1–9 µm), holding all other parameters constant:

Effect of particle radius

Smaller particles dissolve markedly faster, exactly as A = 3M/ρr predicts. Crucially, all five curves plateau at the same Cs — particle size changes the rate of dissolution, but not its extent, since the dose and saturation solubility are unchanged.


Model parameters

All values converted to SI units. Sources traced to primary literature where possible; assumptions are declared as such.

Parameter Value Source Type
D 1×10⁻⁹ m²/s Ribeiro et al. (2022); Sci. Rep. (2021) Measured
Cs 0.021 kg/m³ PubChem CID 3672 (21 mg/L at ≈pH 1–2) Measured
h 3×10⁻⁵ m Hintz–Johnson critical boundary-layer thickness Assumption
r 1–10×10⁻⁶ m Micronised ibuprofen particle size distribution Chosen
ρ 1030 kg/m³ 1.03 g/cm³ (cross-referenced, converted) Measured
M 2×10⁻⁴ kg 200 mg tablet (NHS) Measured
V 9×10⁻⁴ m³ 900 mL, USP standard dissolution volume Standard

Assumptions and limitations

The model makes several deliberate simplifications, each a candidate for refinement:

  • Constant surface area — a real particle shrinks as it dissolves, so A decreases with time. A shrinking-particle model would relax this.
  • Fixed diffusion layer thickness — a flat h = 30 µm was used. Hintz–Johnson actually set δc = r for particles below 30 µm, so a stricter treatment would use h = r, strengthening the radius dependence further (rate ∝ 1/r²).
  • Identical particles — real powders have a particle-size distribution.
  • No absorption — the model covers dissolution only, not uptake into the bloodstream (pharmacokinetics).
  • Fixed temperature and pH — both affect D and Cs. Ibuprofen's solubility is strongly pH-dependent.

Repository contents

File Description
dissolution_model.ipynb Jupyter/Colab notebook with the full model and plots
Dissolution_Report.pdf Full technical report (theory, method, results, development record, references)
dissolution_curve.png Base model result
radius_comparison.png Particle radius investigation

Running it

The notebook runs in Google Colab with no setup required. Only numpy and matplotlib are needed, both pre-installed in Colab.


References

  1. Noyes, A. A. & Whitney, W. R. (1897). The rate of solution of solid substances in their own solutions. J. Am. Chem. Soc., 19(12), 930–934.
  2. Ribeiro, A. C. F. et al. (2022). On the diffusion of ketoprofen and ibuprofen in water. J. Chem. Thermodynamics.
  3. Numerical investigation of ibuprofen removal using adsorption (2021). Scientific Reports, 11.
  4. PubChem — Ibuprofen (CID 3672), National Library of Medicine.
  5. Boundary layer effects in particle dissolution, Molecular Pharmaceutics (2024).
  6. Ibuprofen for adults, NHS.
  7. USP General Chapter ⟨1092⟩, The Dissolution Procedure, United States Pharmacopeia.

Full reference list, including particle-size and density sources, is given in the report PDF.

A note on scope

This project reproduces well-established science and is not original research — dissolution modelling is standard practice in pharmaceutical development. It was built as an independent learning project to develop computational modelling skills and to understand dissolution by implementing it from first principles. The accompanying report documents the full development process, including errors made and corrected along the way.


Declaration on the use of AI

Artificial intelligence (Claude, Anthropic) was used during this project as a tutor and writing assistant: for explaining the underlying theory, for generating and explaining the Python code, and for drafting the accompanying report. All parameter sourcing, unit conversions, the surface-area derivation (A = 3M/ρr), hand verification of calculated values, and the design of the particle-radius investigation were carried out by the author, who understands and can defend all content presented.

About

Python model of drug dissolution using the Noyes–Whitney equation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages