source: src/Actions/AtomAction/RandomPerturbationAction.def@ 3c9ac3

Action_Thermostats Adding_MD_integration_tests Adding_StructOpt_integration_tests AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Exclude_Hydrogens_annealWithBondGraph Fix_Verbose_Codepatterns ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool PythonUI_with_named_parameters Recreated_GuiChecks StoppableMakroAction TremoloParser_IncreasedPrecision
Last change on this file since 3c9ac3 was 310445, checked in by Frederik Heber <frederik.heber@…>, 8 years ago

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.
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 * RandomPerturbationAction.def
3 *
4 * Created on: Apr 02, 2017
5 * Author: heber
6 */
7
8// all includes and forward declarations necessary for non-integral types below
9#include "Parameters/Validators/DummyValidator.hpp"
10
11// i.e. there is an integer with variable name Z that can be found in
12// ValueStorage by the token "Z" -> first column: int, Z, "Z"
13// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
14#define paramtypes (double)
15#define paramtokens ("random-perturbation")
16#define paramdescriptions ("maximum strength of random perturbation")
17#define paramdefaults (NOPARAM_DEFAULTS())
18#define paramreferences (noise)
19#define paramvalids \
20(DummyValidator<double>())
21
22#define statetypes (std::vector<AtomicInfo>)(std::vector<AtomicInfo>)
23#define statereferences (Walkers)(NewWalkers)
24
25// some defines for all the names, you may use ACTION, STATE and PARAMS
26#define CATEGORY Atom
27#define MENUNAME "atom"
28#define MENUPOSITION 9
29#define ACTIONNAME RandomPerturbation
30#define TOKEN "random-perturbation"
31
32// finally the information stored in the ActionTrait specialization
33#define DESCRIPTION "randomly perturb the position of all selected atoms up to a given strength"
34#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.