source: src/Actions/MoleculeAction/ForceAnnealingAction.def@ 38ac25

ForceAnnealing_with_BondGraph_continued_betteresults
Last change on this file since 38ac25 was 38ac25, checked in by Frederik Heber <frederik.heber@…>, 7 years ago

FIX: ForceAnnealingAction's Undo is again working.

  • AtomicInfo::setAtom() and SetAtomsFromAtomicInfo() now accept a time step. This allows to undo changes to the old state (where forces might have been passed to) and the current state (modified by time integration).
  • TESTFIX: ForceAnnealing's undo test.conf was no longer valid since the additional time stepping is extracted (and the tests were changed already). I.e. the extra trajectory step is because of step-world-time and not because of force-annealing. Hence, it should not be undone here.
  • 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 <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)(int)(double)(bool)
22#define paramtokens ("forces-file")("deltat")("steps")("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")("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.5))(PARAM_DEFAULT(0))
25#define paramreferences (forcesfile)(deltat)(steps)(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< int >()) \
31(RangeValidator< double >(0,1)) \
32(DummyValidator<bool>())
33
34#define statetypes (std::vector< std::vector<AtomicInfo> >)(std::vector< std::vector<AtomicInfo> >)
35#define statereferences (UndoInfo)(RedoInfo)
36
37// some defines for all the names, you may use ACTION, STATE and PARAMS
38#define CATEGORY Molecule
39#define MENUNAME "molecule"
40#define MENUPOSITION 12
41#define ACTIONNAME ForceAnnealing
42#define TOKEN "force-annealing"
43
44// finally the information stored in the ActionTrait specialization
45#define DESCRIPTION "perform a single step optimizing the current forces acting on the atoms"
46#undef SHORTFORM
Note: See TracBrowser for help on using the repository browser.