Revision: 20443
          http://sourceforge.net/p/jmol/code/20443
Author:   hansonr
Date:     2015-04-09 15:39:43 +0000 (Thu, 09 Apr 2015)
Log Message:
-----------
Jmol.___JmolVersion="14.3.13_2015.04.09"

bug fix: MO calculation hanging when G orbitals are present

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/quantum/MOCalculation.java
    trunk/Jmol/src/org/jmol/quantum/QS.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties

Modified: trunk/Jmol/src/org/jmol/quantum/MOCalculation.java
===================================================================
--- trunk/Jmol/src/org/jmol/quantum/MOCalculation.java  2015-04-08 18:15:24 UTC 
(rev 20442)
+++ trunk/Jmol/src/org/jmol/quantum/MOCalculation.java  2015-04-09 15:39:43 UTC 
(rev 20443)
@@ -112,8 +112,10 @@
   //private float coefMax = Integer.MAX_VALUE;
   private boolean doNormalize = true;
   private boolean nwChemMode = false;
-  //                                              S           P           SP   
       DS         DC          FS          FC
-  private int[][] dfCoefMaps = new int[][] {new int[1], new int[3], new 
int[4], new int[5], new int[6], new int[7], new int[10]};
+  //                                           0  S       1   P        2  SP   
+  private int[][] dfCoefMaps = new int[][] {new int[1], new int[3], new 
int[4], 
+        //    3   DS     4   DC      5   FS      6   FC
+          new int[5], new int[6], new int[7], new int[10]};
 
   private float[] linearCombination;
 
@@ -144,6 +146,7 @@
     this.gaussians = gaussians;
     if (dfCoefMaps != null)
       this.dfCoefMaps = dfCoefMaps;
+    coeffs = new double[this.dfCoefMaps[this.dfCoefMaps.length - 1].length];
     this.slaters = (SlaterData[]) slaters;
     this.moCoefficients = moCoefficients;
     this.linearCombination = linearCombination;
@@ -276,6 +279,7 @@
     gaussianPtr = shell[2];
     nGaussians = shell[3];
     doShowShellType = doDebug;
+    //System.out.println(iShell + " basistype is " + basisType);
     if (!setCoeffs(basisType, false))
       return 0;
     for (int i = map.length; --i >= 0;)
@@ -296,6 +300,7 @@
     gaussianPtr = shell[2];
     nGaussians = shell[3];
     doShowShellType = doDebug;
+    //System.out.println("shell " + iShell + " type " + basisType);
     if (atomIndex != lastAtom && (thisAtom = qmAtoms[atomIndex]) != null)
       thisAtom.setXYZ(this, true);
     if (!setCoeffs(shell[1], true))
@@ -327,10 +332,10 @@
     default:
       if (warned == null)
         warned = "";
-      String key = "=" + (atomIndex + 1) + ": ";
+      String key = "=" + (atomIndex + 1) + ": " + 
QS.getQuantumShellTag(basisType);
       if (warned.indexOf(key) < 0) {
         warned += key;
-        Logger.warn(" Unsupported basis type for atomno" + key + 
QS.getQuantumShellTag(basisType));
+        Logger.warn(" Unsupported basis type for atomno" + key);
       }
       break;
     }
@@ -378,7 +383,7 @@
     return sum;
   }
 
-  private final double[] coeffs = new double[10];
+  private double[] coeffs;
   private int[] map;
   
   private boolean setCoeffs(int type, boolean isProcess) {
@@ -1175,9 +1180,10 @@
       }
     String[] so = getShellOrder(shell);
       for (int i = 0; i < map.length; i++) {
+        int n = map[i] + moCoeff - map.length + i + 1;
         double c = coeffs[i];
           Logger.debug("MO coeff " + (so == null ? "?" : so[i]) + " "
-              + (map[i] + moCoeff - map.length + i + 1) + "\t" + c + "\t" + 
thisAtom.atom);
+              + n + "\t" + c + "\t" + thisAtom.atom);
       
     }
   }

Modified: trunk/Jmol/src/org/jmol/quantum/QS.java
===================================================================
--- trunk/Jmol/src/org/jmol/quantum/QS.java     2015-04-08 18:15:24 UTC (rev 
20442)
+++ trunk/Jmol/src/org/jmol/quantum/QS.java     2015-04-09 15:39:43 UTC (rev 
20443)
@@ -79,16 +79,16 @@
 
   public static int[][] getNewDfCoefMap() {
     return new int[][] { 
-        new int[1],  //S 
+        new int[1],  //S 0
         new int[3],  //P
         new int[4],  //SP
-        new int[5],  //D5
-        new int[6],  //D6
-        new int[7],  //F7 
+        new int[5],  //D5 3
+        new int[6],  //D6 
+        new int[7],  //F7 5
         new int[10], //F10
-        new int[9],  //G9
+        new int[9],  //G9 7
         new int[15], //G15
-        new int[11], //H11 == 2*5 + 1
+        new int[11], //H11 9 == 2*5 + 1
         new int[21], //H21 == (5+1)(5+2)/2
         new int[13], //I13 == 2*6 + 1
         new int[28]  //I28 == (6+1)(6+2)/2

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2015-04-08 18:15:24 UTC 
(rev 20442)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2015-04-09 15:39:43 UTC 
(rev 20443)
@@ -14,8 +14,12 @@
 
 TODO: remove HTML5 dependency on synchronous file loading (check SCRIPT 
command for problems)
 
-Jmol.___JmolVersion="14.3.13_2015.04.08" 
+Jmol.___JmolVersion="14.3.13_2015.04.09"
 
+bug fix: MO calculation hanging when G orbitals are present
+
+JmolVersion="14.3.13_2015.04.08"
+
 bug fix: echo id myecho "testing" reports "myecho" instead of "testing"
 
 JmolVersion="14.3.13_2015.04.07" 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to