source: src/Actions/MoleculeAction/ForceAnnealingAction.def@ 322d58

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

ForceAnnealing now uses step width according to Barzilai-Borwein method.

  • this is not as good as what MPQC does but as long as Actions don't have an internal state, we cannot do anything better, e.g. a real line-search.
  • removed paramater delta from optimize-structure.
  • DOCU: Updated entry in user guide and noted Barzilai-Borwein method.
  • TESTS: removed deltat from force annealing regression tests.
  • TESTS: switched off StructureOptimization integration tests as poolworkers crash at the moment, making the tests hang indefinitely.
  • Property mode set to 100644
File size: 1.7 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
15// i.e. there is an integer with variable name Z that can be found in
16// ValueStorage by the token "Z" -> first column: int, Z, "Z"
17// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
18#define paramtypes (boost::filesystem::path)(unsigned int)(bool)
19#define paramtokens ("forces-file")("steps")("output-every-step")
20#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")
21#define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))
22#define paramreferences (forcesfile)(steps)(DoOutput)
23#define paramvalids \
24(DummyValidator< boost::filesystem::path >()) \
25(NotZeroValidator< unsigned int >()) \
26(DummyValidator<bool>())
27
28#define statetypes (std::vector<AtomicInfo>)(std::vector<AtomicInfo>)
29#define statereferences (UndoInfo)(RedoInfo)
30
31// some defines for all the names, you may use ACTION, STATE and PARAMS
32#define CATEGORY Molecule
33#define MENUNAME "molecule"
34#define MENUPOSITION 12
35#define ACTIONNAME ForceAnnealing
36#define TOKEN "force-annealing"
37
38// finally the information stored in the ActionTrait specialization
39#define DESCRIPTION "perform a single step optimizing the current forces acting on the atoms"
40#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.