(git:08825b9)
Loading...
Searching...
No Matches
hfx_types Module Reference

Types and set/get functions for HFX. More...

Data Types

type  hfx_potential_type
type  hfx_screening_type
type  hfx_memory_type
type  hfx_load_balance_type
type  hfx_general_type
type  hfx_cell_type
type  hfx_distribution
type  pair_list_element_type
type  pair_set_list_type
type  pair_list_type
type  hfx_cache_type
type  hfx_container_type
type  hfx_basis_type
type  hfx_basis_info_type
type  hfx_screen_coeff_type
type  hfx_p_kind
type  hfx_2d_map
type  hfx_pgf_list
type  hfx_pgf_product_list
type  hfx_block_range_type
type  hfx_task_list_type
type  hfx_compression_type
type  block_ind_type
type  hfx_ri_type
type  hfx_type
 stores some data used in construction of Kohn-Sham matrix More...

Functions/Subroutines

subroutine, public hfx_create (x_data, para_env, hfx_section, atomic_kind_set, qs_kind_set, particle_set, dft_control, cell, orb_basis, ri_basis, nelectron_total, nkp_grid)
 
  • This routine allocates and initializes all types in hfx_data

subroutine, public hfx_ri_init (ri_data, qs_kind_set, particle_set, atomic_kind_set, para_env)
 ...
subroutine, public hfx_ri_release (ri_data, write_stats)
 ...
subroutine, public hfx_create_basis_types (basis_parameter, basis_info, qs_kind_set, basis_type)
 
  • This routine allocates and initializes the basis_info and basis_parameter types

subroutine, public hfx_release_basis_types (basis_parameter)
 ...
subroutine, public parse_memory_section (memory_parameter, hf_sub_section, storage_id, i_thread, n_threads, para_env, irep, skip_disk, skip_in_core_forces)
 
  • Parses the memory section

subroutine, public hfx_release (x_data)
 
  • This routine deallocates all data structures

subroutine, public hfx_create_neighbor_cells (x_data, pbc_shells, cell, i_thread, nkp_grid)
 
  • This routine computes the neighbor cells that are taken into account in periodic runs

subroutine, public hfx_init_container (container, memory_usage, do_disk_storage)
 
  • This routine deletes all list entries in a container in order to deallocate the memory.

subroutine, public hfx_set_distr_energy (ptr_to_distr, x_data)
 
  • This routine stores the data obtained from the load balance routine for the energy

subroutine, public hfx_set_distr_forces (ptr_to_distr, x_data)
 
  • This routine stores the data obtained from the load balance routine for the forces

subroutine, public hfx_reset_memory_usage_counter (memory_parameter, subtr_size_mb)
 
  • resets the maximum memory usage for a HFX calculation subtracting all relevant buffers from the input MAX_MEM value and add 10% of safety margin

subroutine, public dealloc_containers (data, memory_usage)
 ...
subroutine, public alloc_containers (data, bin_size)
 ...
subroutine, public compare_hfx_sections (hfx_section1, hfx_section2, is_identical, same_except_frac)
 Compares the non-technical parts of two HFX input section and check whether they are the same Ignore things that would not change results (MEMORY, LOAD_BALANCE).

Variables

integer, parameter, public max_atom_block = 32
integer, parameter, public max_images = 27
real(dp), parameter, public log_zero = -1000.0_dp
real(dp), parameter, public powell_min_log = -20.0_dp
real(kind=dp), dimension(0:10), parameter, public mul_fact = [1.0_dp, 1.1781_dp, 1.3333_dp, 1.4726_dp, 1.6000_dp, 1.7181_dp, 1.8286_dp, 1.9328_dp, 2.0317_dp, 2.1261_dp, 2.2165_dp]
integer, save, public init_t_c_g0_lmax = -1

Detailed Description

Types and set/get functions for HFX.

History
04.2008 created [Manuel Guidon] 05.2019 Moved erfc_cutoff to common/mathlib (A. Bussy) 10.2025 Added gcc from basis_parameter and hfx_library option
Author
Manuel Guidon

Function/Subroutine Documentation

◆ hfx_create()

