From: <ha...@us...> - 2013-08-11 01:01:37
|
Revision: 18536 http://sourceforge.net/p/jmol/code/18536 Author: hansonr Date: 2013-08-11 01:01:29 +0000 (Sun, 11 Aug 2013) Log Message: ----------- * abstract modulation class for CIF and Jana * * Current status: * * -- d=1 only * -- includes Fourier, Crenel, Sawtooth; displacement, occupancy, and Uiso * -- reading composite subsystem files such as ms-fit-1.cif * * TODO: Uij, d > 1 * TODO: handle subsystems properly Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-08-11 00:05:54 UTC (rev 18535) +++ trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-08-11 01:01:29 UTC (rev 18536) @@ -49,7 +49,13 @@ * Current status: * * -- d=1 only - * -- only simple atom displacement, no occupation crenel, no sawtooth + * -- includes Fourier, Crenel, Sawtooth; displacement, occupancy, and Uiso + * -- reading composite subsystem files such as ms-fit-1.cif + * + * TODO: Uij, d > 1 + * TODO: handle subsystems properly + * + * No plan to implement rigid-body rotation * * @author Bob Hanson ha...@st... 8/7/13 * @@ -238,6 +244,7 @@ return; atoms = atomSetCollection.getAtoms(); symmetry = atomSetCollection.getSymmetry(); + iopLast = -1; SB sb = new SB(); for (int i = atomSetCollection.getLastAtomSetAtomIndex(); i < n; i++) modulateAtom(atoms[i], sb); @@ -250,6 +257,9 @@ return (pt_ < 0 ? null : key.substring(0, pt_)); } + private int iopLast = -1; + private Matrix3f rot; + /** * The displacement will be set as the atom vibration vector; the string * buffer will be appended with the t value for a given unit cell. @@ -271,7 +281,10 @@ float epsilon = symmetry.getModParam(iop, 0); float delta = symmetry.getModParam(iop, 1); delta -= modT; - Matrix3f rot = new Matrix3f(); + if (iop != iopLast) { + iopLast = iop; + rot = new Matrix3f(); + } symmetry.getSpaceGroupOperation(iop).getRotationScale(rot); System.out.println("=========MR i=" + a.index + " " + a.atomName + " " + a + " " + a.occupancy); System.out.println("op=" + (iop + 1) + " " + symmetry.getSpaceGroupXyz(iop, false) + " ep=" + epsilon + " de=" + delta); @@ -294,7 +307,7 @@ if (key.equalsIgnoreCase("Uiso")) { setU(a, 7, v); } else { - + //TODO } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2013-11-20 23:40:32
|
Revision: 18979 http://sourceforge.net/p/jmol/code/18979 Author: hansonr Date: 2013-11-20 23:40:29 +0000 (Wed, 20 Nov 2013) Log Message: ----------- ___JmolVersion="13.3.9_dev_2013.11.20" bug fix: CIF modulation reader not reading linear combinations of cell wave vectors Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-11-20 23:39:30 UTC (rev 18978) +++ trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-11-20 23:40:29 UTC (rev 18979) @@ -344,7 +344,7 @@ if (qs[1] != null) pt.scaleAdd2(j, qs[1], pt); if (qs[2] != null) - pt.scaleAdd2(j, qs[2], pt); + pt.scaleAdd2(k, qs[2], pt); if (pt.distanceSquared(p) < 0.001f) { pt.set(i, j, 0); return pt; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2013-11-20 23:41:25
|
Revision: 18980 http://sourceforge.net/p/jmol/code/18980 Author: hansonr Date: 2013-11-20 23:41:22 +0000 (Wed, 20 Nov 2013) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-11-20 23:40:29 UTC (rev 18979) +++ trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-11-20 23:41:22 UTC (rev 18980) @@ -345,7 +345,7 @@ pt.scaleAdd2(j, qs[1], pt); if (qs[2] != null) pt.scaleAdd2(k, qs[2], pt); - if (pt.distanceSquared(p) < 0.001f) { + if (pt.distanceSquared(p) < 0.0001f) { pt.set(i, j, 0); return pt; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |