OpenAtom  Version1.5a
ENL_EKE_Collector.h
1 /*
2 ** ENL_EKE_Collector.h
3 **
4 ** Made by Eric Bohm
5 ** Login <bohm@alacrity>
6 **
7 ** Started on Apr 14 10:35:54 2010 Eric Bohm
8 ** Last update Apr 14 10:35:54 2010 Eric Bohm
9 *
10 * ENL_EKE_Collector sums the ENL and EKE energies across
11 * k-points
12 * spin orbitals
13 * path-integrals
14 * note: each tempering would have its own ENL and EKE
15 * so the number of elements for this array is the number of tempers
16 
17 * this object is so simple that making it a chare array borders on
18 * overkill. It receives messages, sums them, and prints. So its only
19 * output is a side effect.
20 *
21 */
22 
23 #ifndef ENL_EKE_Collector_H_
24 # define ENL_EKE_Collector_H_
25 
26 
27 
28 #include "ENL_EKE_Collector.decl.h"
29 
31 {
32  public:
33  ENL_EKE_Collector(CkMigrateMessage *m) {}
34  ENL_EKE_Collector(int _numEnergyInputs, int _numInstance);
35  void acceptENL(double _enl);
36  void acceptEKE(double _eke);
38  private:
39  int enlIteration, ekeIteration;
40  FILE *temperScreenFile;
41  void printENL();
42  void printEKE();
43  int energyExpected;
44  int countEKE;
45  int countENL;
46  double EKE;
47  double ENL;
48 };
49 
50 
51 
52 #endif /* !ENL_EKE_Collector_H_ */