source: src/Actions/GlobalListOfActions.hpp@ 15fc6a

Candidate_v1.7.0 stable
Last change on this file since 15fc6a was 999eaf, checked in by Frederik Heber <frederik.heber@…>, 5 years ago

Added EvaluateStabilityAction to estimate a molecule's stability.

  • removes every bond and checks the energies of the products against the educt equipped with enough hydrogen molecules to compensate for the cut bond times its degree.
  • outputs a CSV file with entries per bond.
  • extended HomologyGraph to allow direct use of AtomIdSet, i.e. atomic ids coming from a selection in the World or from the molecule.
  • DOCU: Added subsection on this action to section homology.
  • TEST: Added regression test case.
  • Property mode set to 100644
File size: 5.9 KB
Line 
1/*
2 * GlobalListOfActions.hpp
3 *
4 * Created on: Sep 21, 2011
5 * Author: heber
6 */
7
8#ifndef GLOBALLISTOFACTIONS_HPP_
9#define GLOBALLISTOFACTIONS_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <boost/preprocessor/seq/push_back.hpp>
17#include <boost/preprocessor/seq/remove.hpp>
18
19// this is global list of actions valid for all cases
20// PLEASE adhere to the alphabetical ordering of the list of Actions
21// NOTE that Redo must remain at the front due to technical reasons
22#define GLOBALLISTOFACTIONS_initial \
23 (Redo) \
24 (AnalysisAverageMoleculeForce) \
25 (AnalysisDipoleAngularCorrelation) \
26 (AnalysisDipoleCorrelation) \
27 (AnalysisMolecularVolume) \
28 (AnalysisPairCorrelation) \
29 (AnalysisPointCorrelation) \
30 (AnalysisPrincipalAxisSystem) \
31 (AnalysisSurfaceCorrelation) \
32 (AtomAdd) \
33 (AtomBondify) \
34 (AtomChangeElement) \
35 (AtomMirror) \
36 (AtomRandomPerturbation) \
37 (AtomRemove) \
38 (AtomRotateAroundOriginByAngle) \
39 (AtomSaturate) \
40 (AtomSaveSelectedAtoms) \
41 (AtomTranslate) \
42 (AtomTranslateToOrigin) \
43 (BondAdd) \
44 (BondRemove) \
45 (BondSetDegree) \
46 (CommandDryRun) \
47 (CommandElementDb) \
48 (CommandBondLengthTable) \
49 (CommandFastParsing) \
50 (CommandHelp) \
51 (CommandHelpRedistribute) \
52 (CommandNoDryRun) \
53 (CommandSetRandomNumbersEngine) \
54 (CommandSetRandomNumbersDistribution) \
55 (CommandStoreSession) \
56 (CommandUndoMark) \
57 (CommandVerbose) \
58 (CommandVersion) \
59 (CommandWarranty) \
60 (FillRegularGrid) \
61 (FillSurface) \
62 (FillSuspendInMolecule) \
63 (FillVolume) \
64 (FragmentationAnalyseFragmentationResults) \
65 (FragmentationClearFragmentationResults) \
66 (FragmentationClearFragmentationState) \
67 (FragmentationEvaluateStability) \
68 (FragmentationFragmentation) \
69 (FragmentationFragmentationAutomation) \
70 (FragmentationMolecularDynamics) \
71 (FragmentationParseFragmentJobs) \
72 (FragmentationParseFragmentResults) \
73 (FragmentationSaveFragmentResults) \
74 (FragmentationStoreSaturatedFragment) \
75 (FragmentationStructuralOptimization) \
76 (GeometryDistanceToVector) \
77 (GeometryInputToVector) \
78 (GeometryPlaneToVector) \
79 (GeometryPositionToVector) \
80 (GeometryRemove) \
81 (GraphChemicalSpaceEvaluator) \
82 (GraphUpdateMolecules) \
83 (GraphCorrectBondDegree) \
84 (GraphCreateAdjacency) \
85 (GraphDepthFirstSearch) \
86 (GraphDestroyAdjacency) \
87 (GraphPrintSelectedAtomsAsGraphString) \
88 (GraphSubgraphDissection) \
89 (MoleculeBondFile) \
90 (MoleculeChangeName) \
91 (MoleculeChangeBondAngle) \
92 (MoleculeCopy) \
93 (MoleculeForceAnnealing) \
94 (MoleculeLinearInterpolationofTrajectories) \
95 (MoleculeLoad) \
96 (MoleculeRemove) \
97 (MoleculeRotateAroundBond) \
98 (MoleculeRotateAroundSelfByAngle) \
99 (MoleculeRotateToPrincipalAxisSystem) \
100 (MoleculeSaveAdjacency) \
101 (MoleculeSaveBonds) \
102 (MoleculeSaveSelectedMolecules) \
103 (MoleculeSaveEnergies) \
104 (MoleculeStretchBond) \
105 (MoleculeTranslate) \
106 (MoleculeVerletIntegration) \
107 (PotentialFitPartialCharges) \
108 (PotentialParseAtomFragments) \
109 (PotentialParseHomologies) \
110 (PotentialParseParticleParameters) \
111 (PotentialParsePotentials) \
112 (PotentialSaveAtomFragments) \
113 (PotentialSaveHomologies) \
114 (PotentialSaveParticleParameters) \
115 (PotentialSavePotentials) \
116 (ParserSaveSelectedAtomsAsExtTypes) \
117 (ParserSetParserParameters) \
118 (ParserSetOutputFormats) \
119 (ParserSetTremoloAtomdata) \
120 (Undo) \
121 (SelectionAllAtoms) \
122 (SelectionAllAtomsInsideVolume) \
123 (SelectionAllAtomsOfMolecule) \
124 (SelectionAllMolecules) \
125 (SelectionAllShapes) \
126 (SelectionAtomBondNeighbors) \
127 (SelectionAtomByElement) \
128 (SelectionAtomById) \
129 (SelectionAtomByName) \
130 (SelectionAtomByOrder) \
131 (SelectionAtomByRandom) \
132 (SelectionClearAllAtoms) \
133 (SelectionClearAllMolecules) \
134 (SelectionInvertAtoms) \
135 (SelectionInvertMolecules) \
136 (SelectionMoleculeOfAtom) \
137 (SelectionMoleculeByFormula) \
138 (SelectionMoleculeById) \
139 (SelectionMoleculeByName) \
140 (SelectionMoleculeByOrder) \
141 (SelectionNotAllAtoms) \
142 (SelectionNotAllAtomsInsideVolume) \
143 (SelectionNotAllAtomsOfMolecule) \
144 (SelectionNotAllMolecules) \
145 (SelectionNotAllShapes) \
146 (SelectionNotAtomByElement) \
147 (SelectionNotAtomById) \
148 (SelectionNotAtomByName) \
149 (SelectionNotAtomByOrder) \
150 (SelectionNotMoleculeOfAtom) \
151 (SelectionNotMoleculeByFormula) \
152 (SelectionNotMoleculeById) \
153 (SelectionNotMoleculeByName) \
154 (SelectionNotMoleculeByOrder) \
155 (SelectionNotShapeByName) \
156 (SelectionPopAtoms) \
157 (SelectionPushAtoms) \
158 (SelectionPopMolecules) \
159 (SelectionPushMolecules) \
160 (SelectionShapeByName) \
161 (ShapeCombineShapes) \
162 (ShapeCreateShape) \
163 (ShapeRemoveShape) \
164 (ShapeRotateShape) \
165 (ShapeStretchShape) \
166 (ShapeTranslateShape) \
167 (TesselationConvexEnvelope) \
168 (TesselationNonConvexEnvelope) \
169 (WorldAddEmptyBoundary) \
170 (WorldBoundInBox) \
171 (WorldCenterInBox) \
172 (WorldCenterOnEdge) \
173 (WorldChangeBox) \
174 (WorldInput) \
175 (WorldOutput) \
176 (WorldOutputAs) \
177 (WorldRepeatBox) \
178 (WorldScaleBox) \
179 (WorldSetBoundaryConditions) \
180 (WorldSetDefaultName) \
181 (WorldSetWorldTime) \
182 (WorldStepWorldTime)
183
184// extend list of actions in case levmar is available
185#ifdef HAVE_LEVMAR
186#define GLOBALLISTOFACTIONS_LEVMAR \
187 BOOST_PP_SEQ_PUSH_BACK( \
188 BOOST_PP_SEQ_PUSH_BACK( \
189 GLOBALLISTOFACTIONS_initial, \
190 PotentialFitPotential \
191 ), \
192 PotentialFitCompoundPotential \
193 )
194#else
195#define GLOBALLISTOFACTIONS_LEVMAR \
196 GLOBALLISTOFACTIONS_initial
197#endif /* HAVE_LEVMAR */
198
199// define final list
200#ifdef HAVE_PYTHON
201#define GLOBALLISTOFACTIONS_PYTHON \
202 BOOST_PP_SEQ_PUSH_BACK( \
203 GLOBALLISTOFACTIONS_LEVMAR, \
204 CommandLoadSession \
205 )
206#else
207#define GLOBALLISTOFACTIONS_PYTHON \
208 GLOBALLISTOFACTIONS_LEVMAR
209#endif
210
211#define GLOBALLISTOFACTIONS GLOBALLISTOFACTIONS_PYTHON
212
213// define python list
214// skips CommandLoadSession as this causes dangerous infinite loops
215#define GLOBALLISTOFPYTHONACTIONS \
216 GLOBALLISTOFACTIONS_LEVMAR
217
218#endif /* GLOBALLISTOFACTIONS_HPP_ */
219
Note: See TracBrowser for help on using the repository browser.