--- trunk/OOPSE-2.0/src/io/EAMAtomTypesSectionParser.cpp 2005/01/14 16:49:46 1945 +++ trunk/OOPSE-2.0/src/io/EAMAtomTypesSectionParser.cpp 2005/01/25 17:45:23 1957 @@ -62,14 +62,19 @@ void EAMAtomTypesSectionParser::parseLine(ForceField& atomType->setEAM(); parseEAMParamFile(ff, atomType, potentialParamFile, atomType->getIdent()); } else { - + sprintf(painCave.errMsg, "EAMAtomTypesSectionParser Error: Can not find AtomType [%s]\n", + atomTypeName.c_str()); + painCave.isFatal = 1; + simError(); } } else { - + sprintf(painCave.errMsg, "EAMAtomTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } - } void EAMAtomTypesSectionParser::parseEAMParamFile(ForceField& ff, AtomType* atomType, @@ -98,10 +103,10 @@ void EAMAtomTypesSectionParser::parseEAMParamFile(Forc latticeConstant = tokenizer1.nextTokenAsDouble(); lattice = tokenizer1.nextToken(); }else { - std::cerr << "Not enought tokens" << std::endl; + sprintf(painCave.errMsg, "EAMAtomTypesSectionParser Error: Not enough tokens\n"); + painCave.isFatal = 1; + simError(); } - } else { - } // The third line is nrho, drho, nr, dr and rcut @@ -118,12 +123,14 @@ void EAMAtomTypesSectionParser::parseEAMParamFile(Forc eamParam.dr = tokenizer2.nextTokenAsDouble(); eamParam.rcut = tokenizer2.nextTokenAsDouble(); }else { - std::cerr << "Not enought tokens" << std::endl; - } - } else { - } + sprintf(painCave.errMsg, "EAMAtomTypesSectionParser Error: Not enough tokens\n"); + painCave.isFatal = 1; + simError(); + } + } + parseEAMArray(*ppfStream, eamParam.Frhovals, eamParam.nrho); parseEAMArray(*ppfStream, eamParam.rvals, eamParam.nr); parseEAMArray(*ppfStream, eamParam.rhovals, eamParam.nr); @@ -154,13 +161,17 @@ void EAMAtomTypesSectionParser::parseEAMArray(std::ist array.push_back(tokenizer.nextTokenAsDouble()); } } else { - + sprintf(painCave.errMsg, "EAMAtomTypesSectionParser Error: Not enough tokens\n"); + painCave.isFatal = 1; + simError(); } ++lineCount; } if (lineCount < nlinesToRead) { - + sprintf(painCave.errMsg, "EAMAtomTypesSectionParser Error: Not enough lines to read\n"); + painCave.isFatal = 1; + simError(); } }