A MATLAB program to calculate translational and rotational diffusion coefficients of a single particle
We developed a graphical user interface, MATLAB based program to calculate the translational diffusion coefficients in three dimensions for a single diffusing particle, suspended inside a fluid. When the particles are not spherical, in addition to their translational motion also a rotational freedom is considered for them and in addition to the previous translational diffusion coefficients a planar rotational diffusion coefficient can be calculated in this program. Time averaging and ensemble averaging over the particle displacements are taken to calculate the mean square displacement variations in time and so the diffusion coefficients. To monitor the random motion of non-spherical particles a reference frame is used that the particle just have translational motion in it. We call it the body frame that is just like the particle rotates about the z-axis of the lab frame. Some statistical analysis, such as velocity autocorrelation function and histogram of displacements for the particle either in the lab or body frames, are available in the program. Program also calculates theoretical values of the diffusion coefficients for particles of some basic geometrical shapes: sphere, spheroid and cylinder, when other diffusion parameters like temperature and fluid viscosity coefficient can be adjusted. Program summary Program title: KOJA Catalogue identifier: AEHK_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEHK_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 48 021 No. of bytes in distributed program, including test data, etc.: 1 310 320 Distribution format: tar.gz 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 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 autocorrelation 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. (c) 2010 Elsevier B.V. All rights reserved.
matlab program rotational diffusion diffusion coefficients single particle translational diffusion brownian motion