source: src/Actions/MoleculeAction/ForceAnnealingAction.def@ 10b1ef

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

ForceAnnealingAction's Undo removes trajectory item if it was added.

  • before Undo would not truly undo the change to the trajectory. Now, we additionally store the trajectory size and may recogniye thereby whether we added a step or not. Note that stepping the world time does not add to the trajectory, as it uses the last present map element closest to the current time step.
  • TESTFIX: XFAIL removed from Undo as it is now working. Extended Undo test to cover both cases (ForceAnnealing added new step and did not add new step).
  • Property mode set to 100644
File size: 2.3 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<int>)(std::vector< std::vector<AtomicInfo> >)
35#define statereferences (UndoInfo)(UndoTrajectorySize)(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.