Пример #1
0
 private double normalizeShell(int iShell) {
   double c = 0;
   int[] shell = shells.get(iShell);
   basisType = QS.getItem(shell[1]);
   gaussianPtr = shell[2];
   nGaussians = shell[3];
   doShowShellType = doDebug;
   if (!setCoeffs(false)) return 0;
   for (int i = map.length; --i >= 0; ) c += coeffs[i] * coeffs[i];
   return c;
 }
Пример #2
0
 private void processShell(int iShell) {
   int lastAtom = atomIndex;
   int[] shell = shells.get(iShell);
   atomIndex = shell[0] + firstAtomOffset;
   basisType = QS.getItem(shell[1]);
   gaussianPtr = shell[2];
   nGaussians = shell[3];
   doShowShellType = doDebug;
   if (atomIndex != lastAtom && (thisAtom = qmAtoms[atomIndex]) != null)
     thisAtom.setXYZ(this, true);
   if (!setCoeffs(true)) return;
   if (havePoints) setMinMax(-1);
   switch (basisType) {
     case S:
       addDataS();
       break;
     case P:
       addDataP();
       break;
     case SP:
       addDataSP();
       break;
     case D_SPHERICAL:
       addData5D();
       break;
     case D_CARTESIAN:
       addData6D();
       break;
     case F_SPHERICAL:
       addData7F();
       break;
     case F_CARTESIAN:
       addData10F();
       break;
     default:
       Logger.warn(" Unsupported basis type for atomno=" + (atomIndex + 1) + ": " + basisType.tag);
       break;
   }
 }