Changeset 931077 for src/Potentials/PotentialFactory.cpp
- Timestamp:
- May 3, 2013, 9:46:45 AM (12 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:
- 24ac59
- Parents:
- a86666
- git-author:
- Frederik Heber <heber@…> (04/09/13 07:46:49)
- git-committer:
- Frederik Heber <heber@…> (05/03/13 09:46:45)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Potentials/PotentialFactory.cpp
ra86666 r931077 40 40 #include <boost/assign/list_of.hpp> 41 41 #include <boost/lambda/lambda.hpp> 42 #include <boost/preprocessor/seq/elem.hpp> 43 #include <boost/preprocessor/seq/seq.hpp> 44 #include <boost/preprocessor/seq/size.hpp> 45 #include <boost/preprocessor/stringize.hpp> 46 #include <boost/preprocessor/iteration/local.hpp> 42 47 43 48 #include "CodePatterns/Singleton_impl.hpp" … … 48 53 #include "Potentials/Specifics/PairPotential_Harmonic.hpp" 49 54 #include "Potentials/Specifics/PairPotential_Morse.hpp" 55 #include "Potentials/Specifics/PotentialTypes.hpp" 50 56 #include "Potentials/Specifics/SaturationPotential.hpp" 57 58 #include "Potentials/Specifics/PotentialTypes.def" 59 60 //!> function to print each member of the sequence in the enumeration 61 #define sequence_print(z,n,seq) \ 62 ( \ 63 BOOST_PP_STRINGIZE( BOOST_PP_SEQ_ELEM(n, seq) ), \ 64 BOOST_PP_SEQ_ELEM(n, seq) \ 65 ) 66 67 //!> function to print each member of the sequence in the enumeration 68 #define reverse_sequence_print(z,n,seq) \ 69 ( \ 70 BOOST_PP_SEQ_ELEM(n, seq), \ 71 BOOST_PP_STRINGIZE( BOOST_PP_SEQ_ELEM(n, seq) ) \ 72 ) 51 73 52 74 // static defines 53 75 PotentialFactory::NameToType_t PotentialFactory::NameToType = 54 76 boost::assign::map_list_of 55 ("tersoff", tersoff) 56 ("morse", morse) 57 ("harmonic", harmonic) 58 ("harmonic_angle", harmonic_angle) 59 ("saturation", saturation) 77 #if defined PotentialTypes_END // do we have parameters at all? 78 #define BOOST_PP_LOCAL_MACRO(n) sequence_print(~, n, POTENTIALSEQUENCE) 79 #define BOOST_PP_LOCAL_LIMITS (0, PotentialTypes_END-1) 80 #include BOOST_PP_LOCAL_ITERATE() 81 #undef BOOST_PP_LOCAL_MACRO 82 #undef BOOST_PP_LOCAL_LIMITS 83 #endif 60 84 ; 61 85 PotentialFactory::TypeToName_t PotentialFactory::TypeToName = 62 86 boost::assign::map_list_of 63 (tersoff, "tersoff") 64 (morse, "morse") 65 (harmonic, "harmonic") 66 (harmonic_angle, "harmonic_angle") 67 (saturation, "saturation") 87 #if defined PotentialTypes_END // do we have parameters at all? 88 #define BOOST_PP_LOCAL_MACRO(n) reverse_sequence_print(~, n, POTENTIALSEQUENCE) 89 #define BOOST_PP_LOCAL_LIMITS (0, PotentialTypes_END-1) 90 #include BOOST_PP_LOCAL_ITERATE() 91 #undef BOOST_PP_LOCAL_MACRO 92 #undef BOOST_PP_LOCAL_LIMITS 93 #endif 68 94 ; 69 95 96 #undef sequence_print 97 #undef reverse_sequence_print 98 99 #include "Potentials/Specifics/PotentialTypes.undef" 70 100 71 101 FunctionModel *PotentialFactory::createInstance(
Note:
See TracChangeset
for help on using the changeset viewer.