PSCF v1.4.0
fts/analyzer/HamiltonianAnalyzer.h
1#ifndef RP_HAMILTONIAN_ANALYZER_H
2#define RP_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 <iostream>
12
13namespace Pscf {
14namespace Rp {
15
37 template <int D, class T>
38 class HamiltonianAnalyzer : public T::AverageListAnalyzer
39 {
40
41 public:
42
48 void readParameters(std::istream& in) override;
49
50 protected:
51
58 HamiltonianAnalyzer(typename T::Simulator& simulator,
59 typename T::System& system);
60
65
69 void compute() override;
70
71 // Aliases for base classes.
72 using AverageListAnalyzerT = typename T::AverageListAnalyzer;
73 using AnalyzerT = typename T::Analyzer;
74
75 // Inherited protected member functions (selected).
76 using AnalyzerT::simulator;
77 using AnalyzerT::system;
78
79 private:
80
82 int idealId_;
83
85 int fieldId_;
86
88 int totalId_;
89
90 };
91
92}
93}
94#endif
HamiltonianAnalyzer(typename T::Simulator &simulator, typename T::System &system)
Constructor.
~HamiltonianAnalyzer()=default
Destructor.
void readParameters(std::istream &in) override
Read interval and output file name.
void compute() override
Compute and store values of Hamiltonian components.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.