Diffusion Mathematics

From bradwiki
Revision as of 15:14, 3 November 2013 by Bradley Monk (talk | contribs)
Jump to navigation Jump to search

In no particular order, here are some common mathematical concepts often found in diffusion modeling. To simulate and quantify simple diffusion (e.g. 2D Brownian Motion) only requires a working knowledge of basic statistics and trigonometry. Modeling complex forms of diffusion requires the use of vector calculus and differential geometry. There is a thin boundary between simple and complex diffusion and the math becomes dense very quickly. For example, using just a few lines of code, one can easily simulate stochastic diffusion on a flat 2D surface:


% MATLAB CODE %
Ndots = 100; Nsteps = Ndots;
D = .5;                     % Diffusion Rate
dm = 2;                     % dimensions
tau = 1;                    % time step
k = sqrt(dm*D*tau);         % stdev of step-size distribution
xyl = ones(2,Ndots); xyds = xyl;

for t = 1:Nsteps
   xyds = (k * randn(2,Ndots));
   for j = 1:Ndots
     xyl(:,j) = xyl(:,j)+xyds(:,j);
   end
   gscatter(xyl(1,:),xyl(2,:));
end

On the other hand, simulating stochastic diffusion on a ruffled 2D membrane is often done using parallel-computing systems at your local university's supercomputer center. However, with an understanding of the mathematical concepts that underlie complex diffusion, we can understand diffusion properties without a powerful computing cluster. I am a neuroscientist, not a mathematician or physicist, and based on my own personal trials and tribulations in modeling diffusion as a non-math expert, here are some concepts I needed to brush up on before getting serious about diffusion modeling...




Partial Derivatives

In mathematics, a partial derivative of a function of several variables is its derivative with respect to one of those variables, with the others held constant (as opposed to the total derivative, in which all variables are allowed to vary). Partial derivatives are used in vector calculus and differential geometry.

Suppose that ƒ is a function of more than one variable. For instance:

The graph of this function defines a surface in Euclidean space. To every point on this surface, there are an infinite number of tangent lines. Partial differentiation is the act of choosing one of these lines and finding its slope. Usually, the lines of most interest are those that are parallel to the xz-plane, and those that are parallel to the yz-plane (which result from holding either y or x constant, respectively.) To find the slope of the line tangent to the function at P(1, 1, 3) that is parallel to the xz-plane, the y variable is treated as constant. The graph and this plane are shown on the right. On the graph below it, we see the way the function looks on the plane y = 1. By finding the derivative of the equation while assuming that y is a constant, the slope of ƒ at the point (x, y, z) is found to be:

So at (1, 1, 3), by substitution, the slope is 3. Therefore

at the point (1, 1, 3). That is, the partial derivative of z with respect to x at (1, 1, 3) is 3.


Laplace Operator

Laplace operator


In mathematics the Laplace operator or Laplacian is a differential operator given by the divergence of the gradient of a function on Euclidean space. It is usually denoted by the symbols ∇·∇, ∇2 or ∆. The Laplacian ∆f(p) of a function f at a point p, up to a constant depending on the dimension, is the rate at which the average value of f over spheres centered at p, deviates from f(p) as the radius of the sphere grows.