2009/11/19 Eldon Ulrich <elu@xxxxxxxxxxxxx>:
Hi, The suggestions for the tensor saveframe overall look fine. Instead of including the shape of the tensor in the '.Details' tag or the '.Speroid_type' tag, I would suggest creating a tag '_Tensor_list.Tensor_shape' tag with enumerations like 'isotropic,' 'anisotropic,' 'rhombic,' 'anisotropic prolate,' and others.
I would suggest a different list as the term anisotropic includes the rhombic tensors. This is what I've done in relax to remove ambiguity - I've used the pure names from geometry: sphere: http://en.wikipedia.org/wiki/Sphere spheroid: http://en.wikipedia.org/wiki/Spheroid oblate spheroid: http://en.wikipedia.org/wiki/Oblate_spheroid prolate spheroid: http://en.wikipedia.org/wiki/Prolate_spheroid ellipsoid: http://en.wikipedia.org/wiki/Ellipsoid This is totally unambiguous and independent of the numerous (inconsistent) definitions used for tensors throughout NMR. Of course the ellipsoid shape includes the spheroid and sphere, and the spheroid includes the sphere. But generally sphere = 3 equal eigenvalues, spheroid = 2 equal eigenvalues, and ellipsoid = all 3 eigenvalues different, therefore an ellipsoid with 3 equal eigenvalues is called a sphere. Note that the terms 'isotropic' and 'rhombic' are unambiguous though. I would strongly recommend against allowing 'anisotropic' because some people think of this as a spheroid, while others think of it as anything non-isotropic - the correct definition.
A full list of tags for the saveframe is given below. I hope I have them all in there. I think having one general saveframe for tensors is fine and then in one file using separate tensor saveframes where appropriate would work. The list of tags in the loop has become quite long, but only those relevant to the specific type of tensor need to be used.
This makes it quite powerful then! I'll keep you informed if new tags are needed to store all relevant information.
The tensor saveframe would go in supercategory 8 for structure and the Shielding_tensor saveframe will be obsoleted.
Ok, I will code bmrblib accordingly. Cheers, Edward