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; }
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; } }