(git:6a2e663)
hfx_types Module Reference

Types and set/get functions for HFX. 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
More...
 
subroutine, public hfx_ri_init (ri_data, qs_kind_set, particle_set, atomic_kind_set, para_env)
 ... More...
 
subroutine, public hfx_ri_release (ri_data, write_stats)
 ... More...
 
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
More...
 
subroutine, public hfx_release_basis_types (basis_parameter)
 ... More...
 
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
More...
 
subroutine, public hfx_release (x_data)
 
  • This routine deallocates all data structures
More...
 
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
More...
 
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.
More...
 
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
More...
 
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
More...
 
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
More...
 
subroutine, public dealloc_containers (DATA, memory_usage)
 ... More...
 
subroutine, public alloc_containers (DATA, bin_size)
 ... More...
 
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) More...
 

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)
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 591 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 1198 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 1463 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 1653 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 1780 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 1811 of file hfx_types.F.

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 1904 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 2048 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 2522 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 2567 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 2587 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 2608 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 2873 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 2905 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 2952 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 116 of file hfx_types.F.

◆ max_images

integer, parameter, public hfx_types::max_images = 27

Definition at line 117 of file hfx_types.F.

◆ log_zero

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

Definition at line 118 of file hfx_types.F.

◆ powell_min_log

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

Definition at line 119 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 120 of file hfx_types.F.

◆ init_t_c_g0_lmax

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

Definition at line 133 of file hfx_types.F.