![]() |
(git:ec11232)
|
Fortran API for the grid package, which is written in C. More...
Data Types | |
| type | grid_basis_set_type |
| type | grid_task_list_type |
Functions/Subroutines | |
| subroutine, public | collocate_pgf_product (la_max, zeta, la_min, lb_max, zetb, lb_min, ra, rab, scale, pab, o1, o2, rsgrid, ga_gb_function, radius, use_subpatch, subpatch_pattern) |
| low level collocation of primitive gaussian functions | |
| subroutine, public | integrate_pgf_product (la_max, zeta, la_min, lb_max, zetb, lb_min, ra, rab, rsgrid, hab, pab, o1, o2, radius, calculate_forces, force_a, force_b, compute_tau, use_virial, my_virial_a, my_virial_b, hdab, hadb, a_hdab, use_subpatch, subpatch_pattern) |
| low level function to compute matrix elements of primitive gaussian functions | |
| subroutine, public | grid_create_basis_set (nset, nsgf, maxco, maxpgf, lmin, lmax, npgf, nsgf_set, first_sgf, sphi, zet, basis_set) |
| Allocates a basis set which can be passed to grid_create_task_list. | |
| subroutine, public | grid_free_basis_set (basis_set) |
| Deallocates given basis set. | |
| subroutine, public | grid_create_task_list (ntasks, natoms, nkinds, nblocks, block_offsets, atom_positions, atom_kinds, basis_sets, level_list, iatom_list, jatom_list, iset_list, jset_list, ipgf_list, jpgf_list, border_mask_list, block_num_list, radius_list, rab_list, rs_grids, task_list) |
| Allocates a task list which can be passed to grid_collocate_task_list. | |
| subroutine, public | grid_free_task_list (task_list) |
| Deallocates given task list, basis_sets have to be freed separately. | |
| subroutine, public | grid_collocate_task_list (task_list, ga_gb_function, pab_blocks, rs_grids) |
| Collocate all tasks of in given list onto given grids. | |
| subroutine, public | grid_integrate_task_list (task_list, compute_tau, calculate_forces, calculate_virial, pab_blocks, rs_grids, hab_blocks, forces, virial) |
| Integrate all tasks of in given list from given grids. | |
| subroutine, public | grid_library_init () |
| Initialize grid library. | |
| subroutine, public | grid_library_finalize () |
| Finalize grid library. | |
| subroutine, public | grid_library_set_config (backend, validate, apply_cutoff) |
| Configures the grid library. | |
| subroutine, public | grid_library_print_stats (mpi_comm, output_unit) |
| Print grid library statistics. | |
Variables | |
| integer, parameter, public | grid_func_ab = 100 |
| integer, parameter, public | grid_func_dadb = 200 |
| integer, parameter, public | grid_func_adbmdab_x = 301 |
| integer, parameter, public | grid_func_adbmdab_y = 302 |
| integer, parameter, public | grid_func_adbmdab_z = 303 |
| integer, parameter, public | grid_func_ardbmdarb_xx = 411 |
| integer, parameter, public | grid_func_ardbmdarb_xy = 412 |
| integer, parameter, public | grid_func_ardbmdarb_xz = 413 |
| integer, parameter, public | grid_func_ardbmdarb_yx = 421 |
| integer, parameter, public | grid_func_ardbmdarb_yy = 422 |
| integer, parameter, public | grid_func_ardbmdarb_yz = 423 |
| integer, parameter, public | grid_func_ardbmdarb_zx = 431 |
| integer, parameter, public | grid_func_ardbmdarb_zy = 432 |
| integer, parameter, public | grid_func_ardbmdarb_zz = 433 |
| integer, parameter, public | grid_func_dabpadb_x = 501 |
| integer, parameter, public | grid_func_dabpadb_y = 502 |
| integer, parameter, public | grid_func_dabpadb_z = 503 |
| integer, parameter, public | grid_func_dx = 601 |
| integer, parameter, public | grid_func_dy = 602 |
| integer, parameter, public | grid_func_dz = 603 |
| integer, parameter, public | grid_func_dxdy = 701 |
| integer, parameter, public | grid_func_dydz = 702 |
| integer, parameter, public | grid_func_dzdx = 703 |
| integer, parameter, public | grid_func_dxdx = 801 |
| integer, parameter, public | grid_func_dydy = 802 |
| integer, parameter, public | grid_func_dzdz = 803 |
| integer, parameter, public | grid_func_dab_x = 901 |
| integer, parameter, public | grid_func_dab_y = 902 |
| integer, parameter, public | grid_func_dab_z = 903 |
| integer, parameter, public | grid_func_adb_x = 904 |
| integer, parameter, public | grid_func_adb_y = 905 |
| integer, parameter, public | grid_func_adb_z = 906 |
| integer, parameter, public | grid_func_core_x = 1001 |
| integer, parameter, public | grid_func_core_y = 1002 |
| integer, parameter, public | grid_func_core_z = 1003 |
| integer, parameter, public | grid_backend_auto = 10 |
| integer, parameter, public | grid_backend_ref = 11 |
| integer, parameter, public | grid_backend_cpu = 12 |
| integer, parameter, public | grid_backend_dgemm = 13 |
| integer, parameter, public | grid_backend_gpu = 14 |
| integer, parameter, public | grid_backend_hip = 15 |
Fortran API for the grid package, which is written in C.
| subroutine, public grid_api::collocate_pgf_product | ( | integer, intent(in) | la_max, |
| real(kind=dp), intent(in) | zeta, | ||
| integer, intent(in) | la_min, | ||
| integer, intent(in) | lb_max, | ||
| real(kind=dp), intent(in) | zetb, | ||
| integer, intent(in) | lb_min, | ||
| real(kind=dp), dimension(3), intent(in), target | ra, | ||
| real(kind=dp), dimension(3), intent(in), target | rab, | ||
| real(kind=dp), intent(in) | scale, | ||
| real(kind=dp), dimension(:, :), pointer | pab, | ||
| integer, intent(in) | o1, | ||
| integer, intent(in) | o2, | ||
| type(realspace_grid_type) | rsgrid, | ||
| integer, intent(in) | ga_gb_function, | ||
| real(kind=dp), intent(in) | radius, | ||
| logical, optional | use_subpatch, | ||
| integer, intent(in), optional | subpatch_pattern | ||
| ) |
low level collocation of primitive gaussian functions
| la_max | ... |
| zeta | ... |
| la_min | ... |
| lb_max | ... |
| zetb | ... |
| lb_min | ... |
| ra | ... |
| rab | ... |
| scale | ... |
| pab | ... |
| o1 | ... |
| o2 | ... |
| rsgrid | ... |
| ga_gb_function | ... |
| radius | ... |
| use_subpatch | ... |
| subpatch_pattern | ... |
Definition at line 111 of file grid_api.F.
| subroutine, public grid_api::integrate_pgf_product | ( | integer, intent(in) | la_max, |
| real(kind=dp), intent(in) | zeta, | ||
| integer, intent(in) | la_min, | ||
| integer, intent(in) | lb_max, | ||
| real(kind=dp), intent(in) | zetb, | ||
| integer, intent(in) | lb_min, | ||
| real(kind=dp), dimension(3), intent(in), target | ra, | ||
| real(kind=dp), dimension(3), intent(in), target | rab, | ||
| type(realspace_grid_type), intent(in) | rsgrid, | ||
| real(kind=dp), dimension(:, :), pointer | hab, | ||
| real(kind=dp), dimension(:, :), optional, pointer | pab, | ||
| integer, intent(in) | o1, | ||
| integer, intent(in) | o2, | ||
| real(kind=dp), intent(in) | radius, | ||
| logical, intent(in) | calculate_forces, | ||
| real(kind=dp), dimension(3), intent(inout), optional | force_a, | ||
| real(kind=dp), dimension(3), intent(inout), optional | force_b, | ||
| logical, intent(in), optional | compute_tau, | ||
| logical, intent(in), optional | use_virial, | ||
| real(kind=dp), dimension(3, 3), optional | my_virial_a, | ||
| real(kind=dp), dimension(3, 3), optional | my_virial_b, | ||
| real(kind=dp), dimension(:, :, :), optional, pointer | hdab, | ||
| real(kind=dp), dimension(:, :, :), optional, pointer | hadb, | ||
| real(kind=dp), dimension(:, :, :, :), optional, pointer | a_hdab, | ||
| logical, optional | use_subpatch, | ||
| integer, intent(in), optional | subpatch_pattern | ||
| ) |
low level function to compute matrix elements of primitive gaussian functions
| la_max | ... |
| zeta | ... |
| la_min | ... |
| lb_max | ... |
| zetb | ... |
| lb_min | ... |
| ra | ... |
| rab | ... |
| rsgrid | ... |
| hab | ... |
| pab | ... |
| o1 | ... |
| o2 | ... |
| radius | ... |
| calculate_forces | ... |
| force_a | ... |
| force_b | ... |
| compute_tau | ... |
| use_virial | ... |
| my_virial_a | ... |
| my_virial_b | ... |
| hdab | Derivative with respect to the primitive on the left. |
| hadb | Derivative with respect to the primitive on the right. |
| a_hdab | ... |
| use_subpatch | ... |
| subpatch_pattern | ... |
Definition at line 268 of file grid_api.F.
| subroutine, public grid_api::grid_create_basis_set | ( | integer, intent(in) | nset, |
| integer, intent(in) | nsgf, | ||
| integer, intent(in) | maxco, | ||
| integer, intent(in) | maxpgf, | ||
| integer, dimension(:), intent(in), target | lmin, | ||
| integer, dimension(:), intent(in), target | lmax, | ||
| integer, dimension(:), intent(in), target | npgf, | ||
| integer, dimension(:), intent(in), target | nsgf_set, | ||
| integer, dimension(:, :), intent(in) | first_sgf, | ||
| real(kind=dp), dimension(:, :), intent(in), target | sphi, | ||
| real(kind=dp), dimension(:, :), intent(in), target | zet, | ||
| type(grid_basis_set_type), intent(inout) | basis_set | ||
| ) |
Allocates a basis set which can be passed to grid_create_task_list.
| nset | ... |
| nsgf | ... |
| maxco | ... |
| maxpgf | ... |
| lmin | ... |
| lmax | ... |
| npgf | ... |
| nsgf_set | ... |
| first_sgf | ... |
| sphi | ... |
| zet | ... |
| basis_set | ... |
Definition at line 562 of file grid_api.F.
| subroutine, public grid_api::grid_free_basis_set | ( | type(grid_basis_set_type), intent(inout) | basis_set | ) |
| subroutine, public grid_api::grid_create_task_list | ( | integer, intent(in) | ntasks, |
| integer, intent(in) | natoms, | ||
| integer, intent(in) | nkinds, | ||
| integer, intent(in) | nblocks, | ||
| integer, dimension(:), intent(in), target | block_offsets, | ||
| real(kind=dp), dimension(:, :), intent(in), target | atom_positions, | ||
| integer, dimension(:), intent(in), target | atom_kinds, | ||
| type(grid_basis_set_type), dimension(:), intent(in), target | basis_sets, | ||
| integer, dimension(:), intent(in), target | level_list, | ||
| integer, dimension(:), intent(in), target | iatom_list, | ||
| integer, dimension(:), intent(in), target | jatom_list, | ||
| integer, dimension(:), intent(in), target | iset_list, | ||
| integer, dimension(:), intent(in), target | jset_list, | ||
| integer, dimension(:), intent(in), target | ipgf_list, | ||
| integer, dimension(:), intent(in), target | jpgf_list, | ||
| integer, dimension(:), intent(in), target | border_mask_list, | ||
| integer, dimension(:), intent(in), target | block_num_list, | ||
| real(kind=dp), dimension(:), intent(in), target | radius_list, | ||
| real(kind=dp), dimension(:, :), intent(in), target | rab_list, | ||
| type(realspace_grid_type), dimension(:), intent(in) | rs_grids, | ||
| type(grid_task_list_type), intent(inout) | task_list | ||
| ) |
Allocates a task list which can be passed to grid_collocate_task_list.
| ntasks | ... |
| natoms | ... |
| nkinds | ... |
| nblocks | ... |
| block_offsets | ... |
| atom_positions | ... |
| atom_kinds | ... |
| basis_sets | ... |
| level_list | ... |
| iatom_list | ... |
| jatom_list | ... |
| iset_list | ... |
| jset_list | ... |
| ipgf_list | ... |
| jpgf_list | ... |
| border_mask_list | ... |
| block_num_list | ... |
| radius_list | ... |
| rab_list | ... |
| rs_grids | ... |
| task_list | ... |
Definition at line 718 of file grid_api.F.
| subroutine, public grid_api::grid_free_task_list | ( | type(grid_task_list_type), intent(inout) | task_list | ) |
Deallocates given task list, basis_sets have to be freed separately.
| task_list | ... |
Definition at line 932 of file grid_api.F.
| subroutine, public grid_api::grid_collocate_task_list | ( | type(grid_task_list_type), intent(in) | task_list, |
| integer, intent(in) | ga_gb_function, | ||
| type(offload_buffer_type), intent(in) | pab_blocks, | ||
| type(realspace_grid_type), dimension(:), intent(in) | rs_grids | ||
| ) |
Collocate all tasks of in given list onto given grids.
| task_list | ... |
| ga_gb_function | ... |
| pab_blocks | ... |
| rs_grids | ... |
Definition at line 965 of file grid_api.F.
| subroutine, public grid_api::grid_integrate_task_list | ( | type(grid_task_list_type), intent(in) | task_list, |
| logical, intent(in) | compute_tau, | ||
| logical, intent(in) | calculate_forces, | ||
| logical, intent(in) | calculate_virial, | ||
| type(offload_buffer_type), intent(in) | pab_blocks, | ||
| type(realspace_grid_type), dimension(:), intent(in) | rs_grids, | ||
| type(offload_buffer_type), intent(inout) | hab_blocks, | ||
| real(kind=dp), dimension(:, :), intent(inout), target | forces, | ||
| real(kind=dp), dimension(3, 3), intent(inout), target | virial | ||
| ) |
Integrate all tasks of in given list from given grids.
| task_list | ... |
| compute_tau | ... |
| calculate_forces | ... |
| calculate_virial | ... |
| pab_blocks | ... |
| rs_grids | ... |
| hab_blocks | ... |
| forces | ... |
| virial | ... |
Definition at line 1036 of file grid_api.F.
| subroutine, public grid_api::grid_library_init | ( | void | ) |
Initialize grid library.
Definition at line 1132 of file grid_api.F.
| subroutine, public grid_api::grid_library_finalize | ( | void | ) |
Finalize grid library.
Definition at line 1146 of file grid_api.F.
| subroutine, public grid_api::grid_library_set_config | ( | integer, intent(in) | backend, |
| logical, intent(in) | validate, | ||
| logical, intent(in) | apply_cutoff | ||
| ) |
Configures the grid library.
| backend | : backend to be used for collocate/integrate, possible values are REF, CPU, GPU |
| validate | : if set to true, compare the results of all backend to the reference backend |
| apply_cutoff | : apply a spherical cutoff before collocating or integrating. Only relevant for CPU backend |
Definition at line 1163 of file grid_api.F.
| subroutine, public grid_api::grid_library_print_stats | ( | type(mp_comm_type) | mpi_comm, |
| integer, intent(in) | output_unit | ||
| ) |
Print grid library statistics.
| mpi_comm | ... |
| output_unit | ... |
Definition at line 1189 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ab = 100 |
Definition at line 27 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dadb = 200 |
Definition at line 28 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_adbmdab_x = 301 |
Definition at line 29 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_adbmdab_y = 302 |
Definition at line 30 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_adbmdab_z = 303 |
Definition at line 31 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_xx = 411 |
Definition at line 32 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_xy = 412 |
Definition at line 33 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_xz = 413 |
Definition at line 34 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_yx = 421 |
Definition at line 35 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_yy = 422 |
Definition at line 36 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_yz = 423 |
Definition at line 37 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_zx = 431 |
Definition at line 38 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_zy = 432 |
Definition at line 39 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_ardbmdarb_zz = 433 |
Definition at line 40 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dabpadb_x = 501 |
Definition at line 41 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dabpadb_y = 502 |
Definition at line 42 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dabpadb_z = 503 |
Definition at line 43 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dx = 601 |
Definition at line 44 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dy = 602 |
Definition at line 45 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dz = 603 |
Definition at line 46 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dxdy = 701 |
Definition at line 47 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dydz = 702 |
Definition at line 48 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dzdx = 703 |
Definition at line 49 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dxdx = 801 |
Definition at line 50 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dydy = 802 |
Definition at line 51 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dzdz = 803 |
Definition at line 52 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dab_x = 901 |
Definition at line 53 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dab_y = 902 |
Definition at line 54 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_dab_z = 903 |
Definition at line 55 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_adb_x = 904 |
Definition at line 56 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_adb_y = 905 |
Definition at line 57 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_adb_z = 906 |
Definition at line 58 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_core_x = 1001 |
Definition at line 60 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_core_y = 1002 |
Definition at line 61 of file grid_api.F.
| integer, parameter, public grid_api::grid_func_core_z = 1003 |
Definition at line 62 of file grid_api.F.
| integer, parameter, public grid_api::grid_backend_auto = 10 |
Definition at line 64 of file grid_api.F.
| integer, parameter, public grid_api::grid_backend_ref = 11 |
Definition at line 65 of file grid_api.F.
| integer, parameter, public grid_api::grid_backend_cpu = 12 |
Definition at line 66 of file grid_api.F.
| integer, parameter, public grid_api::grid_backend_dgemm = 13 |
Definition at line 67 of file grid_api.F.
| integer, parameter, public grid_api::grid_backend_gpu = 14 |
Definition at line 68 of file grid_api.F.
| integer, parameter, public grid_api::grid_backend_hip = 15 |
Definition at line 69 of file grid_api.F.