| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh_t), | intent(inout), | target | :: | mesh | ||
| class(allocator_t), | intent(inout), | target | :: | allocator |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | n_halo | = | 4 |
DistD2 implementation is hardcoded for 4 halo layers for all backends |
|
| type(mesh_t), | public, | pointer | :: | mesh | |||
| class(allocator_t), | public, | pointer | :: | allocator | |||
| class(poisson_fft_t), | public, | pointer | :: | poisson_fft | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | u_recv_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | u_recv_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | u_send_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | u_send_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | v_recv_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | v_recv_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | v_send_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | v_send_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | w_recv_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | w_recv_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | w_send_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | w_send_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | du_send_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | du_send_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | du_recv_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | du_recv_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | dud_send_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | dud_send_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | dud_recv_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | dud_recv_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | d2u_send_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | d2u_send_e | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | d2u_recv_s | |||
| real(kind=dp), | public, | allocatable, dimension(:, :, :) | :: | d2u_recv_e |
| private function omptgt_backend_init (mesh, allocator) |
| procedure, public :: base_init | |
| procedure, public :: get_field_data | |
| procedure, public :: set_field_data | |
| procedure, public :: alloc_tdsops => alloc_omp_tdsops | |
| procedure, public :: transeq_x => transeq_x_omp | |
| procedure, public :: transeq_y => transeq_y_omp | |
| procedure, public :: transeq_z => transeq_z_omp | |
| procedure, public :: transeq_species => transeq_species_omp | |
| procedure, public :: tds_solve => tds_solve_omp | |
| procedure, public :: thom_solve => thom_solve_omp | |
| procedure, public :: sum_yintox => sum_yintox_omp | |
| procedure, public :: sum_zintox => sum_zintox_omp | |
| procedure, public :: vecmult => vecmult_omp | |
| procedure, public :: scalar_product => scalar_product_omp | |
| procedure, public :: vector_norm_squared => vector_norm_squared_omp | |
| procedure, public :: field_max_mean => field_max_mean_omp | |
| procedure, public :: slice_max_sum => slice_max_sum_omp | |
| procedure, public :: field_scale => field_scale_omp | |
| procedure, public :: field_shift => field_shift_omp | |
| procedure, public :: field_set_face => field_set_face_omp | |
| procedure, public :: field_set_face_from_field => field_set_face_from_field_omp | |
| procedure, public :: compute_vorticity => compute_vorticity_omp | |
| procedure, public :: compute_qcriterion => compute_qcriterion_omp | |
| procedure, public :: compute_smagorinsky_nut => compute_smagorinsky_nut_omp | |
| procedure, public :: compute_sgs_stress => compute_sgs_stress_omp | |
| procedure, public :: field_volume_integral => field_volume_integral_omp | |
| procedure, public :: init_poisson_fft => init_omp_poisson_fft | |
| procedure, public :: sync => sync_omp | |
| procedure, public :: get_device_bw_info => get_device_bw_info_omp | |
| procedure, public :: transeq_omp_dist | |
| procedure, public :: copy_f_to_data => copy_f_to_data_omptgt | |
| procedure, public :: copy_data_to_f => copy_data_to_f_omptgt | |
| procedure, public :: reorder => reorder_omptgt | |
| procedure, public :: vecadd => vecadd_omptgt | |
| procedure, public :: veccopy => veccopy_omptgt |