|
MFC
Exascale flow solver
|
Forward and inverse FFT wrappers (FFTW/cuFFT/hipFFT) for azimuthal Fourier filtering in cylindrical geometries. More...
Functions/Subroutines | |
| impure subroutine, public | s_initialize_fftw_module |
| The purpose of this subroutine is to create the fftw plan that will be used in the forward and backward DFTs when applying the Fourier filter in the azimuthal direction. | |
| impure subroutine, public | s_apply_fourier_filter (q_cons_vf) |
| The purpose of this subroutine is to apply a Fourier low- pass filter to the flow variables in the azimuthal direction to remove the high-frequency content. This alleviates the restrictive CFL condition arising from cells near the axis. | |
| impure subroutine, public | s_finalize_fftw_module |
| The purpose of this subroutine is to destroy the fftw plan that will be used in the forward and backward DFTs when applying the Fourier filter in the azimuthal direction. | |
Variables | |
| type(c_ptr) | fwd_plan |
| type(c_ptr) | bwd_plan |
| type(c_ptr) | fftw_real_data |
| type(c_ptr) | fftw_cmplx_data |
| type(c_ptr) | fftw_fltr_cmplx_data |
| integer | real_size |
| integer | cmplx_size |
| integer | x_size |
| integer | batch_size |
| integer | nfq |
| real(c_double), dimension(:), pointer | data_real |
| Real data. | |
| complex(c_double_complex), dimension(:), pointer | data_cmplx |
| Complex data in Fourier space. | |
| complex(c_double_complex), dimension(:), pointer | data_fltr_cmplx |
| Filtered complex data in Fourier space. | |
| real(dp), dimension(:), allocatable, target | data_real_gpu |
| complex(dp), dimension(:), allocatable, target | data_cmplx_gpu |
| complex(dp), dimension(:), allocatable, target | data_fltr_cmplx_gpu |
| type(c_ptr) | fwd_plan_gpu |
| type(c_ptr) | bwd_plan_gpu |
| integer, dimension(:), allocatable | gpu_fft_size |
| integer, dimension(:), allocatable | iembed |
| integer, dimension(:), allocatable | oembed |
| integer | istride |
| integer | ostride |
| integer | idist |
| integer | odist |
| integer | rank |
Forward and inverse FFT wrappers (FFTW/cuFFT/hipFFT) for azimuthal Fourier filtering in cylindrical geometries.
| impure subroutine, public m_fftw::s_apply_fourier_filter | ( | type(scalar_field), dimension(sys_size), intent(inout) | q_cons_vf | ) |
The purpose of this subroutine is to apply a Fourier low- pass filter to the flow variables in the azimuthal direction to remove the high-frequency content. This alleviates the restrictive CFL condition arising from cells near the axis.
| q_cons_vf | Conservative variables |
Definition at line 556 of file m_fftw.fpp.f90.
| impure subroutine, public m_fftw::s_finalize_fftw_module |
The purpose of this subroutine is to destroy the fftw plan that will be used in the forward and backward DFTs when applying the Fourier filter in the azimuthal direction.
Definition at line 1244 of file m_fftw.fpp.f90.
| impure subroutine, public m_fftw::s_initialize_fftw_module |
The purpose of this subroutine is to create the fftw plan that will be used in the forward and backward DFTs when applying the Fourier filter in the azimuthal direction.
Definition at line 381 of file m_fftw.fpp.f90.
| integer m_fftw::batch_size |
Definition at line 323 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::bwd_plan |
Definition at line 321 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::bwd_plan_gpu |
Definition at line 366 of file m_fftw.fpp.f90.
| integer m_fftw::cmplx_size |
Definition at line 323 of file m_fftw.fpp.f90.
| complex(c_double_complex), dimension(:), pointer m_fftw::data_cmplx |
Complex data in Fourier space.
Definition at line 327 of file m_fftw.fpp.f90.
| complex(dp), dimension(:), allocatable, target m_fftw::data_cmplx_gpu |
Definition at line 347 of file m_fftw.fpp.f90.
| complex(c_double_complex), dimension(:), pointer m_fftw::data_fltr_cmplx |
Filtered complex data in Fourier space.
Definition at line 330 of file m_fftw.fpp.f90.
| complex(dp), dimension(:), allocatable, target m_fftw::data_fltr_cmplx_gpu |
Definition at line 348 of file m_fftw.fpp.f90.
| real(c_double), dimension(:), pointer m_fftw::data_real |
Real data.
Definition at line 325 of file m_fftw.fpp.f90.
| real(dp), dimension(:), allocatable, target m_fftw::data_real_gpu |
Definition at line 346 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::fftw_cmplx_data |
Definition at line 322 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::fftw_fltr_cmplx_data |
Definition at line 322 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::fftw_real_data |
Definition at line 322 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::fwd_plan |
Definition at line 321 of file m_fftw.fpp.f90.
| type(c_ptr) m_fftw::fwd_plan_gpu |
Definition at line 366 of file m_fftw.fpp.f90.
| integer, dimension(:), allocatable m_fftw::gpu_fft_size |
Definition at line 371 of file m_fftw.fpp.f90.
| integer m_fftw::idist |
Definition at line 373 of file m_fftw.fpp.f90.
| integer, dimension(:), allocatable m_fftw::iembed |
Definition at line 371 of file m_fftw.fpp.f90.
| integer m_fftw::istride |
Definition at line 373 of file m_fftw.fpp.f90.
| integer m_fftw::nfq |
Definition at line 323 of file m_fftw.fpp.f90.
| integer m_fftw::odist |
Definition at line 373 of file m_fftw.fpp.f90.
| integer, dimension(:), allocatable m_fftw::oembed |
Definition at line 371 of file m_fftw.fpp.f90.
| integer m_fftw::ostride |
Definition at line 373 of file m_fftw.fpp.f90.
| integer m_fftw::rank |
Definition at line 373 of file m_fftw.fpp.f90.
| integer m_fftw::real_size |
Definition at line 323 of file m_fftw.fpp.f90.
| integer m_fftw::x_size |
Definition at line 323 of file m_fftw.fpp.f90.