source: src/Actions/MoleculeAction/ForceAnnealingAction.def@ b2acca

AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Enhanced_StructuralOptimization_continued Exclude_Hydrogens_annealWithBondGraph ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity PythonUI_with_named_parameters StoppableMakroAction TremoloParser_IncreasedPrecision
Last change on this file since b2acca was b2acca, checked in by Frederik Heber <frederik.heber@…>, 7 years ago

ForceAnnealing can now be used either atom- or bond-centered.

  • new keyword "use-bondgraph" to use either case.
  • atom is old annealing method, bond graph is new annealing method where the bond neighborhood is shifted as well to anneal to force projected onto the BondVector.
  • In the first step we always use atom-centered annealing where we use the given deltat step width. Afterwards Barzilai-Borwein may then proceed.
  • TESTS: Removed XFAIL from ForceAnnealing regression tests as they work now again.
  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*
2 * ForceAnnealingAction.def
3 *
4 * Created on: Aug 02, 2014
5 * Author: heber
6 */
7
8// all includes and forward declarations necessary for non-integral types below
9#include <boost/filesystem/path.hpp>
10
11#include "Parameters/Validators/DummyValidator.hpp"
12#include "Parameters/Validators/GenericValidators.hpp"
13#include "Parameters/Validators/Ops_Validator.hpp"
14#include "Parameters/Validators/RangeValidator.hpp"
15
16// i.e. there is an integer with variable name Z that can be found in
17// ValueStorage by the token "Z" -> first column: int, Z, "Z"
18// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
19#define paramtypes (boost::filesystem::path)(unsigned int)(bool)(int)(double)(bool)
20#define paramtokens ("forces-file")("steps")("output-every-step")("max-distance")("damping-factor")("use-bondgraph")
21#define paramdescriptions ("file containing")("fixed number of optimization steps to be performed")("whether WorldTime should be increased and output written after every step, useful if optimization might hang")("maximum distance to which bond graph is taken into account")("damping factor for decreasing the shift with bond graph distance from the causing site")("whether annealing should take place focusing on atoms alone or on the bonds (faster)")
22#define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))(PARAM_DEFAULT(0))(PARAM_DEFAULT(0.5))(PARAM_DEFAULT(0))
23#define paramreferences (forcesfile)(steps)(DoOutput)(MaxDistance)(DampingFactor)(UseBondGraph)
24#define paramvalids \
25(DummyValidator< boost::filesystem::path >()) \
26(NotZeroValidator< unsigned int >()) \
27(DummyValidator<bool>()) \
28(DummyValidator< int >()) \
29(RangeValidator< double >(0,1)) \
30(DummyValidator<bool>())
31
32#define statetypes (std::vector<AtomicInfo>)(std::vector<AtomicInfo>)
33#define statereferences (UndoInfo)(RedoInfo)
34
35// some defines for all the names, you may use ACTION, STATE and PARAMS
36#define CATEGORY Molecule
37#define MENUNAME "molecule"
38#define MENUPOSITION 12
39#define ACTIONNAME ForceAnnealing
40#define TOKEN "force-annealing"
41
42// finally the information stored in the ActionTrait specialization
43#define DESCRIPTION "perform a single step optimizing the current forces acting on the atoms"
44#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.