Changeset 310445


Ignore:
Timestamp:
Jun 22, 2017, 10:28:16 PM (8 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_SelectAtomByNameAction, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, AutomationFragmentation_failures, Candidate_v1.6.1, ChangeBugEmailaddress, ChemicalSpaceEvaluator, EmpiricalPotential_contain_HomologyGraph_documentation, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, Fix_Verbose_Codepatterns, ForceAnnealing_oldresults, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, Gui_displays_atomic_force_velocity, IndependentFragmentGrids_IntegrationTest, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, StoppableMakroAction, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps
Children:
8e9217
Parents:
78ea3c
git-author:
Frederik Heber <heber@…> (04/02/17 19:23:15)
git-committer:
Frederik Heber <frederik.heber@…> (06/22/17 22:28:16)
Message:

Added RandomPerturbationAction.

  • this should be when doing structural optimization for getting given configurations out of ambivalent states, e.g. a water molecule whose three atoms define a straight line.
  • note that we need to use a sensible random number distribution, the default is not doing what's expected. Added to docu.
  • TESTS: Added regression test with undo/redo.
  • DOCU: Added documentation to userguide.
Files:
6 added
6 edited

Legend:

Unmodified
Added
Removed
  • doc/userguide/userguide.xml

    r78ea3c r310445  
    879879        <link linkend='geometry'>Geometry</link>.</para>
    880880        </section>
     881        <section xml:id="atoms.random-perturbation">
     882          <title xml:id="atoms.random-perturbation.title">Randomly perturb atoms</title>
     883          <para>The positions of a set of selected atom(s) can be randomly
     884          perturbed by giving a maximum noise level..</para>
     885          <programlisting>
     886          ... --random-number-distribution "uniform_01"
     887      --random-perturbation 0.1</programlisting>
     888          <para>This will perturb all atomic positions by adding a vector
     889          with components chosen randomly from the interval [-level, level].</para>
     890          <para>Note that the manner these random numbers are picked depends
     891          on the current random number distribution (and also on the engine),
     892          see <link linkend='randomization'>Randomization</link>. The default
     893          one will not give good results, therefore the example uses the
     894          uniform_01 distribution</para>
     895        </section>
    881896        <section xml:id="atoms.remove-atom">
    882897          <title xml:id="atoms.remove-atom.title">Removing atoms</title>
  • src/Actions/GlobalListOfActions.hpp

    r78ea3c r310445  
    3333  (AtomChangeElement) \
    3434  (AtomMirror) \
     35  (AtomRandomPerturbation) \
    3536  (AtomRemove) \
    3637  (AtomRotateAroundOriginByAngle) \
  • src/Actions/Makefile.am

    r78ea3c r310445  
    152152  Actions/AtomAction/ChangeElementAction.cpp \
    153153  Actions/AtomAction/MirrorAction.cpp \
     154  Actions/AtomAction/RandomPerturbationAction.cpp \
    154155  Actions/AtomAction/RemoveAction.cpp \
    155156  Actions/AtomAction/RotateAroundOriginByAngleAction.cpp \
     
    163164  Actions/AtomAction/MirrorAction.hpp \
    164165  Actions/AtomAction/RemoveAction.hpp \
     166  Actions/AtomAction/RandomPerturbationAction.hpp \
    165167  Actions/AtomAction/RotateAroundOriginByAngleAction.hpp \
    166168  Actions/AtomAction/SaturateAction.hpp \
     
    172174  Actions/AtomAction/ChangeElementAction.def \
    173175  Actions/AtomAction/MirrorAction.def \
     176  Actions/AtomAction/RandomPerturbationAction.def \
    174177  Actions/AtomAction/RemoveAction.def \
    175178  Actions/AtomAction/RotateAroundOriginByAngleAction.def \
  • tests/Python/AllActions/options.dat

    r78ea3c r310445  
    163163random-number-distribution-parameters   "max=20;"
    164164random-number-engine-parameters "seed=2;"
     165random-perturbation     "0.1"
    165166remove-geometry "named_vector"
    166167repeat-box      "1 1 1"
  • tests/regression/Atoms/testsuite-atoms.at

    r78ea3c r310445  
    4949m4_include([Atoms/Saturate/testsuite-atoms-saturate-atoms-nitrogen.at])
    5050m4_include([Atoms/Saturate/testsuite-atoms-saturate-atoms-bonded_atoms.at])
     51
     52# mirror atoms
     53m4_include([Atoms/RandomPerturbation/testsuite-atoms-random-perturbation.at])
  • tests/regression/Makefile.am

    r78ea3c r310445  
    6060        $(srcdir)/Atoms/ChangeElement/testsuite-atoms-change-element.at \
    6161        $(srcdir)/Atoms/Mirror/testsuite-atoms-mirror.at \
     62        $(srcdir)/Atoms/RandomPerturbation/testsuite-atoms-random-perturbation.at \
    6263        $(srcdir)/Atoms/Remove/testsuite-atoms-remove.at \
    6364        $(srcdir)/Atoms/RemoveCuboid/testsuite-atoms-remove-cuboid.at \
Note: See TracChangeset for help on using the changeset viewer.