subroutine, public hfx_types::hfx_create ( type(hfx_type), dimension(:, :), pointer x_data,
type(mp_para_env_type) para_env,
type(section_vals_type), pointer hfx_section,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(qs_kind_type), dimension(:), pointer qs_kind_set,
type(particle_type), dimension(:), pointer particle_set,
type(dft_control_type), pointer dft_control,
type(cell_type), pointer cell,
character(len=*), optional orb_basis,
character(len=*), optional ri_basis,
integer, optional nelectron_total,
integer, dimension(3), optional nkp_grid )

  • This routine allocates and initializes all types in hfx_data

Parameters
x_datacontains all relevant data structures for hfx runs
para_env...
hfx_sectioninput section
atomic_kind_set...
qs_kind_set...
particle_set...
dft_control...
cell...
orb_basis...
ri_basis...
nelectron_total...
nkp_grid...
History
09.2007 created [Manuel Guidon] 01.2024 pushed basis set decision outside of routine, keeps default as orb_basis = "ORB" and ri_basis = "AUX_FIT" No more ADMM references!
Author
Manuel Guidon
Note
  • All POINTERS and ALLOCATABLES are allocated, even if their size is unknown at invocation time

Definition at line 604 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_ri_init()

subroutine, public hfx_types::hfx_ri_init ( type(hfx_ri_type), intent(inout) ri_data,
type(qs_kind_type), dimension(:), pointer qs_kind_set,
type(particle_type), dimension(:), pointer particle_set,
type(atomic_kind_type), dimension(:), pointer atomic_kind_set,
type(mp_para_env_type) para_env )

...

Parameters
ri_data...
qs_kind_set...
particle_set...
atomic_kind_set...
para_env...

Definition at line 1271 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_ri_release()

subroutine, public hfx_types::hfx_ri_release ( type(hfx_ri_type), intent(inout) ri_data,
logical, optional write_stats )

...

Parameters
ri_data...
write_stats...

Definition at line 1528 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_create_basis_types()

subroutine, public hfx_types::hfx_create_basis_types ( type(hfx_basis_type), dimension(:), pointer basis_parameter,
type(hfx_basis_info_type) basis_info,
type(qs_kind_type), dimension(:), pointer qs_kind_set,
character(len=*) basis_type )

  • This routine allocates and initializes the basis_info and basis_parameter types

Parameters
basis_parameter...
basis_info...
qs_kind_set...
basis_type...
History
07.2011 refactored

Definition at line 1718 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_release_basis_types()

subroutine, public hfx_types::hfx_release_basis_types ( type(hfx_basis_type), dimension(:), pointer basis_parameter)

...

Parameters
basis_parameter...

Definition at line 1846 of file hfx_types.F.

Here is the caller graph for this function:

◆ parse_memory_section()

subroutine, public hfx_types::parse_memory_section ( type(hfx_memory_type) memory_parameter,
type(section_vals_type), pointer hf_sub_section,
integer, intent(out), optional storage_id,
integer, intent(in), optional i_thread,
integer, intent(in), optional n_threads,
type(mp_para_env_type), optional para_env,
integer, intent(in), optional irep,
logical, intent(in) skip_disk,
logical, intent(in) skip_in_core_forces )

  • Parses the memory section

Parameters
memory_parameter...
hf_sub_section...
storage_id...
i_thread...
n_threads...
para_env...
irep...
skip_disk...
skip_in_core_forces...

Definition at line 1877 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_release()

subroutine, public hfx_types::hfx_release ( type(hfx_type), dimension(:, :), pointer x_data)

  • This routine deallocates all data structures

Parameters
x_datacontains all relevant data structures for hfx runs
History
09.2007 created [Manuel Guidon]
Author
Manuel Guidon

Definition at line 1970 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_create_neighbor_cells()

subroutine, public hfx_types::hfx_create_neighbor_cells ( type(hfx_type), pointer x_data,
integer, intent(inout) pbc_shells,
type(cell_type), pointer cell,
integer, intent(in) i_thread,
integer, dimension(3), optional nkp_grid )

  • This routine computes the neighbor cells that are taken into account in periodic runs

Parameters
x_datacontains all relevant data structures for hfx runs
pbc_shellsnumber of shells taken into account
cellcell
i_threadcurrent thread ID
nkp_grid...
History
09.2007 created [Manuel Guidon]
Author
Manuel Guidon

Definition at line 2119 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hfx_init_container()

