PSCF v1.3
rpc/fts/analyzer/HamiltonianAnalyzer.h
1#ifndef RPC_HAMILTONIAN_ANALYZER_H
2#define RPC_HAMILTONIAN_ANALYZER_H
3
4/*
5* PSCF - Polymer Self-Consistent Field
6*
7* Copyright 2015 - 2025, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include "AverageListAnalyzer.h"
12
13namespace Pscf {
14namespace Rpc {
15
16 template <int D> class System;
17 template <int D> class Simulator;
18
19 using namespace Util;
20
33 template <int D>
35 {
36
37 public:
38
43
48 {}
49
55 virtual void readParameters(std::istream& in);
56
57 protected:
58
64
68 void compute();
69
70 private:
71
73 int idealId_;
74
76 int fieldId_;
77
79 int totalId_;
80
81 };
82
83 #ifndef RPC_HAMILTONIAN_ANALYZER_TPP
84 // Suppress implicit instantiation
85 extern template class HamiltonianAnalyzer<1>;
86 extern template class HamiltonianAnalyzer<2>;
87 extern template class HamiltonianAnalyzer<3>;
88 #endif
89
90}
91}
92#endif
Analyze averages and block averages of several real variables.
AverageListAnalyzer(Simulator< D > &simulator, System< D > &system)
Constructor.
System< D > & system()
Return reference to parent system.
void setName(int i, std::string name)
Set name of variable.
void setValue(int i, double value)
Set current value, used by compute function.
Simulator< D > & simulator()
Return reference to parent Simulator.
void compute()
Compute and store values of Hamiltonian components.
virtual void readParameters(std::istream &in)
Read interval and output file name.
HamiltonianAnalyzer(Simulator< D > &simulator, System< D > &system)
Constructor.
Field theoretic simulator (base class).
Main class, representing one complete system.
void setClassName(const char *className)
Set class name string.
Real periodic fields, SCFT and PS-FTS (CPU).
Definition param_pc.dox:2
PSCF package top-level namespace.
Definition param_pc.dox:1