- Timestamp:
- Feb 10, 2011, 7:09:30 PM (14 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- 23d7ff
- Parents:
- b6b3b2
- git-author:
- Frederik Heber <heber@…> (02/10/11 18:31:41)
- git-committer:
- Frederik Heber <heber@…> (02/10/11 19:09:30)
- Location:
- src
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/Actions/Makefile.am ¶
rb6b3b2 r528b3e 21 21 RedoAction.cpp \ 22 22 UndoAction.cpp \ 23 Values.cpp \ 23 24 ValueStorage.cpp 24 25 … … 35 36 ${TESSELATIONACTIONHEADER} \ 36 37 ${WORLDACTIONHEADER} \ 37 Value Storage.hpp \38 Value s.hpp38 Values.hpp \ 39 ValueStorage.hpp 39 40 40 41 ANALYSISACTIONSOURCE = \ -
TabularUnified src/Actions/Values.hpp ¶
rb6b3b2 r528b3e 14 14 #endif 15 15 16 #include "Helpers/defs.hpp" 16 17 18 class Box; 19 class BoxVector; 20 class Vector; 21 22 /** This is just a temporary container for values parsed from the command line. 23 * I.e. this is only used within CommandLineParser, where VectorType and alikes 24 * are registered as VectorValue and lateron inside the CommandLineQuery placed 25 * into the real vector. 26 */ 17 27 struct VectorValue 18 28 { 19 double x; 20 double y; 21 double z; 29 double vector[NDIM]; 30 31 Vector toVector() const; 32 BoxVector toBoxVector(Box &_box) const; 22 33 }; 23 34 35 /** This is just a temporary container for values parsed from the command line. 36 * I.e. this is only used within CommandLineParser, where BoxType is registered 37 * as BoxValue and lateron inside the CommandLineQuery placed into the real Box. 38 */ 24 39 struct BoxValue 25 40 { 26 double xx; 27 double yx; 28 double yy; 29 double zx; 30 double zy; 31 double zz; 41 double matrix[(NDIM*(NDIM+1))/2]; 42 43 Box toBox() const; 32 44 }; 33 45 -
TabularUnified src/Box.cpp ¶
rb6b3b2 r528b3e 38 38 using namespace std; 39 39 40 Box::Box() 41 { 42 M= new RealSpaceMatrix(); 40 Box::Box() : 41 M(new RealSpaceMatrix()), 42 Minv(new RealSpaceMatrix()) 43 { 43 44 M->setIdentity(); 44 Minv = new RealSpaceMatrix();45 45 Minv->setIdentity(); 46 46 conditions.resize(3); … … 48 48 } 49 49 50 Box::Box(const Box& src){ 51 M=new RealSpaceMatrix(*src.M); 52 Minv = new RealSpaceMatrix(*src.Minv); 53 conditions = src.conditions; 50 Box::Box(const Box& src) : 51 conditions(src.conditions), 52 M(new RealSpaceMatrix(*src.M)), 53 Minv(new RealSpaceMatrix(*src.Minv)) 54 {} 55 56 Box::Box(RealSpaceMatrix _M) : 57 M(new RealSpaceMatrix(_M)), 58 Minv(new RealSpaceMatrix()) 59 { 60 ASSERT(M->determinant()!=0,"Matrix in Box construction was not invertible"); 61 *Minv = M->invert(); 54 62 } 55 63 … … 295 303 return *this; 296 304 } 305 306 ostream & operator << (ostream& ost, const Box &m) 307 { 308 ost << m.getM(); 309 return ost; 310 } -
TabularUnified src/Box.hpp ¶
rb6b3b2 r528b3e 45 45 Box(); 46 46 Box(const Box&); 47 Box(RealSpaceMatrix _M); 47 48 virtual ~Box(); 48 49 … … 126 127 }; 127 128 129 ostream & operator << (ostream& ost, const Box &m); 130 128 131 #endif /* BOX_HPP_ */ -
TabularUnified src/UIElements/CommandLineUI/CommandLineParser_validate.cpp ¶
rb6b3b2 r528b3e 79 79 #endif 80 80 } 81 VV.x = boost::lexical_cast<double>(components.at(0)); 82 VV.y = boost::lexical_cast<double>(components.at(1)); 83 VV.z = boost::lexical_cast<double>(components.at(2)); 81 for (size_t i=0;i<NDIM;++i) 82 VV.vector[i] = boost::lexical_cast<double>(components.at(i)); 84 83 v = boost::any(VectorValue(VV)); 85 84 } … … 129 128 #endif 130 129 } 131 BV.xx = boost::lexical_cast<double>(components.at(0)); 132 BV.yx = boost::lexical_cast<double>(components.at(1)); 133 BV.yy = boost::lexical_cast<double>(components.at(2)); 134 BV.zx = boost::lexical_cast<double>(components.at(3)); 135 BV.zy = boost::lexical_cast<double>(components.at(4)); 136 BV.zz = boost::lexical_cast<double>(components.at(5)); 130 for (size_t i=0;i<(NDIM*(NDIM+1))/2; ++i) 131 BV.matrix[i] = boost::lexical_cast<double>(components.at(i)); 137 132 v = boost::any(BoxValue(BV)); 138 133 } -
TabularUnified src/UIElements/CommandLineUI/Query/BoxCommandLineQuery.cpp ¶
rb6b3b2 r528b3e 38 38 if (CommandLineParser::getInstance().vm.count(getTitle())) { 39 39 temp = CommandLineParser::getInstance().vm[getTitle()].as< BoxValue >(); 40 RealSpaceMatrix M; 41 M.set(0,0, temp.xx); 42 M.set(0,1, temp.yx); 43 M.set(0,2, temp.zx); 44 M.set(1,0, temp.yx); 45 M.set(1,1, temp.yy); 46 M.set(1,2, temp.zy); 47 M.set(2,0, temp.zx); 48 M.set(2,1, temp.zy); 49 M.set(2,2, temp.zz); 50 tmp.setM(M); 40 tmp = temp.toBox(); 51 41 return true; 52 42 } else { -
TabularUnified src/UIElements/CommandLineUI/Query/VectorCommandLineQuery.cpp ¶
rb6b3b2 r528b3e 40 40 if (CommandLineParser::getInstance().vm.count(getTitle())) { 41 41 temp = CommandLineParser::getInstance().vm[getTitle()].as< VectorValue >(); 42 tmp[0] = temp.x; 43 tmp[1] = temp.y; 44 tmp[2] = temp.z; 42 tmp = temp.toVector(); 45 43 if ((check) && (!World::getInstance().getDomain().isInside(tmp))) { 46 44 DoeLog(1) && (eLog() << Verbose(1) << "Vector " << tmp << " would be outside of box domain." << endl); -
TabularUnified src/UIElements/CommandLineUI/Query/VectorsCommandLineQuery.cpp ¶
rb6b3b2 r528b3e 41 41 temporary = CommandLineParser::getInstance().vm[getTitle()].as< std::vector<VectorValue> >(); 42 42 for(std::vector<VectorValue>::iterator iter = temporary.begin(); iter != temporary.end(); ++iter) { 43 temp[0] = (*iter).x; 44 temp[1] = (*iter).y; 45 temp[2] = (*iter).z; 43 temp = (*iter).toVector(); 46 44 if ((!check) || (World::getInstance().getDomain().isInside(temp))) 47 45 tmp.push_back(temp);
Note:
See TracChangeset
for help on using the changeset viewer.