Changes in src/analysis_correlation.cpp [952f38:d74077]
- File:
-
- 1 edited
-
src/analysis_correlation.cpp (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/analysis_correlation.cpp
r952f38 rd74077 11 11 #include <iomanip> 12 12 13 #include "BoundaryTriangleSet.hpp" 13 14 #include "analysis_correlation.hpp" 14 15 #include "element.hpp" 15 #include " Helpers/Info.hpp"16 #include " Helpers/Log.hpp"16 #include "info.hpp" 17 #include "log.hpp" 17 18 #include "molecule.hpp" 18 19 #include "tesselation.hpp" 19 20 #include "tesselationhelpers.hpp" 20 21 #include "triangleintersectionlist.hpp" 21 #include " LinearAlgebra/Vector.hpp"22 #include " LinearAlgebra/Matrix.hpp"23 #include " Helpers/Verbose.hpp"22 #include "vector.hpp" 23 #include "Matrix.hpp" 24 #include "verbose.hpp" 24 25 #include "World.hpp" 25 26 #include "Box.hpp" … … 74 75 if ((*iter)->getId() < (*runner)->getId()){ 75 76 for (set <pair<element *, element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner) 76 if ((PairRunner->first == (**iter). type) && (PairRunner->second == (**runner).type)) {77 distance = domain.periodicDistance( *(*iter)->node,*(*runner)->node);77 if ((PairRunner->first == (**iter).getType()) && (PairRunner->second == (**runner).getType())) { 78 distance = domain.periodicDistance((*iter)->getPosition(),(*runner)->getPosition()); 78 79 //Log() << Verbose(1) <<"Inserting " << *(*iter) << " and " << *(*runner) << endl; 79 80 outmap->insert ( pair<double, pair <atom *, atom*> > (distance, pair<atom *, atom*> ((*iter), (*runner)) ) ); … … 137 138 for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) { 138 139 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 139 periodicX = FullInverseMatrix * ( *(*iter)->node); // x now in [0,1)^3140 periodicX = FullInverseMatrix * ((*iter)->getPosition()); // x now in [0,1)^3 140 141 // go through every range in xyz and get distance 141 142 for (n[0]=-ranges[0]; n[0] <= ranges[0]; n[0]++) … … 149 150 if ((*iter)->getId() < (*runner)->getId()){ 150 151 for (set <pair<element *, element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner) 151 if ((PairRunner->first == (**iter). type) && (PairRunner->second == (**runner).type)) {152 periodicOtherX = FullInverseMatrix * ( *(*runner)->node); // x now in [0,1)^3152 if ((PairRunner->first == (**iter).getType()) && (PairRunner->second == (**runner).getType())) { 153 periodicOtherX = FullInverseMatrix * ((*runner)->getPosition()); // x now in [0,1)^3 153 154 // go through every range in xyz and get distance 154 155 for (Othern[0]=-ranges[0]; Othern[0] <= ranges[0]; Othern[0]++) … … 196 197 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 197 198 for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 198 if ((*type == NULL) || ((*iter)-> type== *type)) {199 distance = domain.periodicDistance( *(*iter)->node,*point);199 if ((*type == NULL) || ((*iter)->getType() == *type)) { 200 distance = domain.periodicDistance((*iter)->getPosition(),*point); 200 201 DoLog(4) && (Log() << Verbose(4) << "Current distance is " << distance << "." << endl); 201 202 outmap->insert ( pair<double, pair<atom *, const Vector*> >(distance, pair<atom *, const Vector*> ((*iter), point) ) ); … … 237 238 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 238 239 for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 239 if ((*type == NULL) || ((*iter)-> type== *type)) {240 periodicX = FullInverseMatrix * ( *(*iter)->node); // x now in [0,1)^3240 if ((*type == NULL) || ((*iter)->getType() == *type)) { 241 periodicX = FullInverseMatrix * ((*iter)->getPosition()); // x now in [0,1)^3 241 242 // go through every range in xyz and get distance 242 243 for (n[0]=-ranges[0]; n[0] <= ranges[0]; n[0]++) … … 284 285 DoLog(3) && (Log() << Verbose(3) << "\tCurrent atom is " << *(*iter) << "." << endl); 285 286 for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 286 if ((*type == NULL) || ((*iter)-> type== *type)) {287 TriangleIntersectionList Intersections((*iter)-> node,Surface,LC);287 if ((*type == NULL) || ((*iter)->getType() == *type)) { 288 TriangleIntersectionList Intersections((*iter)->getPosition(),Surface,LC); 288 289 distance = Intersections.GetSmallestDistance(); 289 290 triangle = Intersections.GetClosestTriangle(); … … 335 336 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 336 337 for (vector<element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 337 if ((*type == NULL) || ((*iter)-> type== *type)) {338 periodicX = FullInverseMatrix * ( *(*iter)->node); // x now in [0,1)^3338 if ((*type == NULL) || ((*iter)->getType() == *type)) { 339 periodicX = FullInverseMatrix * ((*iter)->getPosition()); // x now in [0,1)^3 339 340 // go through every range in xyz and get distance 340 341 ShortestDistance = -1.; … … 343 344 for (n[2]=-ranges[2]; n[2] <= ranges[2]; n[2]++) { 344 345 checkX = FullMatrix * (Vector(n[0], n[1], n[2]) + periodicX); 345 TriangleIntersectionList Intersections( &checkX,Surface,LC);346 TriangleIntersectionList Intersections(checkX,Surface,LC); 346 347 distance = Intersections.GetSmallestDistance(); 347 348 triangle = Intersections.GetClosestTriangle(); … … 411 412 *file << runner->first; 412 413 for (int i=0;i<NDIM;i++) 413 *file << "\t" << setprecision(8) << (runner->second.first-> node->at(i) - runner->second.second->at(i));414 *file << "\t" << setprecision(8) << (runner->second.first->at(i) - runner->second.second->at(i)); 414 415 *file << endl; 415 416 } … … 426 427 if (!map->empty()) 427 428 for (CorrelationToSurfaceMap::const_iterator runner = map->begin(); runner != map->end(); ++runner) { 428 *file << setprecision(8) << runner->first << "\t" << *(runner->second.first) << "\t" << *(runner->second.second) << endl; 429 } 430 }; 431 429 *file << setprecision(8) << runner->first << "\t"; 430 *file << *(runner->second.first) << "\t"; 431 *file << *(runner->second.second) << endl; 432 } 433 }; 434
Note:
See TracChangeset
for help on using the changeset viewer.
