// ## operation generateSpeciesStatus(ReactionModel,ArrayList,ArrayList,ArrayList) private LinkedHashMap generateSpeciesStatus( ReactionModel p_reactionModel, ArrayList p_speciesChemkinName, ArrayList p_speciesConc, ArrayList p_speciesFlux) { // #[ operation generateSpeciesStatus(ReactionModel,ArrayList,ArrayList,ArrayList) int size = p_speciesChemkinName.size(); if (size != p_speciesConc.size() || size != p_speciesFlux.size()) throw new InvalidSpeciesStatusException(); LinkedHashMap speStatus = new LinkedHashMap(); for (int i = 0; i < size; i++) { String name = (String) p_speciesChemkinName.get(i); int ID = parseIDFromChemkinName(name); Species spe = SpeciesDictionary.getInstance().getSpeciesFromID(ID); double conc = ((Double) p_speciesConc.get(i)).doubleValue(); double flux = ((Double) p_speciesFlux.get(i)).doubleValue(); System.out.println( String.valueOf(spe.getID()) + '\t' + spe.getName() + '\t' + String.valueOf(conc) + '\t' + String.valueOf(flux)); if (conc < 0) { double aTol = ReactionModelGenerator.getAtol(); // if (Math.abs(conc) < aTol) conc = 0; // else throw new NegativeConcentrationException("species " + spe.getName() + " has negative // conc: " + String.valueOf(conc)); if (conc < -100.0 * aTol) throw new NegativeConcentrationException( "Species " + spe.getName() + " has negative concentration: " + String.valueOf(conc)); } SpeciesStatus ss = new SpeciesStatus(spe, 1, conc, flux); speStatus.put(spe, ss); } return speStatus; // #] }