Closed sannant closed 2 months ago
It would still be nice if muFFT had an interface layer that translated half-complex FFTs to the standard c2r and r2c FFTs. Not all FFT libraries support these halfcomplex transforms.
I am not sure it is not only the halfcomplex fft missing.
What else is missing?
Traceback (most recent call last):
File "/home/asanner/Research/CFJAX/CFJAX/FirstOrder.py", line 389, in <module>
interpolator = Interpolator(topography)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/CrackFront/Circular.py", line 355, in __init__
self.interpolator = field.interpolate_bicubic()
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/HeightContainer.py", line 79, in func
return self._functions[name](self, *args, **kwargs)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Support/Bibliography.py", line 76, in func_with_doi
retvals = func(*args, **kwargs)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Uniform/Interpolation.py", line 118, in interpolate_bicubic
derx, dery = self.fourier_derivative()
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/HeightContainer.py", line 79, in func
return self._functions[name](self, *args, **kwargs)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Support/Bibliography.py", line 76, in func_with_doi
retvals = func(*args, **kwargs)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Uniform/Derivative.py", line 406, in fourier_derivative
return self.derivative(1, operator=(muFFT.FourierDerivative(dim, i) for i in range(dim)),
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/HeightContainer.py", line 79, in func
return self._functions[name](self, *args, **kwargs)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Support/Bibliography.py", line 76, in func_with_doi
retvals = func(*args, **kwargs)
File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Uniform/Derivative.py", line 279, in derivative
real_field = fft.real_space_field('real_temporary', 1)
AttributeError: '_muFFT.PocketFFT' object has no attribute 'real_space_field'
You have an old _muFFT binary and a new Python module. Try wiping your venv.
Am 23. Juli 2024 17:47:45 MESZ schrieb Antoine Sanner @.***>:
Traceback (most recent call last): File "/home/asanner/Research/CFJAX/CFJAX/FirstOrder.py", line 389, in <module> interpolator = Interpolator(topography) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/CrackFront/Circular.py", line 355, in __init__ self.interpolator = field.interpolate_bicubic() File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/HeightContainer.py", line 79, in func return self._functions[name](self, *args, **kwargs) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Support/Bibliography.py", line 76, in func_with_doi retvals = func(*args, **kwargs) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Uniform/Interpolation.py", line 118, in interpolate_bicubic derx, dery = self.fourier_derivative() File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/HeightContainer.py", line 79, in func return self._functions[name](self, *args, **kwargs) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Support/Bibliography.py", line 76, in func_with_doi retvals = func(*args, **kwargs) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Uniform/Derivative.py", line 406, in fourier_derivative return self.derivative(1, operator=(muFFT.FourierDerivative(dim, i) for i in range(dim)), File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/HeightContainer.py", line 79, in func return self._functions[name](self, *args, **kwargs) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Support/Bibliography.py", line 76, in func_with_doi retvals = func(*args, **kwargs) File "/home/asanner/Research/CFJAX/.venv/lib/python3.10/site-packages/SurfaceTopography/Uniform/Derivative.py", line 279, in derivative real_field = fft.real_space_field('real_temporary', 1) AttributeError: '_muFFT.PocketFFT' object has no attribute 'real_space_field'
-- Reply to this email directly or view it on GitHub: https://github.com/ContactEngineering/SurfaceTopography/issues/382#issuecomment-2245611378 You are receiving this because you commented.
Message ID: @.***>
Ah I think I understand, I had muSpectre in the requirements as well, which installs an old version of _muFFt . Thanks.
Yes!
For example the calculation of Fourier derivatives, and, consequently, the bicubic interpolation.
I don't think we need to fix this because the simple solution is to install FFTW 3 .
This means that we recomment installing FFTW3 and then installing muFFT in --no-binary mode