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

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

Added damping-factor as another option to ForceAnnealing for proper testing of bond graph change effectiveness.

  • Property mode set to 100644
File size: 2.1 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)
20#define paramtokens ("forces-file")("steps")("output-every-step")("max-distance")("damping-factor")
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")
22#define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(PARAM_DEFAULT("0"))(PARAM_DEFAULT(0))(PARAM_DEFAULT(0.5))
23#define paramreferences (forcesfile)(steps)(DoOutput)(MaxDistance)(DampingFactor)
24#define paramvalids \
25(DummyValidator< boost::filesystem::path >()) \
26(NotZeroValidator< unsigned int >()) \
27(DummyValidator<bool>()) \
28(DummyValidator< int >()) \
29(RangeValidator< double >(0,1))
30
31#define statetypes (std::vector<AtomicInfo>)(std::vector<AtomicInfo>)
32#define statereferences (UndoInfo)(RedoInfo)
33
34// some defines for all the names, you may use ACTION, STATE and PARAMS
35#define CATEGORY Molecule
36#define MENUNAME "molecule"
37#define MENUPOSITION 12
38#define ACTIONNAME ForceAnnealing
39#define TOKEN "force-annealing"
40
41// finally the information stored in the ActionTrait specialization
42#define DESCRIPTION "perform a single step optimizing the current forces acting on the atoms"
43#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.