- Timestamp:
- Feb 13, 2013, 3:47:45 PM (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:
- a2f5e5
- Parents:
- 58fccca
- git-author:
- Frederik Heber <heber@…> (01/10/13 20:57:48)
- git-committer:
- Frederik Heber <heber@…> (02/13/13 15:47:45)
- Location:
- src/Parser
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/MpqcParser_Parameters.cpp
r58fccca r42f2f0 43 43 44 44 #include "Parameters/Parameter.hpp" 45 46 template <>47 const std::string Value<bool>::getAsString() const throw(ParameterValueException)48 {49 if(!ValueSet)50 throw ParameterValueException();51 if (value)52 return std::string("yes");53 else54 return std::string("no");55 }56 57 template <>58 void Value<bool>::setAsString(const std::string _value) throw(ParameterException)59 {60 if (_value == std::string("yes")) {61 set(true);62 } else if (_value == std::string("no")) {63 set(false);64 } else {65 throw ParameterValueException();66 }67 }68 69 45 70 46 MpqcParser_Parameters::MpqcParser_Parameters() … … 123 99 } 124 100 101 // create hessian, savestate, do_gradient parameter 102 { 103 ValidBools.clear(); 104 ValidBools.resize(unknownBool); 105 ValidBools[no]="no"; 106 ValidBools[yes]="yes"; 107 appendParameter( 108 new Parameter<std::string>( 109 ParamNames[hessianParam], 110 ValidBools, 111 ValidBools[no])); 112 appendParameter( 113 new Parameter<std::string>( 114 ParamNames[savestateParam], 115 ValidBools, 116 ValidBools[no])); 117 appendParameter( 118 new Parameter<std::string>( 119 ParamNames[do_gradientParam], 120 ValidBools, 121 ValidBools[true])); 122 } 123 125 124 // add all continuous parameters 126 125 { 127 appendParameter(new Parameter<bool>(ParamNames[hessianParam], false));128 appendParameter(new Parameter<bool>(ParamNames[savestateParam], false));129 appendParameter(new Parameter<bool>(ParamNames[do_gradientParam], true));130 126 appendParameter(new Parameter<int>(ParamNames[maxiterParam], 1000)); 131 127 appendParameter(new Parameter<int>(ParamNames[memoryParam], 16000000)); -
src/Parser/MpqcParser_Parameters.hpp
r58fccca r42f2f0 26 26 #include "Parameters/Value.hpp" 27 27 28 // specialization for bool (we want "yes/no" not "1/0")29 template <> const std::string Value<bool>::getAsString() const throw(ParameterValueException);30 template <> void Value<bool>::setAsString(const std::string _value) throw(ParameterException);31 28 32 29 class MpqcParser; … … 78 75 }; 79 76 77 /** Enumeration of all known boolean valus. 78 * 79 */ 80 enum Bools { 81 no=0, //!< false or not set 82 yes=1, //!< true or set 83 unknownBool //!> designates an unknown bool 84 }; 85 80 86 /** Enumeration of all known integration methods 81 87 * … … 95 101 private: 96 102 97 98 103 //!> vector with all available theories in same order as enum Theory. 99 104 std::vector<std::string> ValidTheories; … … 101 106 //!> vector with all available integration methods in same order as enum IntegrationMethod. 102 107 std::vector<std::string> ValidIntegrationMethods; 108 109 //!> vector with all available bools in same order as enum Bools. 110 std::vector<std::string> ValidBools; 103 111 104 112 bool checkWorldElementsAgainstCurrentBasis() const; -
src/Parser/Psi3Parser_Parameters.cpp
r58fccca r42f2f0 45 45 46 46 #include "Parameters/Parameter.hpp" 47 48 // TODO: Value<bool>::getAsString() must be defined inline otherwise we get multiple definition of virtual thunk compilation errors49 template <>50 inline const std::string Value<bool>::getAsString() const throw(ParameterValueException)51 {52 if(!ValueSet)53 throw ParameterValueException();54 if (value)55 return std::string("yes");56 else57 return std::string("no");58 }59 60 // TODO: Value<bool>::setAsString must be defined inline otherwise we get multiple definition of virtual thunk compilation errors61 template <>62 inline void Value<bool>::setAsString(const std::string _value) throw(ParameterException)63 {64 if (_value == std::string("yes")) {65 set(true);66 } else if (_value == std::string("no")) {67 set(false);68 } else {69 throw ParameterValueException();70 }71 }72 47 73 48 -
src/Parser/Psi3Parser_Parameters.hpp
r58fccca r42f2f0 25 25 #include "Parameters/Value.hpp" 26 26 27 // specialization for bool (we want "yes/no" not "1/0")28 template <> inline const std::string Value<bool>::getAsString() const throw(ParameterValueException);29 template <> inline void Value<bool>::setAsString(const std::string _value) throw(ParameterException);30 27 31 28 class Psi3Parser;
Note:
See TracChangeset
for help on using the changeset viewer.