Changes in / [cc2ee5:a98603]
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/analyzer.cpp
rcc2ee5 ra98603 29 29 ForceMatrix Shielding; 30 30 ForceMatrix ShieldingPAS; 31 ForceMatrix Chi; 32 ForceMatrix ChiPAS; 31 33 EnergyMatrix Time; 32 34 EnergyMatrix EnergyFragments; … … 35 37 ForceMatrix ShieldingFragments; 36 38 ForceMatrix ShieldingPASFragments; 39 ForceMatrix ChiFragments; 40 ForceMatrix ChiPASFragments; 37 41 KeySetsContainer KeySet; 38 42 ofstream output; … … 90 94 if (!Shielding.ParseFragmentMatrix(argv[1], dir, ShieldingSuffix, 1, 0)) return 1; 91 95 if (!ShieldingPAS.ParseFragmentMatrix(argv[1], dir, ShieldingPASSuffix, 1, 0)) return 1; 96 if (!Chi.ParseFragmentMatrix(argv[1], dir, ChiSuffix, 1, 0)) return 1; 97 if (!ChiPAS.ParseFragmentMatrix(argv[1], dir, ChiPASSuffix, 1, 0)) return 1; 92 98 } 93 99 … … 109 115 if(!ShieldingFragments.ParseIndices(argv[1])) return 1; 110 116 if(!ShieldingPASFragments.ParseIndices(argv[1])) return 1; 117 if(!Chi.ParseIndices(argv[1])) return 1; 118 if(!ChiPAS.ParseIndices(argv[1])) return 1; 119 if (!ChiFragments.AllocateMatrix(Chi.Header, Chi.MatrixCounter, Chi.RowCounter, Chi.ColumnCounter)) return 1; 120 if (!ChiPASFragments.AllocateMatrix(ChiPAS.Header, ChiPAS.MatrixCounter, ChiPAS.RowCounter, ChiPAS.ColumnCounter)) return 1; 121 if(!ChiFragments.ParseIndices(argv[1])) return 1; 122 if(!ChiPASFragments.ParseIndices(argv[1])) return 1; 111 123 } 112 124 … … 122 134 if (!ShieldingFragments.ParseFragmentMatrix(argv[1], dir, ShieldingFragmentSuffix, 1, 0)) return 1; 123 135 if (!ShieldingPASFragments.ParseFragmentMatrix(argv[1], dir, ShieldingPASFragmentSuffix, 1, 0)) return 1; 136 if (!ChiFragments.ParseFragmentMatrix(argv[1], dir, ChiFragmentSuffix, 1, 0)) return 1; 137 if (!ChiPASFragments.ParseFragmentMatrix(argv[1], dir, ChiPASFragmentSuffix, 1, 0)) return 1; 124 138 } 125 139 … … 159 173 for(int k=0;k<ShieldingPAS.ColumnCounter;k++) 160 174 output << scientific << ShieldingPAS.Matrix[ ShieldingPAS.MatrixCounter ][j][k] << "\t"; 175 output << endl; 176 } 177 output << endl; 178 179 output << endl << "Total Chis" << endl << "===============" << endl << Chi.Header[Hessian.MatrixCounter] << endl; 180 for(int j=0;j<Chi.RowCounter[Chi.MatrixCounter];j++) { 181 for(int k=0;k<Chi.ColumnCounter[Chi.MatrixCounter];k++) 182 output << scientific << Chi.Matrix[ Chi.MatrixCounter ][j][k] << "\t"; 183 output << endl; 184 } 185 output << endl; 186 187 output << endl << "Total Chis PAS" << endl << "===============" << endl << ChiPAS.Header[ChiPAS.MatrixCounter] << endl; 188 for(int j=0;j<ChiPAS.RowCounter[ChiPAS.MatrixCounter];j++) { 189 for(int k=0;k<ChiPAS.ColumnCounter[ChiPAS.MatrixCounter];k++) 190 output << scientific << ChiPAS.Matrix[ ChiPAS.MatrixCounter ][j][k] << "\t"; 161 191 output << endl; 162 192 } … … 228 258 output << endl; 229 259 } 230 } 231 output.close(); 260 output.close(); 261 if (!CreateDataDeltaForcesOrderPerAtom(ChiPAS, ChiPASFragments, KeySet, argv[3], "DeltaChisPAS-Order", "Plot of error between approximated Chis and full Chis versus the Bond Order", datum)) return 1; 262 if (!CreateDataForcesOrderPerAtom(ChiPASFragments, KeySet, argv[3], "ChisPAS-Order", "Plot of approximated Chis versus the Bond Order", datum)) return 1; 263 if (!AppendOutputFile(output, argv[3], "ChisPAS-Order.dat" )) return false; 264 output << endl << "# Full" << endl; 265 for(int j=0;j<ChiPAS.RowCounter[ChiPAS.MatrixCounter];j++) { 266 output << j << "\t"; 267 for(int k=0;k<ChiPAS.ColumnCounter[ChiPAS.MatrixCounter];k++) 268 output << scientific << ChiPAS.Matrix[ ChiPAS.MatrixCounter ][j][k] << "\t"; //*(((k>1) && (k<6))? 1.e6 : 1.) << "\t"; 269 output << endl; 270 } 271 output.close(); 272 } 232 273 233 274 … … 404 445 } 405 446 output << "'ShieldingsPAS-Order.dat' index " << KeySet.Order << " title 'Full' using ($1+" << step*(double)KeySet.Order << "):7 with boxes" << endl; 447 output.close(); 448 output2.close(); 449 450 if(!OpenOutputFile(output, argv[3], "ChisPAS-Order.pyx")) return 1; 451 if(!OpenOutputFile(output2, argv[3], "DeltaChisPAS-Order.pyx")) return 1; 452 CreatePlotHeader(output, "ChisPAS-Order", 1, "top right", NULL, NULL, 1, 5, "nuclei index", "iso chemical Chi value [ppm]"); 453 CreatePlotHeader(output2, "DeltaChisPAS-Order", 1, "top right", NULL, NULL, 1, 5, "nuclei index", "iso chemical Chi value [ppm]"); 454 output << "set boxwidth " << step << endl; 455 output << "plot [0:" << ChiPAS.RowCounter[ChiPAS.MatrixCounter]+10 << "]\\" << endl; 456 output2 << "plot [0:" << ChiPAS.RowCounter[ChiPAS.MatrixCounter]+10 << "]\\" << endl; 457 for (int BondOrder=0;BondOrder<KeySet.Order;BondOrder++) { 458 output << "'ChisPAS-Order.dat' index " << BondOrder << " title 'Order " << BondOrder+1 << "' using ($1+" << step*(double)BondOrder << "):7 with boxes, \\" << endl; 459 output2 << "'DeltaChisPAS-Order.dat' index " << BondOrder << " title 'Order " << BondOrder+1 << "' using ($1):7 with linespoints"; 460 if (BondOrder-1 != KeySet.Order) 461 output2 << ", \\" << endl; 462 } 463 output << "'ChisPAS-Order.dat' index " << KeySet.Order << " title 'Full' using ($1+" << step*(double)KeySet.Order << "):7 with boxes" << endl; 406 464 output.close(); 407 465 output2.close(); -
src/joiner.cpp
rcc2ee5 ra98603 28 28 ForceMatrix ShieldingFragments; 29 29 ForceMatrix ShieldingPASFragments; 30 EnergyMatrix Chi; 31 EnergyMatrix ChiPAS; 32 EnergyMatrix ChiFragments; 33 EnergyMatrix ChiPASFragments; 30 34 KeySetsContainer KeySet; 31 35 stringstream prefix; … … 66 70 if (!Shielding.ParseFragmentMatrix(argv[1], dir, ShieldingSuffix, 1, 0)) return 1; 67 71 if (!ShieldingPAS.ParseFragmentMatrix(argv[1], dir, ShieldingPASSuffix, 1, 0)) return 1; 72 if (!Chi.ParseFragmentMatrix(argv[1], dir, ChiSuffix, 1, 0)) return 1; 73 if (!ChiPAS.ParseFragmentMatrix(argv[1], dir, ChiPASSuffix, 1, 0)) return 1; 68 74 } 69 75 … … 79 85 if(!Shielding.ParseIndices(argv[1])) return 1; 80 86 if(!ShieldingPAS.ParseIndices(argv[1])) return 1; 87 if(!Chi.ParseIndices(argv[1])) return 1; 88 if(!ChiPAS.ParseIndices(argv[1])) return 1; 81 89 } 82 90 83 91 // ---------- Parse the KeySets into an array --------------- 84 92 if (!KeySet.ParseKeySets(argv[1], Force.RowCounter, Force.MatrixCounter)) return 1; 85 86 93 if (!KeySet.ParseManyBodyTerms()) return 1; 94 87 95 if (!EnergyFragments.AllocateMatrix(Energy.Header, Energy.MatrixCounter, Energy.RowCounter, Energy.ColumnCounter)) return 1; 88 96 if (Hcorrected) HcorrectionFragments.AllocateMatrix(Hcorrection.Header, Hcorrection.MatrixCounter, Hcorrection.RowCounter, Hcorrection.ColumnCounter); … … 91 99 if (!ShieldingFragments.AllocateMatrix(Shielding.Header, Shielding.MatrixCounter, Shielding.RowCounter, Shielding.ColumnCounter)) return 1; 92 100 if (!ShieldingPASFragments.AllocateMatrix(ShieldingPAS.Header, ShieldingPAS.MatrixCounter, ShieldingPAS.RowCounter, ShieldingPAS.ColumnCounter)) return 1; 101 if (!ChiFragments.AllocateMatrix(Chi.Header, Chi.MatrixCounter, Chi.RowCounter, Chi.ColumnCounter)) return 1; 102 if (!ChiPASFragments.AllocateMatrix(ChiPAS.Header, ChiPAS.MatrixCounter, ChiPAS.RowCounter, ChiPAS.ColumnCounter)) return 1; 93 103 } 94 104 … … 99 109 if(!Shielding.SetLastMatrix(0., 2)) return 1; 100 110 if(!ShieldingPAS.SetLastMatrix(0., 2)) return 1; 111 if(!Chi.SetLastMatrix(0., 2)) return 1; 112 if(!ChiPAS.SetLastMatrix(0., 2)) return 1; 101 113 } 102 114 … … 119 131 if (!Force.SumSubForces(ForceFragments, KeySet, BondOrder, 1.)) return 1; 120 132 if (periode != NULL) { // also look for PAS values 121 cout << "Summing shieldings of order " << BondOrder+1 << " ..." << endl;133 cout << "Summing shieldings and susceptibilities of order " << BondOrder+1 << " ..." << endl; 122 134 if (!ShieldingFragments.SumSubManyBodyTerms(Shielding, KeySet, BondOrder)) return 1; 123 135 if (!Shielding.SumSubForces(ShieldingFragments, KeySet, BondOrder, 1.)) return 1; 124 136 if (!ShieldingPASFragments.SumSubManyBodyTerms(ShieldingPAS, KeySet, BondOrder)) return 1; 125 137 if (!ShieldingPAS.SumSubForces(ShieldingPASFragments, KeySet, BondOrder, 1.)) return 1; 138 if (!ChiFragments.SumSubManyBodyTerms(Chi, KeySet, BondOrder)) return 1; 139 if (!Chi.SumSubForces(ChiFragments, KeySet, BondOrder, 1.)) return 1; 140 if (!ChiPASFragments.SumSubManyBodyTerms(ChiPAS, KeySet, BondOrder)) return 1; 141 if (!ChiPAS.SumSubForces(ChiPASFragments, KeySet, BondOrder, 1.)) return 1; 126 142 } 127 143 … … 138 154 if (!Shielding.WriteLastMatrix(argv[1], (prefix.str()).c_str(), ShieldingSuffix)) return 1; 139 155 if (!ShieldingPAS.WriteLastMatrix(argv[1], (prefix.str()).c_str(), ShieldingPASSuffix)) return 1; 156 if (!Chi.WriteLastMatrix(argv[1], (prefix.str()).c_str(), ChiSuffix)) return 1; 157 if (!ChiPAS.WriteLastMatrix(argv[1], (prefix.str()).c_str(), ChiPASSuffix)) return 1; 140 158 } 141 159 } … … 160 178 prefix << dir << ShieldingPASFragmentSuffix; 161 179 if (!ShieldingPASFragments.WriteTotalFragments(argv[1], (prefix.str()).c_str())) return 1; 180 prefix.str(" "); 181 prefix << dir << ChiFragmentSuffix; 182 if (!ChiFragments.WriteTotalFragments(argv[1], (prefix.str()).c_str())) return 1; 183 prefix.str(" "); 184 prefix << dir << ChiPASFragmentSuffix; 185 if (!ChiPASFragments.WriteTotalFragments(argv[1], (prefix.str()).c_str())) return 1; 162 186 } 163 187 … … 169 193 if (!Shielding.WriteLastMatrix(argv[1], dir, ShieldingFragmentSuffix)) return 1; 170 194 if (!ShieldingPAS.WriteLastMatrix(argv[1], dir, ShieldingPASFragmentSuffix)) return 1; 195 if (!Chi.WriteLastMatrix(argv[1], dir, ChiFragmentSuffix)) return 1; 196 if (!ChiPAS.WriteLastMatrix(argv[1], dir, ChiPASFragmentSuffix)) return 1; 171 197 } 172 198 -
src/parser.hpp
rcc2ee5 ra98603 25 25 #define ShieldingFragmentSuffix ".sigma_all_fragment.all" 26 26 #define ShieldingPASFragmentSuffix ".sigma_all_PAS_fragment.all" 27 #define ChiSuffix ".chi_all.csv" 28 #define ChiPASSuffix ".chi_all_PAS.csv" 29 #define ChiFragmentSuffix ".chi_all_fragment.all" 30 #define ChiPASFragmentSuffix ".chi_all_PAS_fragment.all" 27 31 #define TimeSuffix ".speed" 28 32 #define EnergyFragmentSuffix ".energyfragment.all"
Note:
See TracChangeset
for help on using the changeset viewer.