Changeset f75030 for molecuilder/src/datacreator.cpp
- Timestamp:
- May 23, 2008, 9:17:19 AM (17 years ago)
- Children:
- 6145aa7
- Parents:
- 6c96f4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
molecuilder/src/datacreator.cpp
r6c96f4 rf75030 48 48 output << "#Order\tFrag.No.\t" << Energy.Header << endl; 49 49 for (int BondOrder=0;BondOrder<KeySet.Order;BondOrder++) { 50 for(int i= 0;i<KeySet.FragmentsPerOrder[BondOrder];i++) {51 for(int j= 0;j<Energy.RowCounter[ KeySet.OrderSet[BondOrder][i] ];j++)52 for(int k= 0;k<Energy.ColumnCounter;k++)50 for(int i=KeySet.FragmentsPerOrder[BondOrder];i--;) { 51 for(int j=Energy.RowCounter[ KeySet.OrderSet[BondOrder][i] ];j--;) 52 for(int k=Energy.ColumnCounter;k--;) 53 53 Energy.Matrix[Energy.MatrixCounter][j][k] -= EnergyFragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][j][k]; 54 54 } … … 89 89 } 90 90 if (j != -1) 91 for(int k= 0;k<Force.ColumnCounter;k++) {91 for(int k=Force.ColumnCounter;k--;) { 92 92 Force.Matrix[Force.MatrixCounter][j][k] += ForceFragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][l][k]; 93 93 } … … 136 136 void CreateMaxFragmentOrder(class MatrixContainer &Fragments, class KeySetsContainer &KeySet, int BondOrder) 137 137 { 138 for(int j= 0;j<Fragments.RowCounter[ Fragments.MatrixCounter ];j++) {139 for(int i= 0;i<KeySet.FragmentsPerOrder[BondOrder];i++) {138 for(int j=Fragments.RowCounter[ Fragments.MatrixCounter ];j--;) { 139 for(int i=KeySet.FragmentsPerOrder[BondOrder];i--;) { 140 140 if (fabs(Fragments.Matrix[ Fragments.MatrixCounter ][j][1]) < fabs(Fragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][j][1])) { 141 for (int k= 0;k<Fragments.ColumnCounter;k++)141 for (int k=Fragments.ColumnCounter;k--;) 142 142 Fragments.Matrix[ Fragments.MatrixCounter ][j][k] = Fragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][j][k]; 143 143 } … … 156 156 int i=0; 157 157 do { // first get a minimum value unequal to 0 158 for (int k= 0;k<Fragments.ColumnCounter;k++)158 for (int k=Fragments.ColumnCounter;k--;) 159 159 Fragments.Matrix[ Fragments.MatrixCounter ][j][k] = Fragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][j][k]; 160 160 i++; … … 162 162 for(;i<KeySet.FragmentsPerOrder[BondOrder];i++) { // then find lowest 163 163 if (fabs(Fragments.Matrix[ Fragments.MatrixCounter ][j][1]) > fabs(Fragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][j][1])) { 164 for (int k= 0;k<Fragments.ColumnCounter;k++)164 for (int k=Fragments.ColumnCounter;k--;) 165 165 Fragments.Matrix[ Fragments.MatrixCounter ][j][k] = Fragments.Matrix[ KeySet.OrderSet[BondOrder][i] ][j][k]; 166 166 } … … 211 211 void CreateMinimumForce(class MatrixContainer &Force, int MatrixNumber) 212 212 { 213 for (int l= 0;l<Force.ColumnCounter;l++)213 for (int l=Force.ColumnCounter;l--;) 214 214 Force.Matrix[MatrixNumber][ Force.RowCounter[MatrixNumber] ][l] = 0.; 215 215 for (int l=5;l<Force.ColumnCounter;l+=3) { … … 217 217 int k=0; 218 218 do { 219 for (int m= 0;m<3;m++) {219 for (int m=NDIM;m--;) { 220 220 stored += Force.Matrix[MatrixNumber][ k ][l+m] 221 221 * Force.Matrix[MatrixNumber][ k ][l+m]; … … 226 226 for (;k<Force.RowCounter[MatrixNumber];k++) { 227 227 double tmp = 0; 228 for (int m= 0;m<3;m++)228 for (int m=NDIM;m--;) 229 229 tmp += Force.Matrix[MatrixNumber][ k ][l+m] 230 230 * Force.Matrix[MatrixNumber][ k ][l+m]; 231 231 if ((fabs(tmp) > MYEPSILON) && (tmp < stored)) { // current force is greater than stored 232 for (int m= 0;m<3;m++)232 for (int m=NDIM;m--;) 233 233 Force.Matrix[MatrixNumber][ Force.RowCounter[MatrixNumber] ][l+m] = Force.Matrix[MatrixNumber][ k ][l+m]; 234 234 stored = tmp; … … 246 246 { 247 247 int divisor = 0; 248 for (int l= 0;l<Force.ColumnCounter;l++)248 for (int l=Force.ColumnCounter;l--;) 249 249 Force.Matrix[MatrixNumber][ Force.RowCounter[MatrixNumber] ][l] = 0.; 250 250 for (int l=5;l<Force.ColumnCounter;l+=3) { 251 251 double tmp = 0; 252 for (int k= 0;k<Force.RowCounter[MatrixNumber];k++) {252 for (int k=Force.RowCounter[MatrixNumber];k--;) { 253 253 double norm = 0.; 254 for (int m= 0;m<3;m++)254 for (int m=NDIM;m--;) 255 255 norm += Force.Matrix[MatrixNumber][ k ][l+m] 256 256 * Force.Matrix[MatrixNumber][ k ][l+m]; … … 272 272 for (int l=5;l<Force.ColumnCounter;l+=3) { 273 273 double stored = 0; 274 for (int k= 0;k<Force.RowCounter[MatrixNumber];k++) {274 for (int k=Force.RowCounter[MatrixNumber];k--;) { 275 275 double tmp = 0; 276 for (int m= 0;m<3;m++)276 for (int m=NDIM;m--;) 277 277 tmp += Force.Matrix[MatrixNumber][ k ][l+m] 278 278 * Force.Matrix[MatrixNumber][ k ][l+m]; 279 279 if (tmp > stored) { // current force is greater than stored 280 for (int m= 0;m<3;m++)280 for (int m=NDIM;m--;) 281 281 Force.Matrix[MatrixNumber][ Force.RowCounter[MatrixNumber] ][l+m] = Force.Matrix[MatrixNumber][ k ][l+m]; 282 282 stored = tmp; … … 293 293 void CreateVectorSumForce(class MatrixContainer &Force, int MatrixNumber) 294 294 { 295 for (int l= 0;l<Force.ColumnCounter;l++)295 for (int l=Force.ColumnCounter;l--;) 296 296 Force.Matrix[MatrixNumber][ Force.RowCounter[MatrixNumber] ][l] = 0.; 297 297 for (int l=5;l<Force.ColumnCounter;l++) { 298 for (int k= 0;k<Force.RowCounter[MatrixNumber];k++)298 for (int k=Force.RowCounter[MatrixNumber];k--;) 299 299 Force.Matrix[MatrixNumber][ Force.RowCounter[MatrixNumber] ][l] += Force.Matrix[MatrixNumber][k][l]; 300 300 } … … 423 423 line >> item; 424 424 line >> item; 425 for (int i=7; i< Force.ColumnCounter;i+= 3) {425 for (int i=7; i< Force.ColumnCounter;i+=NDIM) { 426 426 line >> item; 427 427 item[strlen(item)-1] = '\0'; // kill residual index char (the '0') … … 452 452 line >> item; 453 453 line >> item; 454 for (int i=7; i< Force.ColumnCounter;i+= 3) {454 for (int i=7; i< Force.ColumnCounter;i+=NDIM) { 455 455 line >> item; 456 456 item[strlen(item)-1] = '\0'; // kill residual index char (the '0') … … 482 482 line >> item; 483 483 line >> item; 484 for (int i=7; i< Force.ColumnCounter;i+= 3) {484 for (int i=7; i< Force.ColumnCounter;i+=NDIM) { 485 485 line >> item; 486 486 item[strlen(item)-1] = '\0'; // kill residual index char (the '0') … … 512 512 line >> item; 513 513 line >> item; 514 for (int i=7; i< Force.ColumnCounter;i+= 3) {514 for (int i=7; i< Force.ColumnCounter;i+=NDIM) { 515 515 line >> item; 516 516 item[strlen(item)-1] = '\0'; // kill residual index char (the '0')
Note:
See TracChangeset
for help on using the changeset viewer.