![]() |
(git:b77b4be)
|
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 113 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 270 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 564 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 720 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 934 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 967 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 1038 of file grid_api.F.
subroutine, public grid_api::grid_library_init | ( | void | ) |
Initialize grid library.
Definition at line 1134 of file grid_api.F.
subroutine, public grid_api::grid_library_finalize | ( | void | ) |
Finalize grid library.
Definition at line 1148 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 1165 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 1191 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ab = 100 |
Definition at line 29 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dadb = 200 |
Definition at line 30 of file grid_api.F.
integer, parameter, public grid_api::grid_func_adbmdab_x = 301 |
Definition at line 31 of file grid_api.F.
integer, parameter, public grid_api::grid_func_adbmdab_y = 302 |
Definition at line 32 of file grid_api.F.
integer, parameter, public grid_api::grid_func_adbmdab_z = 303 |
Definition at line 33 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_xx = 411 |
Definition at line 34 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_xy = 412 |
Definition at line 35 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_xz = 413 |
Definition at line 36 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_yx = 421 |
Definition at line 37 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_yy = 422 |
Definition at line 38 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_yz = 423 |
Definition at line 39 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_zx = 431 |
Definition at line 40 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_zy = 432 |
Definition at line 41 of file grid_api.F.
integer, parameter, public grid_api::grid_func_ardbmdarb_zz = 433 |
Definition at line 42 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dabpadb_x = 501 |
Definition at line 43 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dabpadb_y = 502 |
Definition at line 44 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dabpadb_z = 503 |
Definition at line 45 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dx = 601 |
Definition at line 46 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dy = 602 |
Definition at line 47 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dz = 603 |
Definition at line 48 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dxdy = 701 |
Definition at line 49 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dydz = 702 |
Definition at line 50 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dzdx = 703 |
Definition at line 51 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dxdx = 801 |
Definition at line 52 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dydy = 802 |
Definition at line 53 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dzdz = 803 |
Definition at line 54 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dab_x = 901 |
Definition at line 55 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dab_y = 902 |
Definition at line 56 of file grid_api.F.
integer, parameter, public grid_api::grid_func_dab_z = 903 |
Definition at line 57 of file grid_api.F.
integer, parameter, public grid_api::grid_func_adb_x = 904 |
Definition at line 58 of file grid_api.F.
integer, parameter, public grid_api::grid_func_adb_y = 905 |
Definition at line 59 of file grid_api.F.
integer, parameter, public grid_api::grid_func_adb_z = 906 |
Definition at line 60 of file grid_api.F.
integer, parameter, public grid_api::grid_func_core_x = 1001 |
Definition at line 62 of file grid_api.F.
integer, parameter, public grid_api::grid_func_core_y = 1002 |
Definition at line 63 of file grid_api.F.
integer, parameter, public grid_api::grid_func_core_z = 1003 |
Definition at line 64 of file grid_api.F.
integer, parameter, public grid_api::grid_backend_auto = 10 |
Definition at line 66 of file grid_api.F.
integer, parameter, public grid_api::grid_backend_ref = 11 |
Definition at line 67 of file grid_api.F.
integer, parameter, public grid_api::grid_backend_cpu = 12 |
Definition at line 68 of file grid_api.F.
integer, parameter, public grid_api::grid_backend_dgemm = 13 |
Definition at line 69 of file grid_api.F.
integer, parameter, public grid_api::grid_backend_gpu = 14 |
Definition at line 70 of file grid_api.F.
integer, parameter, public grid_api::grid_backend_hip = 15 |
Definition at line 71 of file grid_api.F.