Changes in src/analysis_correlation.cpp [952f38:e5c0a1]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/analysis_correlation.cpp
r952f38 re5c0a1 13 13 #include "analysis_correlation.hpp" 14 14 #include "element.hpp" 15 #include " Helpers/Info.hpp"16 #include " Helpers/Log.hpp"15 #include "info.hpp" 16 #include "log.hpp" 17 17 #include "molecule.hpp" 18 18 #include "tesselation.hpp" 19 19 #include "tesselationhelpers.hpp" 20 20 #include "triangleintersectionlist.hpp" 21 #include " LinearAlgebra/Vector.hpp"22 #include " LinearAlgebra/Matrix.hpp"23 #include " Helpers/Verbose.hpp"21 #include "vector.hpp" 22 #include "Matrix.hpp" 23 #include "verbose.hpp" 24 24 #include "World.hpp" 25 25 #include "Box.hpp" … … 32 32 * \return Map of doubles with values the pair of the two atoms. 33 33 */ 34 PairCorrelationMap *PairCorrelation(std::vector<molecule *> &molecules, const std::vector< element *> &elements)34 PairCorrelationMap *PairCorrelation(std::vector<molecule *> &molecules, const std::vector<const element *> &elements) 35 35 { 36 36 Info FunctionInfo(__func__); … … 47 47 48 48 // create all possible pairs of elements 49 set <pair< element *,element *> > PairsOfElements;49 set <pair<const element *,const element *> > PairsOfElements; 50 50 if (elements.size() >= 2) { 51 for (vector< element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1)52 for (vector< element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2)51 for (vector<const element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1) 52 for (vector<const element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2) 53 53 if (type1 != type2) { 54 PairsOfElements.insert( pair<element *, element*>(*type1,*type2) );55 DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << (*type1)->symbol << " and " << (*type2)->symbol<< "." << endl);54 PairsOfElements.insert( make_pair(*type1,*type2) ); 55 DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << *(*type1) << " and " << *(*type2) << "." << endl); 56 56 } 57 57 } else if (elements.size() == 1) { // one to all are valid 58 element *elemental = *elements.begin();59 PairsOfElements.insert( pair< element *, element*>(elemental,(element *)NULL) );60 PairsOfElements.insert( pair< element *, element*>((element *)NULL,elemental) );58 const element *elemental = *elements.begin(); 59 PairsOfElements.insert( pair<const element *,const element*>(elemental,0) ); 60 PairsOfElements.insert( pair<const element *,const element*>(0,elemental) ); 61 61 } else { // all elements valid 62 62 PairsOfElements.insert( pair<element *, element*>((element *)NULL, (element *)NULL) ); … … 73 73 DoLog(3) && (Log() << Verbose(3) << "Current otheratom is " << **runner << "." << endl); 74 74 if ((*iter)->getId() < (*runner)->getId()){ 75 for (set <pair< element *,element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)75 for (set <pair<const element *,const element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner) 76 76 if ((PairRunner->first == (**iter).type) && (PairRunner->second == (**runner).type)) { 77 77 distance = domain.periodicDistance(*(*iter)->node,*(*runner)->node); … … 94 94 * \return Map of doubles with values the pair of the two atoms. 95 95 */ 96 PairCorrelationMap *PeriodicPairCorrelation(std::vector<molecule *> &molecules, const std::vector< element *> &elements, const int ranges[NDIM] )96 PairCorrelationMap *PeriodicPairCorrelation(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const int ranges[NDIM] ) 97 97 { 98 98 Info FunctionInfo(__func__); … … 114 114 115 115 // create all possible pairs of elements 116 set <pair< element *,element *> > PairsOfElements;116 set <pair<const element *,const element *> > PairsOfElements; 117 117 if (elements.size() >= 2) { 118 for (vector< element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1)119 for (vector< element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2)118 for (vector<const element *>::const_iterator type1 = elements.begin(); type1 != elements.end(); ++type1) 119 for (vector<const element *>::const_iterator type2 = elements.begin(); type2 != elements.end(); ++type2) 120 120 if (type1 != type2) { 121 PairsOfElements.insert( pair<element *, element*>(*type1,*type2) );122 DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << (*type1)->symbol << " and " << (*type2)->symbol<< "." << endl);121 PairsOfElements.insert( make_pair(*type1,*type2) ); 122 DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << *(*type1) << " and " << *(*type2) << "." << endl); 123 123 } 124 124 } else if (elements.size() == 1) { // one to all are valid 125 element *elemental = *elements.begin();126 PairsOfElements.insert( pair< element *, element*>(elemental,(element *)NULL) );127 PairsOfElements.insert( pair< element *, element*>((element *)NULL,elemental) );125 const element *elemental = *elements.begin(); 126 PairsOfElements.insert( pair<const element *,const element*>(elemental,0) ); 127 PairsOfElements.insert( pair<const element *,const element*>(0,elemental) ); 128 128 } else { // all elements valid 129 129 PairsOfElements.insert( pair<element *, element*>((element *)NULL, (element *)NULL) ); … … 148 148 DoLog(3) && (Log() << Verbose(3) << "Current otheratom is " << **runner << "." << endl); 149 149 if ((*iter)->getId() < (*runner)->getId()){ 150 for (set <pair< element *,element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)150 for (set <pair<const element *,const element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner) 151 151 if ((PairRunner->first == (**iter).type) && (PairRunner->second == (**runner).type)) { 152 152 periodicOtherX = FullInverseMatrix * (*(*runner)->node); // x now in [0,1)^3 … … 177 177 * \return Map of dobules with values as pairs of atom and the vector 178 178 */ 179 CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector< element *> &elements, const Vector *point )179 CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point ) 180 180 { 181 181 Info FunctionInfo(__func__); … … 195 195 for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) { 196 196 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 197 for (vector< element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)197 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 198 198 if ((*type == NULL) || ((*iter)->type == *type)) { 199 199 distance = domain.periodicDistance(*(*iter)->node,*point); … … 214 214 * \return Map of dobules with values as pairs of atom and the vector 215 215 */ 216 CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector< element *> &elements, const Vector *point, const int ranges[NDIM] )216 CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point, const int ranges[NDIM] ) 217 217 { 218 218 Info FunctionInfo(__func__); … … 236 236 for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) { 237 237 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 238 for (vector< element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)238 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 239 239 if ((*type == NULL) || ((*iter)->type == *type)) { 240 240 periodicX = FullInverseMatrix * (*(*iter)->node); // x now in [0,1)^3 … … 262 262 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest 263 263 */ 264 CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector< element *> &elements, const Tesselation * const Surface, const LinkedCell *LC )264 CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell *LC ) 265 265 { 266 266 Info FunctionInfo(__func__); … … 283 283 for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) { 284 284 DoLog(3) && (Log() << Verbose(3) << "\tCurrent atom is " << *(*iter) << "." << endl); 285 for (vector< element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)285 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 286 286 if ((*type == NULL) || ((*iter)->type == *type)) { 287 287 TriangleIntersectionList Intersections((*iter)->node,Surface,LC); … … 308 308 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest 309 309 */ 310 CorrelationToSurfaceMap *PeriodicCorrelationToSurface(std::vector<molecule *> &molecules, const std::vector< element *> &elements, const Tesselation * const Surface, const LinkedCell *LC, const int ranges[NDIM] )310 CorrelationToSurfaceMap *PeriodicCorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell *LC, const int ranges[NDIM] ) 311 311 { 312 312 Info FunctionInfo(__func__); … … 334 334 for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) { 335 335 DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl); 336 for (vector< element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)336 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) 337 337 if ((*type == NULL) || ((*iter)->type == *type)) { 338 338 periodicX = FullInverseMatrix * (*(*iter)->node); // x now in [0,1)^3
Note:
See TracChangeset
for help on using the changeset viewer.