MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_fftw Module Reference

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
 Initialize the FFTW module.
impure subroutine, public s_apply_fourier_filter (q_cons_vf)
 Apply a Fourier low-pass filter in the azimuthal direction to remove high-frequency content.
impure subroutine, public s_finalize_fftw_module
 Finalize the FFTW module.

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

Detailed Description

Forward and inverse FFT wrappers (FFTW/cuFFT/hipFFT) for azimuthal Fourier filtering in cylindrical geometries.

Function/Subroutine Documentation

◆ s_apply_fourier_filter()

impure subroutine, public m_fftw::s_apply_fourier_filter ( type(scalar_field), dimension(sys_size), intent(inout) q_cons_vf)

Apply a Fourier low-pass filter in the azimuthal direction to remove high-frequency content.

Definition at line 564 of file m_fftw.fpp.f90.

◆ s_finalize_fftw_module()

impure subroutine, public m_fftw::s_finalize_fftw_module

Finalize the FFTW module.

Definition at line 1179 of file m_fftw.fpp.f90.

◆ s_initialize_fftw_module()

impure subroutine, public m_fftw::s_initialize_fftw_module

Initialize the FFTW module.

Definition at line 391 of file m_fftw.fpp.f90.

Variable Documentation

◆ batch_size

integer m_fftw::batch_size

Definition at line 342 of file m_fftw.fpp.f90.

◆ bwd_plan

type(c_ptr) m_fftw::bwd_plan

Definition at line 340 of file m_fftw.fpp.f90.

◆ bwd_plan_gpu

type(c_ptr) m_fftw::bwd_plan_gpu

Definition at line 379 of file m_fftw.fpp.f90.

◆ cmplx_size

integer m_fftw::cmplx_size

Definition at line 342 of file m_fftw.fpp.f90.

◆ data_cmplx

complex(c_double_complex), dimension(:), pointer m_fftw::data_cmplx

Complex data in Fourier space.

Definition at line 344 of file m_fftw.fpp.f90.

◆ data_cmplx_gpu

complex(dp), dimension(:), allocatable, target m_fftw::data_cmplx_gpu

Definition at line 360 of file m_fftw.fpp.f90.

◆ data_fltr_cmplx

complex(c_double_complex), dimension(:), pointer m_fftw::data_fltr_cmplx

Filtered complex data in Fourier space.

Definition at line 345 of file m_fftw.fpp.f90.

◆ data_fltr_cmplx_gpu

complex(dp), dimension(:), allocatable, target m_fftw::data_fltr_cmplx_gpu

Definition at line 361 of file m_fftw.fpp.f90.

◆ data_real

real(c_double), dimension(:), pointer m_fftw::data_real

Real data.

Definition at line 343 of file m_fftw.fpp.f90.

◆ data_real_gpu

real(dp), dimension(:), allocatable, target m_fftw::data_real_gpu

Definition at line 359 of file m_fftw.fpp.f90.

◆ fftw_cmplx_data

type(c_ptr) m_fftw::fftw_cmplx_data

Definition at line 341 of file m_fftw.fpp.f90.

◆ fftw_fltr_cmplx_data

type(c_ptr) m_fftw::fftw_fltr_cmplx_data

Definition at line 341 of file m_fftw.fpp.f90.

◆ fftw_real_data

type(c_ptr) m_fftw::fftw_real_data

Definition at line 341 of file m_fftw.fpp.f90.

◆ fwd_plan

type(c_ptr) m_fftw::fwd_plan

Definition at line 340 of file m_fftw.fpp.f90.

◆ fwd_plan_gpu

type(c_ptr) m_fftw::fwd_plan_gpu

Definition at line 379 of file m_fftw.fpp.f90.

◆ gpu_fft_size

integer, dimension(:), allocatable m_fftw::gpu_fft_size

Definition at line 384 of file m_fftw.fpp.f90.

◆ idist

integer m_fftw::idist

Definition at line 385 of file m_fftw.fpp.f90.

◆ iembed

integer, dimension(:), allocatable m_fftw::iembed

Definition at line 384 of file m_fftw.fpp.f90.

◆ istride

integer m_fftw::istride

Definition at line 385 of file m_fftw.fpp.f90.

◆ nfq

integer m_fftw::nfq

Definition at line 342 of file m_fftw.fpp.f90.

◆ odist

integer m_fftw::odist

Definition at line 385 of file m_fftw.fpp.f90.

◆ oembed

integer, dimension(:), allocatable m_fftw::oembed

Definition at line 384 of file m_fftw.fpp.f90.

◆ ostride

integer m_fftw::ostride

Definition at line 385 of file m_fftw.fpp.f90.

◆ rank

integer m_fftw::rank

Definition at line 385 of file m_fftw.fpp.f90.

◆ real_size

integer m_fftw::real_size

Definition at line 342 of file m_fftw.fpp.f90.

◆ x_size

integer m_fftw::x_size

Definition at line 342 of file m_fftw.fpp.f90.