Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aehk_v1_0.tar.gz(1279 Kbytes)
Manuscript Title: A MATLAB Program to calculate translational and rotational diffusion coefficients of a single particle
Authors: Mohammad A. Charsooghi, Ehsan A. Akhlaghi, Sharareh Tavaddod, H.R. Khalesifard
Program title: KOJA
Catalogue identifier: AEHK_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 182(2011)400
Programming language: MatLab (MathWorks Inc.) version 7.6 or higher. Statistics Toolbox and Curve Fitting Toolbox required.
Computer: Tested on windows and linux, but generally it would work on any computer running MatLab (MathWorks Inc.). There is a bug in windows 7, if the user is not the administrator sometimes the program was not able to overwrite some internal files.
Operating system: Any supporting MatLab (MathWorks Inc.) v7.6 or higher.
RAM: About eight times that of loaded data.
Keywords: translational diffusion, rotational diffusion, Brownian motion, single particle, diffusion coefficients, MATLAB program.
PACS: 66.10.C-, 45.40.Aa, 45.40.Bb, 82.37.-j.
Classification: 12.

Nature of problem:
In many areas of physics, knowing diffusion coefficients is vital and gives useful information about the physical properties of diffusive particles and the environment. In many cases a diffusive particle is not a sphere and has rotation during its movements. In these cases information about a particle's trajectory both in lab and body frame would be useful. Also some statistical analysis is needed to obtain more information about a particle's motion.

Solution method:
This program tries to gather all required tools to analyse raw data from the Brownian motion of a diffusing particle. Ability to switch between different methods of calculation of mean square displacement to find diffusion coefficients depends on the correlations between data points. There are three methods in the program: time-average, ensemble-average and their combinations. A linear fit is done to measure Diffusion Coefficient (D), the weight and fraction of data points is controllable. Given physical properties of the system, the program can calculates D theoretically for some basic geometrical shapes; sphere, spheroid and cylinder. In the case of non-spherical particles if data of rotation is available, the code can calculate trajectory and diffusion also in body frame. There are more statistical tools available in the program, such as histogram and auto-correlation function to obtain more information e.g. relaxation time to ideal diffusion motion. Code uses log-log diagram of mean square displacement (MSD) to calculate the amount of deviation from normal diffusion to sub or super diffusion.

Running time:
It is dependent on the input data, but for typical data in the order of mega bytes, it would take tens of minutes.