source: src/Fragmentation/datacreator.hpp@ 88bb6b

Last change on this file since 88bb6b was bc28b0, checked in by Frederik Heber <heber@…>, 14 years ago

Moved modules associated with fragmentation into source subfolder Fragmentation.

  • Property mode set to 100755
File size: 5.1 KB
Line 
1/** \file datacreator.cpp
2 *
3 * Definitions of assisting functions in creating data and plot files.
4 *
5 */
6
7#ifndef DATACREATOR_HPP_
8#define DATACREATOR_HPP_
9
10// include config.h
11#ifdef HAVE_CONFIG_H
12#include <config.h>
13#endif
14
15
16using namespace std;
17
18#include <iosfwd>
19
20/****************************************** forward declarations *****************************/
21
22class EnergyMatrix;
23class ForceMatrix;
24class HessianMatrix;
25class KeySetsContainer;
26class MatrixContainer;
27
28/********************************************** declarations *******************************/
29
30bool OpenOutputFile(ofstream &output, const char *dir, const char *filename);
31bool AppendOutputFile(ofstream &output, const char *dir, const char *filename);
32
33bool CreateDataEnergyOrder(class EnergyMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
34bool CreateDataDeltaEnergyOrder(class EnergyMatrix &Energy, class EnergyMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
35bool CreateDataForcesOrder(class ForceMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum, void (*CreateForce)(class MatrixContainer &, int));
36bool CreateDataForcesOrderPerAtom(class ForceMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
37bool CreateDataDeltaForcesOrder(class ForceMatrix &Force, class ForceMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum, void (*CreateForce)(class MatrixContainer &, int));
38bool CreateDataDeltaForcesOrderPerAtom(class ForceMatrix &Force, class ForceMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
39bool CreateDataHessianOrderPerAtom(class HessianMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
40bool CreateDataDeltaHessianOrderPerAtom(class HessianMatrix &Hessian, class HessianMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
41bool CreateDataDeltaFrobeniusOrderPerAtom(class HessianMatrix &Hessian, class HessianMatrix &Fragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum);
42bool CreateDataFragment(class MatrixContainer &ForceFragments, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum, void (*CreateForce)(class MatrixContainer &, int));
43bool CreateDataFragmentOrder(class MatrixContainer &Fragment, class KeySetsContainer &KeySet, const char *dir, const char *prefix, const char *msg, const char *datum, void (*CreateFragmentOrder)(class MatrixContainer &, class KeySetsContainer &, int));
44
45void CreateEnergy(class MatrixContainer &Energy, int MatrixNumber);
46void CreateMaxFragmentOrder(class MatrixContainer &Matrix, class KeySetsContainer &KeySet, int BondOrder);
47void CreateMinFragmentOrder(class MatrixContainer &Matrix, class KeySetsContainer &KeySet, int BondOrder);
48void CreateMinimumForce(class MatrixContainer &Force, int MatrixNumber);
49void CreateMeanForce(class MatrixContainer &Force, int MatrixNumber);
50void CreateMaximumForce(class MatrixContainer &Force, int MatrixNumber);
51void CreateSameForce(class MatrixContainer &Force, int MatrixNumber);
52void CreateVectorSumForce(class MatrixContainer &Force, int MatrixNumber);
53
54void CreatePlotHeader(ofstream &output, const char *prefix, const int keycolumns, const char *key, const char *logscale, const char *extraline, const int mxtics, const int xtics, const char *xlabel, const char *ylabel);
55bool CreatePlotOrder(class MatrixContainer &Matrix, const class KeySetsContainer &KeySet, const char *dir, const char *prefix, const int keycolumns, const char *key, const char *logscale, const char *extraline, const int mxtics, const int xtics, const char *xlabel, const char *ylabel, const char *xrange, const char *yrange, const char *xargument, const char *uses, void (*CreatePlotLines)(ofstream &, class MatrixContainer &, const char *, const char *, const char *));
56
57void AbsEnergyPlotLine(ofstream &output, class MatrixContainer &Energy, const char *prefix, const char *xargument, const char *uses);
58void EnergyPlotLine(ofstream &output, class MatrixContainer &Energy, const char *prefix, const char *xargument, const char *uses);
59void ForceMagnitudePlotLine(ofstream &output, class MatrixContainer &Force, const char *prefix, const char *xargument, const char *uses);
60void AbsFirstForceValuePlotLine(ofstream &output, class MatrixContainer &Force, const char *prefix, const char *xargument, const char *uses);
61void BoxesForcePlotLine(ofstream &output, class MatrixContainer &Force, const char *prefix, const char *xargument, const char *uses);
62void BoxesFirstForceValuePlotLine(ofstream &output, class MatrixContainer &Force, const char *prefix, const char *xargument, const char *uses);
63
64#endif /*DATACREATOR_HPP_*/
Note: See TracBrowser for help on using the repository browser.