Ignore:
Timestamp:
Jun 13, 2012, 5:39:13 PM (13 years ago)
Author:
Frederik Heber <heber@…>
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:
361805
Parents:
8453b3
git-author:
Frederik Heber <heber@…> (05/10/12 13:24:59)
git-committer:
Frederik Heber <heber@…> (06/13/12 17:39:13)
Message:

HUGE: All .def files now contain a useful paramvalids line.

  • many specific Validators have been added but have only DummyValidator funcitonality so far.
  • also some more generic (i.e. templated) validators have been added.
  • TESTFIXES: Some regression tests had to be changed because they either had initial faults or now fail due to stricter validators.
    • parser-tremolo-potentials-save: lacked .potentials file in testdir (thx validator!)
    • selection-.*.at: all stored to a targetfile more than once which is not allowed by FilePresentValidator.
Location:
src/Actions/MoleculeAction
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/MoleculeAction/BondFileAction.def

    r8453b3 r23958d  
    1010
    1111#include "Parameters/Validators/DummyValidator.hpp"
     12#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
    1213
    1314// i.e. there is an integer with variable name Z that can be found in
     
    1516// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1617#define paramtypes (boost::filesystem::path)(unsigned int)(unsigned int)
    17 #define paramvalids (DummyValidator< boost::filesystem::path >())(DummyValidator< unsigned int >())(DummyValidator< unsigned int >())
    1818#define paramtokens ("bond-file")("skiplines")("offset")
    1919#define paramdescriptions ("name of the bond file")("number of header lines to skip")("offset to add to each id")
    2020#define paramdefaults (NODEFAULT)("1")("0")
    2121#define paramreferences (bondfile)(skiplines)(id_offset)
     22#define paramvalids \
     23(FilePresentValidator()) \
     24(DummyValidator< unsigned int >()) \
     25(DummyValidator< unsigned int >())
    2226
    2327#undef statetypes
  • src/Actions/MoleculeAction/ChangeNameAction.def

    r8453b3 r23958d  
    1515// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1616#define paramtypes (std::string)
    17 #define paramvalids (DummyValidator< std::string >())
    1817#define paramtokens ("change-molname")
    1918#define paramdescriptions ("new name of molecule")
    2019#undef paramdefaults
    2120#define paramreferences (name)
     21#define paramvalids \
     22(DummyValidator< std::string >())
    2223
    2324#define statetypes (molecule*)
  • src/Actions/MoleculeAction/CopyAction.def

    r8453b3 r23958d  
    99#include <vector>
    1010
    11 #include "Parameters/Validators/DummyValidator.hpp"
     11#include "Parameters/Validators/Specific/BoxVectorValidator.hpp"
    1212
    1313// i.e. there is an integer with variable name Z that can be found in
     
    1515// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1616#define paramtypes (Vector)
    17 #define paramvalids (DummyValidator< Vector >())
    1817#define paramtokens ("position")
    1918#define paramdescriptions ("position in R^3 space")
    2019#undef paramdefaults
    2120#define paramreferences (position)
     21#define paramvalids \
     22(BoxVectorValidator())
    2223
    2324#define statetypes (const std::vector<moleculeId_t>)
  • src/Actions/MoleculeAction/FillVoidWithMoleculeAction.def

    r8453b3 r23958d  
    88// all includes and forward declarations necessary for non-integral types below
    99#include "LinearAlgebra/Vector.hpp"
    10 class MoleculeListClass;
    1110
     11#include "LinearAlgebra/defs.hpp"
    1212#include "Parameters/Validators/DummyValidator.hpp"
     13#include "Parameters/Validators/Ops_Validator.hpp"
     14#include "Parameters/Validators/Specific/BoxLengthValidator.hpp"
     15#include "Parameters/Validators/Specific/BoxVectorValidator.hpp"
     16#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
     17#include "Parameters/Validators/Specific/ParserFileValidator.hpp"
    1318
    1419// i.e. there is an integer with variable name Z that can be found in
     
    1621// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1722#define paramtypes (boost::filesystem::path)(Vector)(double)(double)(double)(double)(bool)
    18 #define paramvalids (DummyValidator< boost::filesystem::path >())(DummyValidator< Vector >())(DummyValidator< double >())(DummyValidator< double >())(DummyValidator< double >())(DummyValidator< double >())(DummyValidator< bool >())
    1923#define paramtokens ("fill-void")("distances")("distance-to-molecule")("random-atom-displacement")("random-molecule-displacement")("distance-to-boundary")("DoRotate")
    2024#define paramdescriptions ("name of xyz file of filler molecule")("list of three of distances in space, one for each axis direction")("minimum distance to present molecules")("magnitude of random atom displacement")("magnitude of random molecule displacement")("minimum distance to boundary")("whether to rotate or not")
    2125#define paramdefaults (NODEFAULT)(NODEFAULT)("0.")("0.")("0.")("0.")("0")
    2226#define paramreferences (fillername)(distances)(boundary)(RandAtomDisplacement)(RandMoleculeDisplacement)(MinDistance)(DoRotate)
     27#define paramvalids \
     28(FilePresentValidator() && ParserFileValidator()) \
     29(BoxVectorValidator()) \
     30(BoxLengthValidator()) \
     31(BoxLengthValidator()) \
     32(BoxLengthValidator()) \
     33(BoxLengthValidator()) \
     34(DummyValidator< bool >())
    2335
    2436#define statetypes (std::vector<molecule *>)
  • src/Actions/MoleculeAction/FillWithMoleculeAction.def

    r8453b3 r23958d  
    77
    88// all includes and forward declarations necessary for non-integral types below
     9#include <boost/assign.hpp>
    910#include <boost/filesystem/path.hpp>
     11#include <vector>
    1012#include "LinearAlgebra/Vector.hpp"
    11 class MoleculeListClass;
    1213
     14#include "Parameters/Validators/DiscreteValidator.hpp"
    1315#include "Parameters/Validators/DummyValidator.hpp"
     16#include "Parameters/Validators/Ops_Validator.hpp"
     17#include "Parameters/Validators/Specific/BoxLengthValidator.hpp"
     18#include "Parameters/Validators/Specific/BoxVectorValidator.hpp"
     19#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
     20#include "Parameters/Validators/Specific/ParserFileValidator.hpp"
    1421
    1522// i.e. there is an integer with variable name Z that can be found in
     
    1724// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1825#define paramtypes (boost::filesystem::path)(Vector)(double)(double)(double)(double)(bool)
    19 #define paramvalids (DummyValidator< boost::filesystem::path >())(DummyValidator< Vector >())(DummyValidator< double >())(DummyValidator< double >())(DummyValidator< double >())(DummyValidator< double >())(DummyValidator< bool >())
    2026#define paramtokens ("fill-molecule")("distances")("distance-to-molecule")("random-atom-displacement")("random-molecule-displacement")("MaxDistance")("DoRotate")
    2127#define paramdescriptions ("name of xyz file of filler molecule")("list of three of distances in space, one for each axis direction")("minimum distance to present molecules")("magnitude of random atom displacement")("magnitude of random molecule displacement")("maximum spatial distance")("whether to rotate or not")
    2228#define paramdefaults (NODEFAULT)(NODEFAULT)("0.")("0.")("0.")("0.")("0")
    2329#define paramreferences (fillername)(distances)(boundary)(RandAtomDisplacement)(RandMoleculeDisplacement)(MaxDistance)(DoRotate)
     30#define paramvalids \
     31(FilePresentValidator() && ParserFileValidator()) \
     32(BoxVectorValidator()) \
     33(BoxLengthValidator()) \
     34(BoxLengthValidator()) \
     35(BoxLengthValidator()) \
     36(BoxLengthValidator() || DiscreteValidator<double>(std::vector<double>(1,-1.))) \
     37(DummyValidator< bool >())
    2438
    2539#define statetypes (std::vector<molecule *>)
  • src/Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.def

    r8453b3 r23958d  
    1010
    1111#include "Parameters/Validators/DummyValidator.hpp"
     12#include "Parameters/Validators/GenericValidators.hpp"
    1213
    1314// i.e. there is an integer with variable name Z that can be found in
     
    1516// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1617#define paramtypes (unsigned int)(unsigned int)(unsigned int)(bool)
    17 #define paramvalids (DummyValidator< unsigned int >())(DummyValidator< unsigned int >())(DummyValidator< unsigned int >())(DummyValidator< bool >())
    1818#define paramtokens ("start-step")("interpolation-steps")("end-step")("id-mapping")
    1919#define paramdescriptions ("first or start step")("number of steps to interpolate in between start and end step")("last or end step")("whether the identity shall be used in mapping atoms onto atoms or not")
    2020#undef paramdefaults
    2121#define paramreferences (start)(interpolation_steps)(end)(IdMapping)
     22#define paramvalids \
     23(DummyValidator< unsigned int >()) \
     24(NotZeroValidator< unsigned int >()) \
     25(DummyValidator< unsigned int >()) \
     26(DummyValidator< bool >())
    2227
    2328#undef statetypes
  • src/Actions/MoleculeAction/LoadAction.def

    r8453b3 r23958d  
    1111#include <boost/shared_ptr.hpp>
    1212
    13 #include "Parameters/Validators/DummyValidator.hpp"
     13#include "Parameters/Validators/Ops_Validator.hpp"
     14#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
     15#include "Parameters/Validators/Specific/ParserFileValidator.hpp"
    1416
    1517// i.e. there is an integer with variable name Z that can be found in
     
    1719// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1820#define paramtypes (boost::filesystem::path)
    19 #define paramvalids (DummyValidator< boost::filesystem::path >())
    2021#define paramtokens ("load")
    2122#define paramdescriptions ("name of molecule file")
    2223#undef paramdefaults
    2324#define paramreferences (filename)
     25#define paramvalids \
     26(FilePresentValidator() && ParserFileValidator())
    2427
    2528#define statetypes (moleculeId_t)(std::string)(std::string)(boost::shared_ptr<FormatParser_Parameters>)
  • src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.def

    r8453b3 r23958d  
    1111
    1212#include "Parameters/Validators/DummyValidator.hpp"
     13#include "Parameters/Validators/Specific/RotationAngleValidator.hpp"
    1314
    1415// i.e. there is an integer with variable name Z that can be found in
     
    1617// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1718#define paramtypes (double)(Vector)
    18 #define paramvalids (DummyValidator< double >())(DummyValidator< Vector >())
    1919#define paramtokens ("rotate-around-self")("axis")
    2020#define paramdescriptions ("rotation angle in degrees")("direction rotation of rotation axis relative to molecule's center of gravity")
    2121#undef paramdefaults
    2222#define paramreferences (angle)(Axis)
     23#define paramvalids \
     24(RotationAngleValidator()) \
     25(DummyValidator< Vector >())
    2326
    2427#define statetypes (std::vector<molecule*>)
  • src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.def

    r8453b3 r23958d  
    1818// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1919#define paramtypes (Vector)
    20 #define paramvalids (DummyValidator< Vector >())
    2120#define paramtokens ("rotate-to-principal-axis-system")
    2221#define paramdescriptions ("vector to which to align the biggest eigenvector with")
    2322#undef paramdefaults
    2423#define paramreferences (Axis)
     24#define paramvalids \
     25(DummyValidator< Vector >())
    2526
    2627#undef statetypes
  • src/Actions/MoleculeAction/SaveAdjacencyAction.def

    r8453b3 r23958d  
    99class MoleculeListClass;
    1010
    11 #include "Parameters/Validators/DummyValidator.hpp"
     11#include "Parameters/Validators/Ops_Validator.hpp"
     12#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
    1213
    1314// i.e. there is an integer with variable name Z that can be found in
     
    1516// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1617#define paramtypes (boost::filesystem::path)
    17 #define paramvalids (DummyValidator< boost::filesystem::path >())
    1818#define paramtokens ("save-adjacency")
    1919#define paramdescriptions ("name of the adjacency file to write to")
    2020#undef paramdefaults
    2121#define paramreferences (adjacencyfile)
     22#define paramvalids \
     23(!FilePresentValidator())
    2224
    2325#undef statetypes
  • src/Actions/MoleculeAction/SaveBondsAction.def

    r8453b3 r23958d  
    99class MoleculeListClass;
    1010
    11 #include "Parameters/Validators/DummyValidator.hpp"
     11#include "Parameters/Validators/Ops_Validator.hpp"
     12#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
    1213
    1314// i.e. there is an integer with variable name Z that can be found in
     
    1516// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1617#define paramtypes (boost::filesystem::path)
    17 #define paramvalids (DummyValidator< boost::filesystem::path >())
    1818#define paramtokens ("save-bonds")
    1919#define paramdescriptions ("name of the bonds file to write to")
    2020#undef paramdefaults
    2121#define paramreferences (bondsfile)
     22#define paramvalids \
     23(!FilePresentValidator())
    2224
    2325#undef statetypes
  • src/Actions/MoleculeAction/SaveSelectedMoleculesAction.def

    r8453b3 r23958d  
    99
    1010
    11 #include "Parameters/Validators/DummyValidator.hpp"
     11#include "Parameters/Validators/Ops_Validator.hpp"
     12#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
     13#include "Parameters/Validators/Specific/ParserFileValidator.hpp"
    1214
    1315// i.e. there is an integer with variable name Z that can be found in
     
    1517// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1618#define paramtypes (boost::filesystem::path)
    17 #define paramvalids (DummyValidator< boost::filesystem::path >())
    1819#define paramtokens ("save-selected-molecules")
    1920#define paramdescriptions ("file name of file")
    2021#undef paramdefaults
    2122#define paramreferences (filename)
     23#define paramvalids \
     24(!FilePresentValidator() && ParserFileValidator())
    2225
    2326#undef statetypes
  • src/Actions/MoleculeAction/SaveTemperatureAction.def

    r8453b3 r23958d  
    99class MoleculeListClass;
    1010
    11 #include "Parameters/Validators/DummyValidator.hpp"
     11#include "Parameters/Validators/Ops_Validator.hpp"
     12#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
    1213
    1314// i.e. there is an integer with variable name Z that can be found in
     
    1516// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1617#define paramtypes (boost::filesystem::path)
    17 #define paramvalids (DummyValidator< boost::filesystem::path >())
    1818#define paramtokens ("save-temperature")
    1919#define paramdescriptions ("name of the temperature file to write to")
    2020#undef paramdefaults
    2121#define paramreferences (temperaturefile)
     22#define paramvalids \
     23(!FilePresentValidator())
    2224
    2325#undef statetypes
  • src/Actions/MoleculeAction/SuspendInWaterAction.def

    r8453b3 r23958d  
    99class MoleculeListClass;
    1010
    11 #include "Parameters/Validators/DummyValidator.hpp"
     11#include "Parameters/Validators/GenericValidators.hpp"
    1212
    1313// i.e. there is an integer with variable name Z that can be found in
     
    1515// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1616#define paramtypes (double)
    17 #define paramvalids (DummyValidator< double >())
    1817#define paramtokens ("suspend-in-water")
    1918#define paramdescriptions ("desired final density")
    2019#undef paramdefaults
    2120#define paramreferences (density)
     21#define paramvalids \
     22(PositiveValidator< double >())
    2223
    2324#undef statetypes
  • src/Actions/MoleculeAction/VerletIntegrationAction.def

    r8453b3 r23958d  
    1010
    1111#include "Parameters/Validators/DummyValidator.hpp"
     12#include "Parameters/Validators/GenericValidators.hpp"
     13#include "Parameters/Validators/Specific/FilePresentValidator.hpp"
    1214
    1315// i.e. there is an integer with variable name Z that can be found in
     
    1517// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
    1618#define paramtypes (boost::filesystem::path)(double)(unsigned int)(bool)
    17 #define paramvalids (DummyValidator< boost::filesystem::path >())(DummyValidator< double >())(DummyValidator< unsigned int >())(DummyValidator< bool >())
    1819#define paramtokens ("verlet-integration")("deltat")("MDSteps")("keep-fixed-CenterOfMass")
    1920#define paramdescriptions ("perform verlet integration of a given force file")("time step width")("number of MDSteps to integrate")("whether forces and velocities shall be corrected such that center of mass remains at rest")
    2021#undef paramdefaults
    2122#define paramreferences (forcesfile)(Deltat)(MDSteps)(FixedCenterOfMass)
     23#define paramvalids \
     24(FilePresentValidator()) \
     25(PositiveValidator< double >()) \
     26(NotZeroValidator< unsigned int >()) \
     27(DummyValidator< bool >())
    2228
    2329#undef statetypes
Note: See TracChangeset for help on using the changeset viewer.