Menu

SVN archive Commit Log


Commit Date  
[r2689] by bugman

Fixed the transposed spheroidal rotation matrix.

The spheroidal rotation matrix returned from the data structure 'self.relax.data.diff[run].rotation'
was incorrect. Instead of the true rotation matrix, the transpose of the matrix was being returned.
As the spheroidal rotation matrix was transposed whereas the ellipsoidal rotation matrix was correct
(the spherical rotation matrix was the identity matrix, so no problem there), the maths for
generating the PDB geometric object representing the diffusion tensor was causing problems. Now all
three geometric objects - sphere, spheroid, and ellipsoid - should be correctly generated.

2006-10-29 03:13:38 Tree
[r2688] by bugman

Added the three axes corresponding to Dx, Dy, and Dz to the ellipsoid tensor PDB representation.

These are the eigenvalues of the ellipsoidal diffusion tensor. Three carbon atoms were added to the
vector position and all were joined to the carbon representing the centre of mass (R).

2006-10-29 03:07:54 Tree
[r2687] by bugman

Modification to the uniform distribution of vectors.

The vectors of the radial array (longitude) have been shifted by half an increment and the last
vector, which has moved beyond the pole, has been dropped. In addition, vectors have been added to
the top and bottom poles, slightly breaking the uniformity of the distribution. This improves
the appearance of the PDB geometric object representing the diffusion tensor.

2006-10-29 03:05:44 Tree
[r2686] by bugman

The uniform distribution of vectors has been rotated into the diffusion frame.

The geometric representation of the diffusion tensor is now of the correct orientation and shape!

2006-10-29 03:03:13 Tree
[r2685] by bugman

Added the rotation matrix as an attribute of the diffusion tensor data structure.

The calculation of the diffusion tensor data structure 'self.relax.data.diff[run].tensor' has been
simplified. Rather than replicating the calculation of the diagonalised diffusion tensor, it uses
the 'tensor_diag' data structure. The 'rotation' data structure is also used.

2006-10-29 03:01:57 Tree
[r2684] by bugman

Created the geometric representation of the diffusion tensor in the tensor PDB file.

The lengths of the uniformly distributed vectors have been extended and scaled to the shape of the
geometric object. Each atom has been connected to the previous atom in its radial array (generating
longitudinal lines) and the atoms of each radial array have been joined to the equivalent atoms of
the previous array (generating latitudinal lines). To zip up a gap in the geometric object where
the latitudinal lines are not continuous ellipses, the atoms of the last radial array have been
joined to the first radial array.

2006-10-29 03:00:54 Tree
[r2683] by bugman

Creation of a uniform distribution of unit vectors on a sphere using uniform spherical angles.

The function 'self.uniform_vect_dist_spherical_angles()' has been added to the file
'generic_fns/pdb.py'. This function has the explicit purpose of generating a uniform distribution
of unit vectors on a sphere. It does this by using a linear distribution of values of the azimuthal
angle theta in combination with an arc-cos distribution of values of the polar angle. Each is
incremented one by one and unit vectors from the spherical angles are calculated. This creates both
radial arrays corresponding to the longitude and horizontal latitudinal arrays of vectors.

For the tensor PDB file, this currently generates a number of non-bonded H atoms distributed 1
Angstrom form the origin of the PDB frame. This will soon be transformed into the diffusion frame,
the unit vectors scaled to the appropriate diffusion rate, and the atoms joined.

2006-10-29 02:57:04 Tree
[r2682] by bugman

The diffusion tensor data structure now returns the matrices 'tensor' and 'tensor_diag'.

For spherical, spheroidal, and ellipsoidal diffusion, the diffusion tensor data structure attributes
'tensor' and 'tensor_diag' now exist. These return the diffusion tensor in the form of a matrix.
The object 'tensor_diag' returns the diffusion tensor defined within the diffusion frame. The
object 'tensor' return the diffusion tensor defined within the structural frame.

2006-10-29 02:53:37 Tree
[r2681] by bugman

A overhaul of the handling of the tensor PDB atomic data and how atoms are added and connected.

A new data structure called 'self.atomic_data' has been created to store all the atomic data. The
data structure is a dictionary of arrays. The key is a string corresponding to the 'atom_id'. The
elements of the array are:
0: Atom number.
1: Element type.
2: The x coordinate of the atom.
3: The y coordinate of the atom.
4: The z coordinate of the atom.
5+: The bonded atom numbers.

Two new functions have been added to maintain the 'self.atomic_data' structure. The first is
'self.atom_add()' which creates a key-value pair within the data structure for the given atom adding
the atom number, element type, and coordinates of the atom.

The second function is 'self.atom_connect()'. Two arguments are expected, the 'atom_id' and
'bonded_id' strings. The atom number corresponding to 'bonded_id' is added to the 'atom_id' array
and vice versa.

The centre of mass atom is now added using the 'self.atom_add()' function. The atom corresponding
to the unique axis of the spheroid ('Dpar_vect') is also added using this function. These two atoms
are connected using 'self.atom_connect()'.

The 'self.write_pdb_file()' function has been modified accordingly.

2006-10-29 02:51:46 Tree
[r2680] by bugman

The ability for different atoms of the PDB tensor representation has been added.

The hetatm array elements are now 2 element arrays consisting of the atom position and the element
type. An algorithm has been added to generate the chemical formula for the FORMUL PDB record.

2006-10-29 02:47:24 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.