--- trunk/src/io/MetalNonMetalInteractionsSectionParser.cpp 2009/11/25 20:02:06 1390 +++ branches/heatflux/src/io/MetalNonMetalInteractionsSectionParser.cpp 2012/01/27 19:07:19 1670 @@ -44,6 +44,7 @@ #include "types/ShiftedMorseInteractionType.hpp" #include "types/MAWInteractionType.hpp" #include "types/LennardJonesInteractionType.hpp" +#include "types/RepulsivePowerInteractionType.hpp" #include "types/RepulsiveMorseInteractionType.hpp" #include "UseTheForce/ForceField.hpp" #include "utils/simError.h" @@ -53,9 +54,10 @@ namespace OpenMD { setSectionName("MetalNonMetalInteractions"); stringToEnumMap_["MAW"] = MAW; - stringToEnumMap_["ShiftedMorse"] = ShiftedMorse; + stringToEnumMap_["ShiftedMorse"] = ShiftedMorse; stringToEnumMap_["LennardJones"] = LennardJones; stringToEnumMap_["RepulsiveMorse"] = RepulsiveMorse; + stringToEnumMap_["RepulsivePower"] = RepulsivePower; } @@ -138,6 +140,20 @@ namespace OpenMD { } break; + case RepulsivePower : + if (nTokens < 3) { + sprintf(painCave.errMsg, "MetalNonMetalInteractionsSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); + } else { + RealType sigma = tokenizer.nextTokenAsDouble(); + RealType epsilon = tokenizer.nextTokenAsDouble(); + int nRep = tokenizer.nextTokenAsInt(); + interactionType = new RepulsivePowerInteractionType(sigma, epsilon, nRep); + } + break; + case Unknown : default: sprintf(painCave.errMsg, "MetalNonMetalInteractionsSectionParser Error: Unknown Interaction Type at line %d\n",