Representing a molecule or a crystal unit cell.
Calculation-wide paramters.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public | :: | dipole_cutoff | = | 400d0*ang | ||
real(kind=dp), | public | :: | ewald_real_cutoff_scaling | = | 1d0 | ||
real(kind=dp), | public | :: | ewald_rec_cutoff_scaling | = | 1d0 | ||
real(kind=dp), | public | :: | k_grid_shift | = | K_GRID_SHIFT | ||
logical, | public | :: | ewald_on | = | .true. | ||
logical, | public | :: | zero_negative_eigvals | = | .false. | ||
logical, | public | :: | rpa_rescale_eigs | = | .false. | ||
integer, | public | :: | rpa_order_max | = | 10 | ||
integer, | public | :: | n_freq | = | N_FREQUENCY_GRID |
Represents a molecule or a crystal unit cell.
The documented variables should be set before calling the initializer.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public, | allocatable | :: | coords(:,:) | (, a.u.) Atomic coordinates. |
||
real(kind=dp), | public, | allocatable | :: | lattice(:,:) | (, a.u.) Lattice vectors in columns, unallocated if not periodic. |
||
integer, | public, | allocatable | :: | k_grid(:) | Number of -points along reciprocal axes. |
||
real(kind=dp), | public, | allocatable | :: | custom_k_pts(:,:) | Custom -point grid. |
||
character(len=10), | public | :: | parallel_mode | = | 'auto' | Type of parallelization:
|
|
logical, | public | :: | get_eigs | = | .false. | Whether to keep MBD eigenvalues |
|
logical, | public | :: | get_modes | = | .false. | Whether to calculate MBD eigenvectors |
|
logical, | public | :: | do_rpa | = | .false. | Whether to calculate MBD energy by frequency integration |
|
logical, | public | :: | get_rpa_orders | = | .false. | Whether to calculate RPA orders |
|
type(logger_t), | public | :: | log | Used for logging |
|||
integer, | public | :: | mpi_comm | = | MPI_COMM_WORLD | MPI communicator |
|
integer, | public | :: | max_atoms_per_block | = | MAX_ATOMS_PER_BLOCK | ||
type(clock_t), | public | :: | timer | ||||
type(exception_t), | public | :: | exc | ||||
type(quad_pt_t), | public, | allocatable | :: | freq(:) | |||
real(kind=dp), | public | :: | gamm | = | 0d0 | ||
real(kind=dp), | public | :: | real_space_cutoff | ||||
real(kind=dp), | public | :: | rec_space_cutoff | ||||
type(param_t), | public | :: | param | ||||
type(atom_index_t), | public | :: | idx | ||||
type(blacs_desc_t), | public | :: | blacs | ||||
type(blacs_grid_t), | public | :: | blacs_grid | ||||
integer, | public | :: | mpi_size | = | -1 | ||
integer, | public | :: | mpi_rank | = | -1 |
procedure, public :: init => geom_init | |
procedure, public :: destroy => geom_destroy | |
procedure, public :: siz => geom_siz | |
procedure, public :: has_exc => geom_has_exc | |
procedure, public :: sync_exc => geom_sync_exc | |
procedure, public :: clock => geom_clock |