Skip to content
Snippets Groups Projects
Commit fcf9ac62 authored by Chichi Lalescu's avatar Chichi Lalescu
Browse files

tweak fftw test

parent b50335d1
No related branches found
No related tags found
1 merge request!23WIP: Feature/use cmake
Pipeline #
...@@ -25,23 +25,22 @@ def main(): ...@@ -25,23 +25,22 @@ def main():
sys.argv[1:]) sys.argv[1:])
df = h5py.File(c.simname + '.h5', 'r') df = h5py.File(c.simname + '.h5', 'r')
print(df['kspace/kx'].value)
print(df['kspace/ky'].value)
print(df['kspace/kz'].value)
df = h5py.File(c.simname + '_fields.h5', 'r') df = h5py.File(c.simname + '_fields.h5', 'r')
field1_complex = df['field1/complex/0'].value field1_complex = df['field1/complex/0'].value
field1_real = df['field1/real/0'].value field1_real = df['field1/real/0'].value
np_field1_real = np.fft.irfftn(field1_complex, axes = (0, 1, 2)).transpose(1, 0, 2, 3) np_field1_real = np.fft.irfftn(field1_complex, axes = (0, 1, 2)).transpose(1, 0, 2, 3)
print(np.mean(field1_real**2)) L2normr = np.sqrt(np.mean(field1_real**2))
print(np.mean(np_field1_real**2)*(np_field1_real.size/3)**2) err = np.max(np.abs(field1_real - np_field1_real*(np_field1_real.size/3)))
print(np.max(np.abs(field1_real - np_field1_real*(np_field1_real.size/3)))) assert(err < 1e-5)
np_field1_complex = np.fft.rfftn(field1_real.transpose(1, 0, 2, 3), axes = (0, 1, 2)) np_field1_complex = np.fft.rfftn(field1_real.transpose(1, 0, 2, 3), axes = (0, 1, 2)) / (np_field1_real.size/3)
print(np.sum(np.abs(field1_complex)**2)) L2norm0 = np.sqrt(np.sum(np.abs(field1_complex[:, :, 0])**2) + 2*np.sum(np.abs(field1_complex[:, :, 1:])**2))
print(np.sum(np.abs(np_field1_complex)**2)) L2norm1 = np.sqrt(np.sum(np.abs(np_field1_complex[:, :, 0])**2) + 2*np.sum(np.abs(np_field1_complex[:, :, 1:])**2))
print(np.max(np.abs(np_field1_complex - field1_complex))) err = np.max(np.abs(np_field1_complex - field1_complex))
assert(err < 1e-5)
print(L2normr, L2norm0, L2norm1)
f = plt.figure() f = plt.figure()
a = f.add_subplot(121) a = f.add_subplot(121)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment