1#ifndef PSPC_K_FIELD_COMPARISON_TPP
2#define PSPC_K_FIELD_COMPARISON_TPP
11#include "KFieldComparison.h"
31 double diffSq, diff, d0, d1;
34 for (
int i = 0; i < n; ++i) {
35 d0 = a[i][0] - b[i][0];
36 d1 = a[i][1] - b[i][1];
37 diffSq = d0*d0 + d1*d1;
39 if (std::isnan(diff)) {
45 }
else if (diff > maxDiff_) {
54 rmsDiff_ = rmsDiff_/double(n);
55 rmsDiff_ = sqrt(rmsDiff_);
68 double diffSq, diff, d0, d1;
72 for (i = 0; i < m; ++i) {
76 for (j = 0; j < n; ++j) {
77 d0 = a[i][j][0] - b[i][j][0];
78 d1 = a[i][j][1] - b[i][j][1];
79 diffSq = d0*d0 + d1*d1;
81 if (std::isnan(diff)) {
87 }
else if (diff > maxDiff_) {
93 rmsDiff_ = rmsDiff_/double(m*n);
94 rmsDiff_ = sqrt(rmsDiff_);
KFieldComparison()
Default constructor.
double compare(RFieldDft< D > const &a, RFieldDft< D > const &b)
Compare individual fields.
Fourier transform of a real field on an FFT mesh.
int capacity() const
Return allocated size.
Dynamically allocatable contiguous array template.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
C++ namespace for polymer self-consistent field theory (PSCF).