subroutine, public hfx_types::hfx_init_container ( type(hfx_container_type) container,
integer memory_usage,
logical do_disk_storage )

  • This routine deletes all list entries in a container in order to deallocate the memory.

Parameters
containercontainer that contains the compressed elements
memory_usage...
do_disk_storage...
History
10.2007 created [Manuel Guidon]
Author
Manuel Guidon

Definition at line 2597 of file hfx_types.F.

Here is the caller graph for this function:

◆ hfx_set_distr_energy()

subroutine, public hfx_types::hfx_set_distr_energy ( type(hfx_distribution), dimension(:), pointer ptr_to_distr,
type(hfx_type), pointer x_data )

  • This routine stores the data obtained from the load balance routine for the energy

Parameters
ptr_to_distrcontains data to store
x_datacontains all relevant data structures for hfx runs
History
09.2007 created [Manuel Guidon]
Author
Manuel Guidon

Definition at line 2642 of file hfx_types.F.

Here is the caller graph for this function:

◆ hfx_set_distr_forces()

subroutine, public hfx_types::hfx_set_distr_forces ( type(hfx_distribution), dimension(:), pointer ptr_to_distr,
type(hfx_type), pointer x_data )

  • This routine stores the data obtained from the load balance routine for the forces

Parameters
ptr_to_distrcontains data to store
x_datacontains all relevant data structures for hfx runs
History
09.2007 created [Manuel Guidon]
Author
Manuel Guidon

Definition at line 2662 of file hfx_types.F.

Here is the caller graph for this function:

◆ hfx_reset_memory_usage_counter()

subroutine, public hfx_types::hfx_reset_memory_usage_counter ( type(hfx_memory_type) memory_parameter,
integer(int_8), intent(in) subtr_size_mb )

  • resets the maximum memory usage for a HFX calculation subtracting all relevant buffers from the input MAX_MEM value and add 10% of safety margin

Parameters
memory_parameterMemory information
subtr_size_mbsize of buffers in MiB
History
02.2009 created [Manuel Guidon]
Author
Manuel Guidon

Definition at line 2683 of file hfx_types.F.

Here is the caller graph for this function:

◆ dealloc_containers()

subroutine, public hfx_types::dealloc_containers ( type(hfx_compression_type) data,
integer memory_usage )

...

Parameters
DATA...
memory_usage...

Definition at line 2956 of file hfx_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ alloc_containers()

subroutine, public hfx_types::alloc_containers ( type(hfx_compression_type) data,
integer, intent(in) bin_size )

...

Parameters
DATA...
bin_size...

Definition at line 2988 of file hfx_types.F.

Here is the caller graph for this function:

◆ compare_hfx_sections()

subroutine, public hfx_types::compare_hfx_sections ( type(section_vals_type), pointer hfx_section1,
type(section_vals_type), pointer hfx_section2,
logical, intent(out) is_identical,
logical, intent(out), optional same_except_frac )

Compares the non-technical parts of two HFX input section and check whether they are the same Ignore things that would not change results (MEMORY, LOAD_BALANCE).

Parameters
hfx_section1...
hfx_section2...
is_identical...
same_except_frac...
Returns
...

Definition at line 3035 of file hfx_types.F.

Here is the caller graph for this function:

Variable Documentation

◆ max_atom_block

integer, parameter, public hfx_types::max_atom_block = 32

Definition at line 119 of file hfx_types.F.

◆ max_images

integer, parameter, public hfx_types::max_images = 27

Definition at line 120 of file hfx_types.F.

◆ log_zero

real(dp), parameter, public hfx_types::log_zero = -1000.0_dp

Definition at line 121 of file hfx_types.F.

◆ powell_min_log

real(dp), parameter, public hfx_types::powell_min_log = -20.0_dp

Definition at line 122 of file hfx_types.F.

◆ mul_fact

real(kind=dp), dimension(0:10), parameter, public hfx_types::mul_fact = [1.0_dp, 1.1781_dp, 1.3333_dp, 1.4726_dp, 1.6000_dp, 1.7181_dp, 1.8286_dp, 1.9328_dp, 2.0317_dp, 2.1261_dp, 2.2165_dp]

Definition at line 123 of file hfx_types.F.

◆ init_t_c_g0_lmax

integer, save, public hfx_types::init_t_c_g0_lmax = -1

Definition at line 136 of file hfx_types.F.