@@ -60,9 +60,7 @@ public Polarizability() {}
6060 private void addExplicitHydrogens (IAtomContainer container ) {
6161 try {
6262 CDKAtomTypeMatcher matcher = CDKAtomTypeMatcher .getInstance (container .getBuilder ());
63- Iterator <IAtom > atoms = container .atoms ().iterator ();
64- while (atoms .hasNext ()) {
65- IAtom atom = atoms .next ();
63+ for (IAtom atom : container .atoms ()) {
6664 IAtomType type = matcher .findMatchingAtomType (container , atom );
6765 AtomTypeManipulator .configure (atom , type );
6866 }
@@ -125,7 +123,7 @@ public double calculateGHEffectiveAtomPolarizability(IAtomContainer atomContaine
125123 acH = atomContainer ;
126124 }
127125
128- List <IAtom > startAtom = new ArrayList <IAtom >(1 );
126+ List <IAtom > startAtom = new ArrayList <>(1 );
129127 startAtom .add (0 , atom );
130128 double bond ;
131129
@@ -167,7 +165,7 @@ public double calculateGHEffectiveAtomPolarizability(IAtomContainer atomContaine
167165 acH = atomContainer ;
168166 }
169167
170- List <IAtom > startAtom = new ArrayList <IAtom >(1 );
168+ List <IAtom > startAtom = new ArrayList <>(1 );
171169 startAtom .add (0 , atom );
172170 double bond ;
173171
@@ -215,70 +213,81 @@ private double getKJPolarizabilityFactor(IAtomContainer atomContainer, IAtom ato
215213 double polarizabilitiyFactor = 0 ;
216214 String AtomSymbol ;
217215 AtomSymbol = atom .getSymbol ();
218- if (AtomSymbol .equals ("H" )) {
219- polarizabilitiyFactor = 0.387 ;
220- } else if (AtomSymbol .equals ("C" )) {
221- if (atom .getFlag (CDKConstants .ISAROMATIC )) {
222- polarizabilitiyFactor = 1.230 ;
223- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
224- polarizabilitiyFactor = 1.064 ;/* 1.064 */
225- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
226- if (getNumberOfHydrogen (atomContainer , atom ) == 0 ) {
227- polarizabilitiyFactor = 1.382 ;
216+ switch (AtomSymbol ) {
217+ case "H" :
218+ polarizabilitiyFactor = 0.387 ;
219+ break ;
220+ case "C" :
221+ if (atom .getFlag (CDKConstants .ISAROMATIC )) {
222+ polarizabilitiyFactor = 1.230 ;
223+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
224+ polarizabilitiyFactor = 1.064 ;/* 1.064 */
225+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
226+ if (getNumberOfHydrogen (atomContainer , atom ) == 0 ) {
227+ polarizabilitiyFactor = 1.382 ;
228+ } else {
229+ polarizabilitiyFactor = 1.37 ;
230+ }
231+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .TRIPLE
232+ || atomContainer .getMaximumBondOrder (atom ) == IBond .Order .QUADRUPLE ) {
233+ polarizabilitiyFactor = 1.279 ;
234+ }
235+ break ;
236+ case "N" :
237+ if (atom .getCharge () != CDKConstants .UNSET && atom .getCharge () < 0 ) {
238+ polarizabilitiyFactor = 1.090 ;
239+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
240+ polarizabilitiyFactor = 1.094 ;
241+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
242+ polarizabilitiyFactor = 1.030 ;
228243 } else {
229- polarizabilitiyFactor = 1.37 ;
244+ polarizabilitiyFactor = 0.852 ;
230245 }
231- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .TRIPLE
232- || atomContainer .getMaximumBondOrder (atom ) == IBond .Order .QUADRUPLE ) {
233- polarizabilitiyFactor = 1.279 ;
234- }
235- } else if (AtomSymbol .equals ("N" )) {
236- if (atom .getCharge () != CDKConstants .UNSET && atom .getCharge () < 0 ) {
237- polarizabilitiyFactor = 1.090 ;
238- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
239- polarizabilitiyFactor = 1.094 ;
240- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
241- polarizabilitiyFactor = 1.030 ;
242- } else {
243- polarizabilitiyFactor = 0.852 ;
244- }
245- } else if (AtomSymbol .equals ("O" )) {
246- if (atom .getCharge () != CDKConstants .UNSET && atom .getCharge () == -1 ) {
247- polarizabilitiyFactor = 1.791 ;
248- } else if (atom .getCharge () != CDKConstants .UNSET && atom .getCharge () == 1 ) {
249- polarizabilitiyFactor = 0.422 ;
250- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
251- polarizabilitiyFactor = 0.664 ;
252- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
253- polarizabilitiyFactor = 0.460 ;
254- }
255- } else if (AtomSymbol .equals ("P" )) {
256- if (atomContainer .getConnectedBondsCount (atom ) == 4
246+ break ;
247+ case "O" :
248+ if (atom .getCharge () != CDKConstants .UNSET && atom .getCharge () == -1 ) {
249+ polarizabilitiyFactor = 1.791 ;
250+ } else if (atom .getCharge () != CDKConstants .UNSET && atom .getCharge () == 1 ) {
251+ polarizabilitiyFactor = 0.422 ;
252+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
253+ polarizabilitiyFactor = 0.664 ;
254+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
255+ polarizabilitiyFactor = 0.460 ;
256+ }
257+ break ;
258+ case "P" :
259+ if (atomContainer .getConnectedBondsCount (atom ) == 4
257260 && atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
258- polarizabilitiyFactor = 0 ;
259- }
260- } else if (AtomSymbol .equals ("S" )) {
261- if (atom .getFlag (CDKConstants .ISAROMATIC )) {
262- polarizabilitiyFactor = 3.38 ;
263- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
264- polarizabilitiyFactor = 3.20 ;/* 3.19 */
265- } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
266- if (getNumberOfHydrogen (atomContainer , atom ) == 0 ) {
267- polarizabilitiyFactor = 3.51 ;
261+ polarizabilitiyFactor = 0 ;
262+ }
263+ break ;
264+ case "S" :
265+ if (atom .getFlag (CDKConstants .ISAROMATIC )) {
266+ polarizabilitiyFactor = 3.38 ;
267+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .SINGLE ) {
268+ polarizabilitiyFactor = 3.20 ;/* 3.19 */
269+ } else if (atomContainer .getMaximumBondOrder (atom ) == IBond .Order .DOUBLE ) {
270+ if (getNumberOfHydrogen (atomContainer , atom ) == 0 ) {
271+ polarizabilitiyFactor = 3.51 ;
272+ } else {
273+ polarizabilitiyFactor = 3.50 ;
274+ }
268275 } else {
269- polarizabilitiyFactor = 3.50 ;
276+ polarizabilitiyFactor = 3.42 ;
270277 }
271- } else {
272- polarizabilitiyFactor = 3.42 ;
273- }
274- } else if (AtomSymbol .equals ("F" )) {
275- polarizabilitiyFactor = 0.296 ;
276- } else if (AtomSymbol .equals ("Cl" )) {
277- polarizabilitiyFactor = 2.343 ;
278- } else if (AtomSymbol .equals ("Br" )) {
279- polarizabilitiyFactor = 3.5 ;
280- } else if (AtomSymbol .equals ("I" )) {
281- polarizabilitiyFactor = 5.79 ;
278+ break ;
279+ case "F" :
280+ polarizabilitiyFactor = 0.296 ;
281+ break ;
282+ case "Cl" :
283+ polarizabilitiyFactor = 2.343 ;
284+ break ;
285+ case "Br" :
286+ polarizabilitiyFactor = 3.5 ;
287+ break ;
288+ case "I" :
289+ polarizabilitiyFactor = 5.79 ;
290+ break ;
282291 }
283292 return polarizabilitiyFactor ;
284293 }
0 commit comments