ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/io/BondTypesSectionParser.cpp
(Generate patch)

Comparing trunk/OOPSE-2.0/src/io/BondTypesSectionParser.cpp (file contents):
Revision 1957 by tim, Tue Jan 25 17:45:23 2005 UTC vs.
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 49 | Line 49 | BondTypesSectionParser::BondTypesSectionParser() {
49   #include "utils/simError.h"
50   namespace oopse {
51  
52 < BondTypesSectionParser::BondTypesSectionParser() {
52 >  BondTypesSectionParser::BondTypesSectionParser() {
53      setSectionName("BondTypes");
54  
55      stringToEnumMap_["Fixed"] =  btFixed;                
# Line 57 | Line 57 | BondTypesSectionParser::BondTypesSectionParser() {
57      stringToEnumMap_["Cubic"] = btCubic;
58      stringToEnumMap_["Quartic"] = btQuartic;
59      stringToEnumMap_["Polynomial"] = btPolynomial;
60 < }
60 >  }
61  
62 < void BondTypesSectionParser::parseLine(ForceField& ff,const std::string& line, int lineNo){
62 >  void BondTypesSectionParser::parseLine(ForceField& ff,const std::string& line, int lineNo){
63      StringTokenizer tokenizer(line);
64      BondType* bondType = NULL;
65      int nTokens = tokenizer.countTokens();
66  
67      if (nTokens < 4) {
68 <        sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
69 <                lineNo);
70 <        painCave.isFatal = 1;
71 <        simError();
68 >      sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
69 >              lineNo);
70 >      painCave.isFatal = 1;
71 >      simError();
72      }
73      
74      std::string at1 = tokenizer.nextToken();
# Line 79 | Line 79 | void BondTypesSectionParser::parseLine(ForceField& ff,
79  
80      //switch is a maintain nightmare
81      switch(bt) {
82 <        case btFixed :
83 <            bondType = new FixedBondType(b0);
84 <            break;
82 >    case btFixed :
83 >      bondType = new FixedBondType(b0);
84 >      break;
85              
86 <        case btHarmonic :
87 <            if (nTokens < 1) {
88 <                sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
89 <                        lineNo);
90 <                painCave.isFatal = 1;
91 <                simError();
92 <            } else {
86 >    case btHarmonic :
87 >      if (nTokens < 1) {
88 >        sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
89 >                lineNo);
90 >        painCave.isFatal = 1;
91 >        simError();
92 >      } else {
93  
94 <                double kb = tokenizer.nextTokenAsDouble();
95 <                bondType = new HarmonicBondType(b0, kb);
96 <            }
94 >        double kb = tokenizer.nextTokenAsDouble();
95 >        bondType = new HarmonicBondType(b0, kb);
96 >      }
97  
98 <            break;
98 >      break;
99  
100 <        case btCubic :
101 <            if (nTokens < 4) {
102 <                sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
103 <                        lineNo);
104 <                painCave.isFatal = 1;
105 <                simError();
106 <            } else {
100 >    case btCubic :
101 >      if (nTokens < 4) {
102 >        sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
103 >                lineNo);
104 >        painCave.isFatal = 1;
105 >        simError();
106 >      } else {
107  
108 <                double k3 = tokenizer.nextTokenAsDouble();
109 <                double k2 = tokenizer.nextTokenAsDouble();
110 <                double k1 = tokenizer.nextTokenAsDouble();
111 <                double k0 = tokenizer.nextTokenAsDouble();
108 >        double k3 = tokenizer.nextTokenAsDouble();
109 >        double k2 = tokenizer.nextTokenAsDouble();
110 >        double k1 = tokenizer.nextTokenAsDouble();
111 >        double k0 = tokenizer.nextTokenAsDouble();
112                  
113 <                bondType = new CubicBondType(b0, k3, k2, k1, k0);
114 <            }
115 <            break;
113 >        bondType = new CubicBondType(b0, k3, k2, k1, k0);
114 >      }
115 >      break;
116              
117 <        case btQuartic :
118 <            if (nTokens < 5) {
117 >    case btQuartic :
118 >      if (nTokens < 5) {
119  
120 <                sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
121 <                        lineNo);
122 <                painCave.isFatal = 1;
123 <                simError();
120 >        sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
121 >                lineNo);
122 >        painCave.isFatal = 1;
123 >        simError();
124  
125 <            } else {
125 >      } else {
126  
127 <                b0 = tokenizer.nextTokenAsDouble();
128 <                double k4 = tokenizer.nextTokenAsDouble();
129 <                double k3 = tokenizer.nextTokenAsDouble();
130 <                double k2 = tokenizer.nextTokenAsDouble();
131 <                double k1 = tokenizer.nextTokenAsDouble();
132 <                double k0 = tokenizer.nextTokenAsDouble();
127 >        b0 = tokenizer.nextTokenAsDouble();
128 >        double k4 = tokenizer.nextTokenAsDouble();
129 >        double k3 = tokenizer.nextTokenAsDouble();
130 >        double k2 = tokenizer.nextTokenAsDouble();
131 >        double k1 = tokenizer.nextTokenAsDouble();
132 >        double k0 = tokenizer.nextTokenAsDouble();
133                  
134 <                bondType = new QuarticBondType(b0, k4, k3, k2, k1, k0);
135 <            }
136 <            break;
134 >        bondType = new QuarticBondType(b0, k4, k3, k2, k1, k0);
135 >      }
136 >      break;
137  
138 <        case btPolynomial :
139 <            if (nTokens < 2 || nTokens % 2 != 0) {
140 <                sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
141 <                        lineNo);
142 <                painCave.isFatal = 1;
143 <                simError();
138 >    case btPolynomial :
139 >      if (nTokens < 2 || nTokens % 2 != 0) {
140 >        sprintf(painCave.errMsg, "BondTypesSectionParser Error: Not enough tokens at line %d\n",
141 >                lineNo);
142 >        painCave.isFatal = 1;
143 >        simError();
144  
145 <            } else {
146 <                int nPairs = nTokens / 2;
147 <                int power;
148 <                double coefficient;
149 <                PolynomialBondType* pbt = new PolynomialBondType(b0);
145 >      } else {
146 >        int nPairs = nTokens / 2;
147 >        int power;
148 >        double coefficient;
149 >        PolynomialBondType* pbt = new PolynomialBondType(b0);
150                  
151 <                for (int i = 0; i < nPairs; ++i) {
152 <                    power = tokenizer.nextTokenAsInt();
153 <                    coefficient = tokenizer.nextTokenAsDouble();
154 <                    pbt->setCoefficient(power, coefficient);
155 <                }
156 <            }
151 >        for (int i = 0; i < nPairs; ++i) {
152 >          power = tokenizer.nextTokenAsInt();
153 >          coefficient = tokenizer.nextTokenAsDouble();
154 >          pbt->setCoefficient(power, coefficient);
155 >        }
156 >      }
157              
158 <            break;
158 >      break;
159  
160 <        case btUnknown :
161 <        default:
162 <                sprintf(painCave.errMsg, "BondTypesSectionParser Error: Unknown Bond Type at line %d\n",
163 <                        lineNo);
164 <                painCave.isFatal = 1;
165 <                simError();
160 >    case btUnknown :
161 >    default:
162 >      sprintf(painCave.errMsg, "BondTypesSectionParser Error: Unknown Bond Type at line %d\n",
163 >              lineNo);
164 >      painCave.isFatal = 1;
165 >      simError();
166  
167 <            break;
167 >      break;
168              
169      }
170  
171      if (bondType != NULL) {
172 <        ff.addBondType(at1, at2, bondType);
172 >      ff.addBondType(at1, at2, bondType);
173      }
174  
175 < }
175 >  }
176  
177 < BondTypesSectionParser::BondTypeEnum BondTypesSectionParser::getBondTypeEnum(const std::string& str) {
177 >  BondTypesSectionParser::BondTypeEnum BondTypesSectionParser::getBondTypeEnum(const std::string& str) {
178      std::map<std::string, BondTypeEnum>::iterator i;
179      i = stringToEnumMap_.find(str);
180  
181      return i == stringToEnumMap_.end() ? btUnknown : i->second;
182 < }
182 >  }
183  
184   } //end namespace oopse
185  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines