Skip to content
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions ExampleCodes/FFT/EnergySpectrum/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ int main (int argc, char* argv[])

cMultiFab cx, cy, cz;
{
// Note that the complex Hermitian output array Y has (nx/2+1,ny,nz) elements.
// Y[nx-i,j,k] = Y[i,j,k]*
FFT::R2C<Real,FFT::Direction::forward> fft(geom.Domain());
auto const& [ba, dm] = fft.getSpectralDataLayout();
cx.define(ba,dm,1,0);
Expand Down Expand Up @@ -55,6 +57,12 @@ int main (int argc, char* argv[])
Real value = amrex::norm(cxa[b](i,j,k))
+ amrex::norm(cya[b](i,j,k))
+ amrex::norm(cza[b](i,j,k));
// Account for Hermitian symmetry in x-direction
// Hermitian symmetry Y[nx-i,j,k] = Y[i,j,k]*
if ((i > 0) && (2*i != nx)) {
// Multiply by 2 because we have +ki and -ki
value *= Real(2.0);
}
HostDevice::Atomic::Add(pke+di, value);
}
});
Expand Down
Loading