PSCF v1.4.0
HamiltonianAnalyzer

This analyzer can output instantaneous values and averages of the total field theoretic hamiltonian \( H \) and its ideal gas and field contributions.

See also
HamiltonianAnalyzer (class API)
Rp::Simulator

Definitions

The ideal and field contributions to the Hamiltonian that are computed and analyzed by this class are the quantities denoted by \( \tilde{H}_{\rm id} \) and \( \tilde{H}_{\rm f} \) that are defined here. In a system with no associated perturbation, Hamiltonian \( H \) is given by a sum \( H = \tilde{H}_{\rm id} + \tilde{H}_{\rm f} \).

For users who read the source code : The quantities \( H \), \( \tilde{H}_{\rm id} \) and \( \tilde{H}_{rm f} \) that are analyzed by this class are computed by the Rp::Simulator::computeHamiltonian() function and returned by the Rp::Simulator::hamiltonian(), Rp::Simulator::idealHamiltonian() and Rp::Simulator::fieldHamiltonian() accessor functions, respectively.

Parameter file

Parameter file block format:

HamiltonianAnalyzer{
interval* int (1 by default)
outputFileName string
nSamplePerOutput* int (1 by default)
}

Meanings of the parameters:

Label Description
interval number of steps between data samples
outputFileName name of output file
nSamplePerOutput * number of samples per block average output to file

Output

In the following, "{outputFileName}" is used to represent the string value of the outputFileName parameter within descriptions of output file names.

Output during a simulation: :

If nSamplePerOutput > 0, the block averages of the total Hamiltonian and its components are output to the file {outputFileName}.dat every interval * nSamplerPerBlock simulation steps. This file contains four columns. The first column contains an integer step counter for the first simulation step or trajectory file frame in a block. The next three columns contain block averaged values of \( \tilde{H}_{\rm id} \), \( \tilde{H}_{\rm f} \), and \( H \), listed in that order.

If nSamplePerOutput == 1 (or if this optional parameter is omitted), then instantaneous values of \( H_{\rm id} \), \( H_{\rm f} \) and \( H \) are output to {outputFileName}.dat every interval time steps, with no block averaging.

If nSamplerPerBlock = 0, the {outputFileName}.dat data file is not created.

If a simulation uses a perturbation, the contribution to the Hamiltonian that arises from the perturbation is included in all reported values of \( H \), but is not analyzed separately or listed as a separated column in the {outputFileName}.dat file. If no perturbation exists, then \( H = \tilde{H}_{\rm id} + \tilde{H}_{\rm f} \).

Final output: :

At the end of the simulation or analysis of a trajectory file:

  • average values for \( H_{\rm id} \), \( H_{\rm f} \) and \( H \) along with corresponding error estimates are output to the file {outputFileName}.ave
  • Details of the blocking error analysis for these quantities are output to {outputFileName}.aer

See the discussion of error analysis for further details.