source: src/Actions/MoleculeAction/ForceAnnealingAction.def@ 6dfa37

ForceAnnealing_with_BondGraph_continued
Last change on this file since 6dfa37 was 6dfa37, checked in by Frederik Heber <frederik.heber@…>, 8 years ago

ForceAnnealing accepts option deltat.

  • Property mode set to 100644
File size: 2.4 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 <limits>
12
13#include "Parameters/Validators/DummyValidator.hpp"
14#include "Parameters/Validators/GenericValidators.hpp"
15#include "Parameters/Validators/Ops_Validator.hpp"
16#include "Parameters/Validators/RangeValidator.hpp"
17
18// i.e. there is an integer with variable name Z that can be found in
19// ValueStorage by the token "Z" -> first column: int, Z, "Z"
20// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
21#define paramtypes (boost::filesystem::path)(double)(unsigned int)(bool)(int)(double)(bool)
22#define paramtokens ("forces-file")("deltat")("steps")("output-every-step")("max-distance")("damping-factor")("use-bondgraph")
23#define paramdescriptions ("file containing")("basic step width to be used")("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)")
24#define paramdefaults (PARAM_DEFAULT(""))(PARAM_DEFAULT(0.1))(NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))(PARAM_DEFAULT(0))(PARAM_DEFAULT(0.5))(PARAM_DEFAULT(0))
25#define paramreferences (forcesfile)(deltat)(steps)(DoOutput)(MaxDistance)(DampingFactor)(UseBondGraph)
26#define paramvalids \
27(DummyValidator< boost::filesystem::path >()) \
28(RangeValidator< double >(std::numeric_limits<double>::min(), std::numeric_limits<double>::max())) \
29(NotZeroValidator< unsigned int >()) \
30(DummyValidator<bool>()) \
31(DummyValidator< int >()) \
32(RangeValidator< double >(0,1)) \
33(DummyValidator<bool>())
34
35#define statetypes (std::vector<AtomicInfo>)(std::vector<AtomicInfo>)
36#define statereferences (UndoInfo)(RedoInfo)
37
38// some defines for all the names, you may use ACTION, STATE and PARAMS
39#define CATEGORY Molecule
40#define MENUNAME "molecule"
41#define MENUPOSITION 12
42#define ACTIONNAME ForceAnnealing
43#define TOKEN "force-annealing"
44
45// finally the information stored in the ActionTrait specialization
46#define DESCRIPTION "perform a single step optimizing the current forces acting on the atoms"
47#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.