Commit e5a3448a authored by Mark Robert Johnson's avatar Mark Robert Johnson

Change of address in all files in Jobs directory and sub-directory.

Update of help text for all analyses.
parent 925b4b4b
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -40,12 +40,12 @@ from MDANSE.MolecularDynamics.Trajectory import read_atoms_trajectory
class AngularCorrelation(IJob):
'''
Computes the angular correlation for a set of molecules.
Computes the angular correlation for a vector defined with respect to a molecule or set of molecules.
Vector defined by user, starting at the origin pointing towards the direction.
Origin and direction can either be an atom or a center definition. In this particular case the origin
is the head group geometric center designated with the sphere and the direction is simply the last atom
of the tail chain. The correlation is calculated for the angle formed between the same vector at
Vector defined by user, starting at the origin pointing in a particular direction.
Origin and direction can either be an atom or a centre definition (centre of a group of atoms). For example, the origin
could be defined by the geometric centre of the head group of a surfactant molecule and the direction simply by the last atom
of the tail or chain. The correlation is calculated for the angle formed by the same vector at
different times
**Calculation:** \n
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -44,8 +44,9 @@ class AreaPerMolecule(IJob):
'''
Computes the area per molecule.
The area per molecule is computed by simply dividing the surface of one of the simulation box face (ab, bc or ac) by the
number of molecule with a given name. This property should be a constant unless the simulation performed was in NPT ensemble.
The area per molecule is computed by simply dividing the surface of one of the simulation box faces (ab, bc or ac) by the
number of molecules with a given name. This property should be a constant unless the simulation performed was in the NPT ensemble.
This analysis is relevant for oriented structures like lipid membranes.
'''
type = 'apm'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -44,7 +44,7 @@ from MDANSE.MolecularDynamics.Trajectory import sorted_atoms
class BoxCenteredTrajectory(IJob):
"""
Build a new trajectory by translating a given atom selection on the center of the simulation box.
Build a new trajectory by translating the contents of the simulation box such that a given atom selection is at the centre of the simulation box.
"""
type = 'btt'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -41,7 +41,8 @@ from MDANSE.MolecularDynamics.Trajectory import partition_universe
class CenterOfMassesTrajectory(IJob):
"""
Creates a trajectory out of the center of masses motions for a selection of atoms of a given input trajectory
Creates a trajectory from the centre of masses for selected groups of atoms in a given input trajectory.
For a molecular system, the centre of mass trajectory will contain only the molecular translations, which are therefore separated from the rotations.
"""
type = 'comt'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -39,10 +39,8 @@ from MDANSE.Framework.Jobs.DistanceHistogram import DistanceHistogram
class CoordinationNumber(DistanceHistogram):
"""
The Coordination Number computes the pair distribution function for a set of atoms,
it could be defined has the total number of neighbours of a central atom in a molecule or ion.
In MDANSE the definition of the Coordination Number can be seen as an extension of this previous definition,
indeed, we are not only defining central atom but also centers of gravity of a set of group of atoms as center.
The Coordination Number is computed from the pair distribution function for a set of atoms.
It describes the total number of neighbours, as a function of distance, from a central atom, or the centre of a group of atoms.
"""
type = 'cn'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -40,7 +40,7 @@ from MDANSE.MolecularDynamics.Trajectory import sorted_atoms
class CroppedTrajectory(IJob):
"""
Crop a trajectory as well in term of universe contents as in trajectory length..
Crop a trajectory in terms of the contents of the simulation box (selected atoms or molecules) and the trajectory length.
"""
type = 'ct'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -43,10 +43,10 @@ from MDANSE.Mathematics.Signal import correlation, normalize, get_spectrum
class CurrentCorrelationFunction(IJob):
"""
Computes the current correlation function for a set of atoms.
the transversal and longitudinal current correlation function are typically use to study propagation of excitations in disordered system.
longitudinal current are directly coupled to density fluctuation and transversal current are link to propagating 'shear modes'.
The transverse and longitudinal current correlation functions are typically used to study the propagation of excitations in disordered systems.
The longitudinal current is directly related to density fluctuations and the transverse current is linked to propagating 'shear modes'.
For more information, read 'J.-P. Hansen and I. R. McDonald, Theory of Simple Liquids (3rd ed., Elsevier), chapter 7.4: Correlations
For more information, see e.g. 'J.-P. Hansen and I. R. McDonald, Theory of Simple Liquids (3rd ed., Elsevier), chapter 7.4: Correlations
in space and time)'
"""
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -38,7 +38,7 @@ from MDANSE.MolecularDynamics.Trajectory import sorted_atoms
class Density(IJob):
"""
Computes the time-dependent density for a given trajectory.
Computes the atom and mass densities for a given trajectory. These are time dependent if the simulation box volume fluctuates.
"""
type = 'den'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -40,10 +40,10 @@ from MDANSE.MolecularDynamics.Trajectory import read_atoms_trajectory
class DensityOfStates(IJob):
"""
The Density Of States correspond, for a set of atoms, to the calculation of the
power spectrum of the Velocity AutoCorrelation Function (VACF), which in case of
the mass-weighted VACF defines the phonon discrete Density Of States.
"""
The Density Of States describes the number of vibrations per unit frequency.
It is determined as the power spectrum (Fourier transform) of the Velocity AutoCorrelation Function (VACF).
The partial Density of States corresponds to selected sets of atoms or molecules.
"""
type = 'dos'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -44,8 +44,9 @@ class DensityProfileError(Error):
class DensityProfile(IJob):
"""
The Density Profile analysis can be used to characterize the density heterogeneity in order to study
atoms segregation and cluster order formation in long chained molecules systems such as polymers, lipids, etc.
The Density Profile analysis shows the weighted atomic density heterogeneity in the directions of the simulation box axes.
For a lipid membrane, the density variation in the direction perpendicular to the membrane is probed in reflectometry measurements.
The Density Profile Analysis can show segregation or cluster order formation, for example during the formation of micelles.
"""
type = 'dp'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -42,7 +42,7 @@ from MDANSE.MolecularDynamics.Trajectory import atomindex_to_moleculeindex
class DistanceHistogram(IJob):
"""
Compute the Histogram of Distance
Compute the Histogram of Distance, used by e.g. PDF, coordination number analysis
"""
type = None
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -46,7 +46,9 @@ class DynamicCoherentStructureFactorError(Error):
class DynamicCoherentStructureFactor(IJob):
"""
Computes the dynamic coherent structure factor for a set of atoms.
Computes the dynamic coherent structure factor S_coh(Q,w) for a set of atoms.
It can be compared to experimental data e.g. the energy-integrated, static structure factor S_coh(Q)
or the dispersion and intensity of phonons.
"""
type = 'dcsf'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -42,7 +42,8 @@ from MDANSE.MolecularDynamics.Trajectory import read_atoms_trajectory
class DynamicIncoherentStructureFactor(IJob):
"""
Computes the dynamic incoherent structure factor for a set of atoms.
Computes the dynamic incoherent structure factor S_inc(Q,w) for a set of atoms.
It can be compared to experimental data e.g. the quasielastic scattering due to diffusion processes.
"""
type = 'disf'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -40,13 +40,13 @@ from MDANSE.Mathematics.Geometry import center_of_mass
class Eccentricity(IJob):
"""
Computes the eccentricity for a set of atoms.\n
Computes the eccentricity for a set of atoms e.g. in a micelle.\n
**Calculation:** \n
Eccentricity is calculated using the inertia principal axes 'I' along x, y and z: \n
Eccentricity is calculated using the principal axes of inertia 'I' along x, y and z: \n
.. math:: Eccentricity = 1-\\frac{I_{min}}{I_{average}}
The ratio of largest to smallest is between the biggest inertia to the smallest \n
The ratio of largest to smallest is \n
.. math:: ratio = \\frac{Imax}{Imin}
The semiaxes a,b and c are those of an ellipsoid \n
......@@ -56,7 +56,7 @@ class Eccentricity(IJob):
Where:\n
- M is the total mass of all the selected atoms
- :math:`I_{min}` , :math:`I_{mid}` and :math:`I_{max}` are respectively the smallest, the middle and the biggest inertia moment value
- :math:`I_{min}` , :math:`I_{mid}` and :math:`I_{max}` are respectively the smallest, middle and biggest inertia moment values
**Output:** \n
......@@ -75,8 +75,8 @@ class Eccentricity(IJob):
**Usage:** \n
This analysis can be used to study macro-molecules geometry and sphericity .
Originally conceived to calculate the sphericity of micelles.
This analysis can be used to study macro-molecular geometry and sphericity .
It was originally conceived to calculate the ellipticity of micelles.
**Acknowledgement and publication:**\n
AOUN Bachir, PELLEGRINI Eric
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -44,13 +44,9 @@ class ElasticIncoherentStructureFactor(IJob):
The Elastic Incoherent Structure Factor (EISF ) is defined as the limit of the incoherent
intermediate scattering function for infinite time.
The EISF appears as the amplitude of the elastic line in the neutron scattering spectrum.
The EISF appears as the incoherent amplitude of the elastic line in the neutron scattering spectrum.
Elastic scattering is only present for systems in which the atomic motion is confined in space, as
for solids. To understand which information is contained in the EISF we consider for simplicity
a system where only one sort of atoms is visible to the neutrons. To a very good approximation
this is the case for all systems containing a large amount of hydrogen atoms, as biological
systems. Incoherent scattering from hydrogen dominates by far all other contributions. Using
the definition of the van Hove self-correlation function G(r,t)
in solids. The Q-dependence of the EISF indicates e.g. the fraction of static/mobile atoms and the spatial dependence of the dynamics.
"""
type = 'eisf'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -43,7 +43,7 @@ from MDANSE.MolecularDynamics.Trajectory import read_atoms_trajectory
class GaussianDynamicIncoherentStructureFactor(IJob):
"""
Computes the dynamic incoherent structure factor for a set of atoms with the gaussian approximation.
Computes the dynamic incoherent structure factor S_inc(Q,w) for a set of atoms in the Gaussian approximation.
"""
type = 'gdisf'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -40,7 +40,7 @@ from MDANSE.MolecularDynamics.Trajectory import read_atoms_trajectory
class GeneralAutoCorrelationFunction(IJob):
"""
Computes the autocorrelation for a given trajectory variable.
Computes the autocorrelation for any available trajectory variable.
"""
type = 'gacf'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -40,28 +40,28 @@ from MDANSE.MolecularDynamics.Trajectory import sorted_atoms
class GlobalMotionFilteredTrajectory(IJob):
"""
It is often of interest to separate global motion from internal motion, both for quantitative
analysis and for visualization by animated display. Obviously, this can be done under the
It is often of interest to separate global translation and rotation motion from internal motion, both for quantitative
analysis and for visualization by animated display. Obviously, this can only be done under the
hypothesis that global and internal motions are decoupled within the length and timescales of
the analysis. MDANSE can create Global Motion Filtered Trajectory (GMFT) by filtering
out global motions (made of the three translational and rotational degrees of freedom), either
the analysis. MDANSE creates a Global Motion Filtered Trajectory (GMFT) by filtering
out global motions (made of the three translational and three rotational degrees of freedom), either
on the whole system or on an user-defined subset, by fitting it to a reference structure (usually
the first frame of the MD). Global motion filtering uses a straightforward algorithm:
* for the first frame, find the linear transformation such that the coordinate origin becomes
the center of mass of the system and its principal axes of inertia are parallel to the three
the centre of mass of the system and its principal axes of inertia are parallel to the three
coordinates axes (also called principal axes transformation),
* this provides a reference configuration C ref ,
* for any other frames f, finds and applies the linear transformation that minimizes the
RMS distance between frame f and C ref .
* for any other frames f, find and apply the linear transformation that minimizes the
RMS 'distance' between frame f and C ref .
The result is stored in a new trajectory file that contains only internal motions. This analysis
can be useful in case where diffusive motions are not of interest or simply not accessible to the
experiment (time resolution, powder analysis ... ).
can be useful in case where overall diffusive motions are not of interest e.g. for a protein in solution
and the internal protein dynamics fall within the dynamical range of the instrument.
To do so, the universe has to be made infinite and all its configuration contiguous.
In the global motion filtered trajectory, the universe is made infinite and all the configurations contiguous.
"""
type = 'gmft'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -78,7 +78,12 @@ class McStasParameters(Configurable):
class McStasVirtualInstrument(IJob):
"""
Performs a virtual experiment using McStas binding.
Performs a virtual neutron scattering experiment using a binding to the McStas, neutron ray-tracing code.
This analysis requires the coherent and incoherent dynamic structure factors to have been calculated
and an instrument to be chosen.
The result is the instrument-dependent perturbation of the sum of the scattering contributions including
instrument resolution, self-shielding and multiple scattering.
"""
type = 'mvi'
......
......@@ -3,7 +3,7 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#71, avenue des Martyrs
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
......@@ -41,23 +41,27 @@ from MDANSE.MolecularDynamics.Trajectory import read_atoms_trajectory
class MeanSquareDisplacement(IJob):
"""
Molecules in liquids and gases do not stay in the same place, but move constantly. This
process is called diffusion and it happens quite naturally in
process is called diffusion and it takes place in
liquids at equilibrium.
During this process, the motion of an individual molecule does not follow a simple path.
As it travels, the molecule undergoes some collisions with other molecules which prevent it
from following a straight line. If the path is examined in close detail,
it will be seen to be a good approximation to a random walk.
During this process, the motion of an individual molecule does not follow a simple path
since molecules undergo collisions. The path is to a good approximation to a random walk.
Mathematically, a random walk is a series of steps where each step is taken in a completely
random direction from the one before. This kind of path was famously analysed by Albert Einstein
in a study of Brownian motion. He showed that the MSD of a particle following a random walk
is proportional to the time elapsed. This relationship can be written as :
random direction from the one before, as analysed by Albert Einstein
in a study of Brownian motion. The MSD of a particle in this case
is proportional to the time elapsed:
.. math:: <r^{2}> = 6Dt + C
where <r^2> is the MSD and t is the time. D and C are constants. The constant D defines
where <r^2> is the MSD and t is the time. D and C are constants. The constant D is
the so-called diffusion coefficient.
More generally the MSD reveals the distance or volume explored by atoms and molecules as a function of time.
In crystals the MSD quickly saturates at a constant value which corresponds to the vibrational amplitude.
Diffusion in a volume will also have a limiting value of the MSD which corresponds to the diameter of the volume
and the saturation value is reached more slowly.
The MSD can also reveal e.g. sub-diffusion regimes for the translational diffusion of lipids in membranes.
"""
type = 'msd'
......
......@@ -3,8 +3,8 @@
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#71 avenue des Martyrs
#38000 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
......@@ -39,11 +39,13 @@ from MDANSE.Extensions import mt_fast_calc
class MolecularTrace(IJob):
"""
Molecular Trace is a structural analysis allowing to computes the trace of atoms in terms of coordinates.
A Molecular Trace is a time-integrated trace of selected atoms in terms of their coordinates.
* firstly, we compute the minimal and maximal coordinates including the atomic trajectories define as input.
* then, based on these min/max and on a spatial resolution given (as float) as spacing, we build a cartesian grid.
* finally, for each atom and for each frame of the selections, we sum a constant into the grid, like an histogram of presence, called the spatial density
* the minimal and maximal coordinates from the selected atomic trajectories are computed.
* based on these min/max and a spatial resolution, a cartesian grid is constructed.
* for each atom and for each frame of the selected trajectories, a histogram of presence, called the spatial density, is constructed.
The molecular trace can reveal anisotropic vibrations and diffusion pathways.
**Acknowledgement and publication:**\n