Abstract Interfaces

Abstract InterfaceLocationDescription
alloc_tdsops m_base_backend
copy_data_to_f m_base_backend

Copy the specialist data structure from device or host back to a regular 3D data array in host memory.

copy_f_to_data m_base_backend

Copy a regular 3D array in host memory into the specialist data structure field that lives on device or host

fft_backward m_poisson_fft
fft_forward m_poisson_fft
fft_postprocess m_poisson_fft
init_poisson_fft m_base_backend
poisson_solver m_solver
reorder m_base_backend

reorder subroutines are straightforward, they rearrange data into our specialist data structure so that regardless of the direction tridiagonal systems are solved efficiently and fast.

scalar_product m_base_backend

Calculates the scalar product of two input fields

stepper_func m_time_integrator
sum_intox m_base_backend

sum9into3 subroutine combines all the directional velocity derivatives into the corresponding x directional fields.

tds_solve m_base_backend

transeq equation obtains the derivatives direction by direction, and the exact algorithm used to obtain these derivatives are decided at runtime. Backend implementations are responsible from directing calls to tds_solve to the correct algorithm.

transeq_ders m_base_backend

transeq equation obtains the derivatives direction by direction, and the exact algorithm used to obtain these derivatives are decided at runtime. Backend implementations are responsible from directing calls to transeq_ders into the correct algorithm.

vecadd m_base_backend

adds two vectors together: y = ax + by