| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| berry_get_imf_klist | w90_berry | Subroutine | Calculates the Berry curvature traced over the occupied states, -2Im[f(k)] [Eq.33 CTVR06, Eq.6 LVTS12] for a list of Fermi energies, and stores it in axial-vector form |
| berry_get_imfgh_klist | w90_berry | Subroutine | Calculates the three quantities needed for the orbital magnetization: |
| berry_get_kdotp | w90_berry | Subroutine | |
| berry_get_kubo_k | w90_berry | Subroutine | Contribution from point k to the complex interband optical conductivity, separated into Hermitian (H) and anti-Hermitian (AH) parts. Also returns the joint density of states |
| berry_get_sc_klist | w90_berry | Subroutine | |
| berry_get_shc_klist | w90_berry | Subroutine | |
| berry_get_shc_tetrahedron | w90_berry | Subroutine | |
| berry_main | w90_berry | Subroutine | Computes the following quantities: (i) Anomalous Hall conductivity (from Berry curvature) (ii) Complex optical conductivity (Kubo-Greenwood) & JDOS (iii) Orbital magnetization (iv) Nonlinear shift current (v) Spin Hall conductivity |
| berry_print_progress | w90_berry | Subroutine | |
| boltzwann_main | w90_boltzwann | Subroutine | This is the main routine of the BoltzWann module. It calculates the transport coefficients using the Boltzmann transport equation. |
| calcTDFandDOS | w90_boltzwann | Subroutine | This routine calculates the Transport Distribution Function (TDF) in units of 1/hbar^2 * eV*fs/angstrom, and possibly the DOS. |
| check_and_sort_similar_centres | w90_transport_mod | Subroutine | |
| clean_ws_translate | w90_ws_distance | Subroutine | |
| clear_block | w90_readwrite | Subroutine | |
| comms_allreduce | w90_comms | Interface | |
| comms_allreduce_cmplx | w90_comms | Subroutine | Reduce complex data to all nodes |
| comms_allreduce_real | w90_comms | Subroutine | Reduce real data to all nodes |
| comms_array_split | w90_comms | Subroutine | Given an array of size numpoints, we want to split on num_nodes nodes. This function returns two arrays: count and displs. |
| comms_barrier | w90_comms | Subroutine | A barrier to synchronise all nodes |
| comms_bcast | w90_comms | Interface | |
| comms_bcast_char | w90_comms | Subroutine | Send character array from root node to all nodes |
| comms_bcast_cmplx | w90_comms | Subroutine | Send character array from root node to all nodes |
| comms_bcast_int | w90_comms | Subroutine | Send integar array from root node to all nodes |
| comms_bcast_logical | w90_comms | Subroutine | Send logical array from root node to all nodes |
| comms_bcast_real | w90_comms | Subroutine | Send real array from root node to all nodes |
| comms_gatherv | w90_comms | Interface | |
| comms_gatherv_cmplx_1 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 1) |
| comms_gatherv_cmplx_2 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 2) |
| comms_gatherv_cmplx_3 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 3) |
| comms_gatherv_cmplx_3_4 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 3 and 4, respectively) |
| comms_gatherv_cmplx_4 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 4) |
| comms_gatherv_logical | w90_comms | Subroutine | Gather real data to root node |
| comms_gatherv_real_1 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 1) |
| comms_gatherv_real_2 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 2) |
| comms_gatherv_real_2_3 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 2 and 3, respectively) |
| comms_gatherv_real_3 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 3) |
| comms_no_sync_allreduce | w90_comms | Interface | |
| comms_no_sync_allreduce_cmplx | w90_comms | Subroutine | Reduce complex data to all nodes |
| comms_no_sync_allreduce_real | w90_comms | Subroutine | Reduce real data to all nodes |
| comms_no_sync_barrier | w90_comms | Subroutine | A barrier to synchronise all nodes |
| comms_no_sync_bcast | w90_comms | Interface | |
| comms_no_sync_bcast_char | w90_comms | Subroutine | Send character array from root node to all nodes |
| comms_no_sync_bcast_cmplx | w90_comms | Subroutine | Send character array from root node to all nodes |
| comms_no_sync_bcast_int | w90_comms | Subroutine | Send integar array from root node to all nodes |
| comms_no_sync_bcast_logical | w90_comms | Subroutine | Send logical array from root node to all nodes |
| comms_no_sync_bcast_real | w90_comms | Subroutine | Send real array from root node to all nodes |
| comms_no_sync_gatherv | w90_comms | Interface | |
| comms_no_sync_gatherv_cmplx_1 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 1) |
| comms_no_sync_gatherv_cmplx_2 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 2) |
| comms_no_sync_gatherv_cmplx_3 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 3) |
| comms_no_sync_gatherv_cmplx_3_4 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 3 and 4, respectively) |
| comms_no_sync_gatherv_cmplx_4 | w90_comms | Subroutine | Gather complex data to root node (for arrays of rank 4) |
| comms_no_sync_gatherv_logical | w90_comms | Subroutine | Gather real data to root node |
| comms_no_sync_gatherv_real_1 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 1) |
| comms_no_sync_gatherv_real_2 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 2) |
| comms_no_sync_gatherv_real_2_3 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 2 and 3, respectively) |
| comms_no_sync_gatherv_real_3 | w90_comms | Subroutine | Gather real data to root node (for arrays of rank 3) |
| comms_no_sync_recv | w90_comms | Interface | |
| comms_no_sync_recv_char | w90_comms | Subroutine | Receive character array from specified node |
| comms_no_sync_recv_cmplx | w90_comms | Subroutine | Receive complex array from specified node |
| comms_no_sync_recv_int | w90_comms | Subroutine | Receive integer array from specified node |
| comms_no_sync_recv_logical | w90_comms | Subroutine | Receive logical array from specified node |
| comms_no_sync_recv_real | w90_comms | Subroutine | Receive real array from specified node |
| comms_no_sync_reduce | w90_comms | Interface | |
| comms_no_sync_reduce_cmplx | w90_comms | Subroutine | Reduce complex data to root node |
| comms_no_sync_reduce_int | w90_comms | Subroutine | Reduce integer data to root node |
| comms_no_sync_reduce_real | w90_comms | Subroutine | Reduce real data to root node |
| comms_no_sync_scatterv | w90_comms | Interface | |
| comms_no_sync_scatterv_cmplx_3 | w90_comms | Subroutine | Scatter complex data from root node (array of rank 3) |
| comms_no_sync_scatterv_cmplx_4 | w90_comms | Subroutine | Scatter complex data from root node (array of rank 4) |
| comms_no_sync_scatterv_int_1 | w90_comms | Subroutine | Scatter integer data from root node (array of rank 1) |
| comms_no_sync_scatterv_int_2 | w90_comms | Subroutine | Scatter integer data from root node (array of rank 2) |
| comms_no_sync_scatterv_int_3 | w90_comms | Subroutine | Scatter integer data from root node (array of rank 3) |
| comms_no_sync_scatterv_real_1 | w90_comms | Subroutine | Scatter real data from root node (array of rank 1) |
| comms_no_sync_scatterv_real_2 | w90_comms | Subroutine | Scatter real data from root node (array of rank 2) |
| comms_no_sync_scatterv_real_3 | w90_comms | Subroutine | Scatter real data from root node (array of rank 3) |
| comms_no_sync_send | w90_comms | Interface | |
| comms_no_sync_send_char | w90_comms | Subroutine | Send character array to specified node |
| comms_no_sync_send_cmplx | w90_comms | Subroutine | Send complex array to specified node |
| comms_no_sync_send_int | w90_comms | Subroutine | Send integer array to specified node |
| comms_no_sync_send_logical | w90_comms | Subroutine | Send logical array to specified node |
| comms_no_sync_send_real | w90_comms | Subroutine | Send real array to specified node |
| comms_reduce | w90_comms | Interface | |
| comms_reduce_cmplx | w90_comms | Subroutine | Reduce complex data to root node |
| comms_reduce_int | w90_comms | Subroutine | Reduce integer data to root node |
| comms_reduce_real | w90_comms | Subroutine | Reduce real data to root node |
| comms_scatterv | w90_comms | Interface | |
| comms_scatterv_cmplx_3 | w90_comms | Subroutine | Scatter complex data from root node (array of rank 3) |
| comms_scatterv_cmplx_4 | w90_comms | Subroutine | Scatter complex data from root node (array of rank 4) |
| comms_scatterv_int_1 | w90_comms | Subroutine | Scatter integer data from root node (array of rank 1) |
| comms_scatterv_int_2 | w90_comms | Subroutine | Scatter integer data from root node (array of rank 2) |
| comms_scatterv_int_3 | w90_comms | Subroutine | Scatter integer data from root node (array of rank 3) |
| comms_scatterv_real_1 | w90_comms | Subroutine | Scatter real data from root node (array of rank 1) |
| comms_scatterv_real_2 | w90_comms | Subroutine | Scatter real data from root node (array of rank 2) |
| comms_scatterv_real_3 | w90_comms | Subroutine | Scatter real data from root node (array of rank 3) |
| comms_sync_error | w90_comms | Subroutine | |
| conv_get_seedname | w90_conv_spn | Subroutine | Set the seedname from the command line |
| conv_get_seedname | w90_conv | Subroutine | Set the seedname from the command line |
| conv_read_chkpt | w90_conv | Subroutine | Read formatted checkpoint file |
| conv_read_chkpt_fmt | w90_conv | Subroutine | Read formatted checkpoint file |
| conv_read_spn | w90_conv_spn | Subroutine | Read unformatted spn file |
| conv_read_spn_fmt | w90_conv_spn | Subroutine | Read formatted spn file |
| conv_write_chkpt | w90_conv | Subroutine | Write formatted checkpoint file |
| conv_write_chkpt_fmt | w90_conv | Subroutine | Write formatted checkpoint file |
| conv_write_spn | w90_conv_spn | Subroutine | Write unformatted spn file |
| conv_write_spn_fmt | w90_conv_spn | Subroutine | Write formatted spn file |
| dis_extract | w90_disentangle_mod | Subroutine | Extracts an num_wann-dimensional subspace at each k by minimizing Omega_I |
| dis_extract_gamma | w90_disentangle_mod | Subroutine | Extracts an num_wann-dimensional subspace at each k by minimizing Omega_I (Gamma point version) |
| dis_main | w90_disentangle_mod | Subroutine | Main disentanglement routine |
| dis_otsu_thresholds | w90_disentangle_mod | Subroutine | Multi-class Otsu thresholding of a scalar distribution in
[ |
| dis_proj_froz | w90_disentangle_mod | Subroutine | COMPUTES THE LEADING EIGENVECTORS OF Q_froz . P_s . Q_froz, WHERE P_s PROJECTOR OPERATOR ONTO THE SUBSPACE S OF THE PROJECTED GAUSSIANS, P_f THE PROJECTOR ONTO THE FROZEN STATES, AND Q_froz = 1 - P_froz, ALL EXP IN THE BASIS OF THE BLOCH EIGENSTATES INSIDE THE OUTER ENERGY WINDOW (See Eq. (27) in Sec. III.G of SMV) |
| dis_project | w90_disentangle_mod | Subroutine | Construct projections for the start of the disentanglement routine |
| dis_windows | w90_disentangle_mod | Subroutine | This subroutine selects the states that are inside the outer window (ie, the energy window out of which we fish out the optimally-connected subspace) and those that are inside the inner window (that make up the frozen manifold, and are straightfowardly included as they are). This, in practice, amounts to slimming down the original num_wann x num_wann overlap matrices, removing rows and columns that belong to u_nks that have been excluded forever, and marking (indexing) the rows and columns that correspond to frozen states. |
| dis_windows_proj | w90_disentangle_mod | Subroutine | This subroutine selects the states for disentanglement and frozen based on projectability. States with projectability < dis_proj_min are discarded, states with projectability >= dis_proj_min are included in the disentanglement, states with projectability |
| dos_get_k | w90_dos | Subroutine | This subroutine calculates the contribution to the DOS of a single k point |
| dos_get_levelspacing | w90_dos | Subroutine | This subroutine calculates the level spacing, i.e. how much the level changes near a given point of the interpolation mesh |
| dos_main | w90_dos | Subroutine | Computes the electronic density of states. Can resolve into up-spin and down-spin parts, project onto selected Wannier orbitals, and use adaptive broadening, as in PRB 75, 195121 (2007) [YWVS07]. |
| expand_settings | w90_readwrite | Subroutine | |
| fourier_loc_q_to_R | w90_get_oper | Subroutine | Fourier transforms Wannier-gauge representation of a given operator O from q-space to R-space: |
| fourier_q_to_R | w90_get_oper | Subroutine | Fourier transforms Wannier-gauge representation of a given operator O from q-space to R-space: |
| gauss_freq | w90_utility | Function | gauss_freq(x) = (1+erf(x/sqrt(2)))/2 = erfc(-x/sqrt(2))/2 - See comments in erf |
| geninterp_main | w90_geninterp | Subroutine | This routine prints the band energies (and possibly the band derivatives) |
| get_AA_R | w90_get_oper | Subroutine | AA_a(R) = <0|r_a|R> is the Fourier transform of the Berrry connection AA_a(k) = i (a=x,y,z) |
| get_AA_R_effective | w90_get_oper | Subroutine | AA_a(R) = <0|r_a|R> is the Fourier transform of the Berrry connection AA_a(k) = i (a=x,y,z) |
| get_BB_R | w90_get_oper | Subroutine | BB_a(R)=<0n|H(r-R)|Rm> is the Fourier transform of BB_a(k) = i (a=x,y,z) |
| get_CC_R | w90_get_oper | Subroutine | CC_ab(R) = <0|r_a.H.(r-R)_b|R> is the Fourier transform of
CC_ab(k) = |
| get_centre_constraint_from_column | w90_readwrite | Subroutine | assigns value read to constraint parameters based on column |
| get_FF_R | w90_get_oper | Subroutine | FF_ab(R) = <0|r_a.(r-R)_b|R> is the Fourier transform of
FF_ab(k) = |
| get_gauge_overlap_matrix | w90_get_oper | Subroutine | |
| get_HH_R | w90_get_oper | Subroutine | computes <0n|H|Rm>, in eV (pwscf uses Ry, but pw2wannier90 converts to eV) |
| get_module_kmesh | w90_postw90_readwrite | Subroutine | This function reads and sets the interpolation mesh variables needed by a given module |
| get_SAA_R | w90_get_oper | Subroutine | |
| get_SBB_R | w90_get_oper | Subroutine | |
| get_SH_R | w90_get_oper | Subroutine | Compute several matrices for spin Hall conductivity SH_R = <0n|sigma_{x,y,z}.H|Rm> |
| get_SHC_R | w90_get_oper | Subroutine | Compute several matrices for spin Hall conductivity SR_R = <0n|sigma_{x,y,z}.(r-R)alpha|Rm> SHR_R = <0n|sigma.H.(r-R)alpha|Rm> SH_R = <0n|sigma.H|Rm> |
| get_SS_R | w90_get_oper | Subroutine | Wannier representation of the Pauli matrices: <0n|sigma_a|Rm> (a=x,y,z) |
| get_win_min | w90_get_oper | Subroutine | Find the lower bound (band index) of the outer energy window at the specified k-point |
| group | w90_transport_mod | Subroutine | |
| gyrotropic_get_curv_w_k | w90_gyrotropic | Subroutine | |
| gyrotropic_get_k_list | w90_gyrotropic | Subroutine | |
| gyrotropic_get_NOA_Bnl_orb | w90_gyrotropic | Subroutine | |
| gyrotropic_get_NOA_Bnl_spin | w90_gyrotropic | Subroutine | |
| gyrotropic_get_NOA_k | w90_gyrotropic | Subroutine | |
| gyrotropic_main | w90_gyrotropic | Subroutine | Computes the following quantities: (i) D tensor (ii) K tensor (iii) C tensor (iv) current-induced optical activity (v) natural optical activity |
| gyrotropic_outprint_tensor | w90_gyrotropic | Subroutine | |
| gyrotropic_outprint_tensor_w | w90_gyrotropic | Subroutine | |
| hamiltonian_dealloc | w90_hamiltonian | Subroutine | Deallocate module data |
| hamiltonian_get_hr | w90_hamiltonian | Subroutine | Calculate the Hamiltonian in the WF basis |
| hamiltonian_setup | w90_hamiltonian | Subroutine | Allocate arrays and setup data |
| hamiltonian_wigner_seitz | w90_hamiltonian | Subroutine | Calculates a grid of points that fall inside of (and eventually on the surface of) the Wigner-Seitz supercell centered on the origin of the B lattice with primitive translations nmonkh(1)a_1+nmonkh(2)a_2+nmonkh(3)*a_3 |
| hamiltonian_write_hr | w90_hamiltonian | Subroutine | Write the Hamiltonian in the WF basis |
| hamiltonian_write_tb | w90_hamiltonian | Subroutine | Write in a single file all the information that is needed to set up a Wannier-based tight-binding model: * lattice vectors * <0n|H|Rn> * <0n|r|Rn> |
| init_settings | w90_readwrite | Subroutine | |
| input_reader_special | w90_library_extra | Subroutine | Read key variables from main input (.win) file; of use by wannier90.x only |
| internal_check_orthonorm | w90_disentangle_mod | Subroutine | This subroutine checks that the states in the columns of the final matrix U_opt are orthonormal at every k-point, i.e., that the matrix is unitary in the sense that conjg(U_opt).U_opt = 1 (but not U_opt.conjg(U_opt) = 1). |
| internal_find_u | w90_disentangle_mod | Subroutine | This subroutine finds the initial guess for the square unitary rotation matrix u_matrix. The method is similar to Sec. III.D of SMV, but with square instead of rectangular matrices: |
| internal_find_u_gamma | w90_disentangle_mod | Subroutine | Make initial u_matrix real Must be the case when gamma_only = .true. |
| internal_maxloc | w90_kmesh | Function | A reproducible maxloc function so b-vectors come in the same order each time |
| internal_slim_m | w90_disentangle_mod | Subroutine | This subroutine slims down the original Mmn(k,b), removing rows and columns corresponding to u_nks that fall outside the outer energy window. |
| internal_test_convergence | w90_wannierise_mod | Subroutine | Determine whether minimisation of non-gauge invariant spread is converged |
| internal_test_convergence | w90_disentangle_mod | Subroutine | Check if we have converged |
| internal_write_header | w90_geninterp | Subroutine | Writes a header for the output file(s). |
| internal_zmatrix | w90_disentangle_mod | Subroutine | Compute the Z-matrix |
| internal_zmatrix_gamma | w90_disentangle_mod | Subroutine | Compute Z-matrix (Gamma point routine) |
| io_commandline | w90_io | Subroutine | Parse the commandline |
| io_date | w90_io | Subroutine | Returns two strings containing the date and the time in human-readable format. Uses a standard f90 call. |
| io_error | w90_conv_spn | Subroutine | Abort the code giving an error message |
| io_error | w90_conv | Subroutine | Abort the code giving an error message |
| io_print_timings | w90_io | Subroutine | Output timing information to stdout |
| io_stopwatch_start | w90_io | Subroutine | Stopwatch to time parts of the code |
| io_stopwatch_stop | w90_io | Subroutine | Stopwatch to time parts of the code |
| io_time | w90_io | Function | Returns elapsed CPU time in seconds since its first call. Uses standard f90 call |
| io_wallclocktime | w90_io | Function | |
| k_path | w90_kpath | Subroutine | Main routine |
| k_path_get_points | w90_kpath | Subroutine | |
| k_path_print_info | w90_kpath | Subroutine | |
| k_slice | w90_kslice | Subroutine | Main routine |
| kmesh_bvectors_perm | w90_kmesh | Subroutine | Obtain possible permutation in ordering of b-vectors at different kpoints |
| kmesh_check_condition | w90_kmesh | Subroutine | Check if the obtained bweight satisfy the conditions for finite-difference, including (B1). |
| kmesh_dealloc | w90_kmesh | Subroutine | Release memory from the kmesh module |
| kmesh_get | w90_kmesh | Subroutine | Main routine to calculate the b-vectors |
| kmesh_get_amat | w90_kmesh | Subroutine | Find amat(coefficients to find bweight) and the numbers of x, y, z components for a given order |
| kmesh_get_bvectors | w90_kmesh | Subroutine | Returns the b-vectors for a given shell and kpoint. |
| kmesh_shell_automatic | w90_kmesh | Subroutine | Find the correct set of shells to satisfy B1 The stratagy is: 1) Take the bvectors from the next shell 2) Reject them if they are parallel to exisiting b vectors 3) Test to see if we satisfy B1, if not add another shell and repeat |
| kmesh_shell_fixed | w90_kmesh | Subroutine | Find the B1 weights for a set of shells specified by the user |
| kmesh_shell_from_file | w90_kmesh | Subroutine | Find the B1 weights for a set of b-vectors given in a file. This routine is activated via kmesh_shell_from_file = T It is not intended for regular use. |
| kmesh_shell_reconstruct | w90_kmesh | Subroutine | Include more shells to calculate higher-order finite difference: 2b, 3b, ... Nb shells Note: some shells are overwritten |
| kmesh_spacing_mesh | w90_postw90_common | Function | Same as kmesh_spacing_singleinteger, but for a kmesh with three different mesh samplings along the three directions |
| kmesh_spacing_singleinteger | w90_postw90_common | Function | Set up the value of the interpolation mesh spacing, needed for adaptive smearing [see Eqs. (34-35) YWVS07]. Choose it as the largest of the three Delta_k's for each of the primitive translations b1, b2, and b3 |
| kmesh_supercell_sort | w90_kmesh | Subroutine | We look for kpoint neighbours in a large supercell of reciprocal unit cells. Done sequentially this is very slow. Here we order the cells by the distance from the origin. Doing the search in this order gives a dramatic speed up |
| kmesh_write | w90_kmesh | Subroutine | Writes nnkp file (list of overlaps needed) |
| kslice_print_info | w90_kslice | Subroutine | |
| master_sort_and_group | w90_transport_mod | Subroutine | |
| MinusFermiDerivative | w90_boltzwann | Function | |
| mpirank | w90_comms | Function | |
| mpisize | w90_comms | Function | |
| operator_wigner_setup | w90_get_oper | Subroutine | |
| orthogonalize_u | w90_sitesym | Subroutine | |
| overlap_allocate | w90_overlap | Subroutine | Allocate memory to read Mmn and Amn from files This must be called before calling overlap_read |
| overlap_dealloc | w90_overlap | Subroutine | Dellocate memory |
| overlap_project | w90_overlap | Subroutine | Construct initial guess from the projection via a Lowdin transformation See section 3 of the CPC 2008 Note that in this subroutine num_wann = num_bands since, if we are here, then disentanglement = FALSE |
| overlap_project_gamma | w90_overlap | Subroutine | Construct initial guess from the projection via a Lowdin transformation See section 3 of the CPC 2008 Note that in this subroutine num_wann = num_bands since, if we are here, then disentanglement = FALSE Gamma specific version |
| overlap_read | w90_overlap | Subroutine | Read the Mmn and Amn from files Note: one needs to call overlap_allocate first! |
| overlap_rotate | w90_overlap | Subroutine | Only used when interfaced to the CP code Not sure why this is done here and not in CP |
| overlap_write | w90_overlap | Subroutine | Write the Mmn and Amn from files |
| overlaps | w90_library_extra | Subroutine | |
| parameters_gyro_write_task | w90_postw90_readwrite | Subroutine | |
| plot_bvec | w90_plot_mod | Subroutine | June 2018: RM and SP Write to file the matrix elements of bvector and their weights This is used by EPW to compute the velocity. You need "write_bvec = .true." in your wannier input |
| plot_calc_projection | w90_plot_mod | Subroutine | |
| plot_fermi_surface | w90_plot_mod | Subroutine | Prepares a Xcrysden bxsf file to view the fermi surface |
| plot_interpolate_bands | w90_plot_mod | Subroutine | Plots the interpolated band structure |
| plot_main | w90_plot_mod | Subroutine | Main plotting routine |
| plot_read_unk | w90_plot_mod | Subroutine | Read a single UNK file into |
| plot_svd_omega_i | w90_plot_mod | Subroutine | |
| plot_u_matrices | w90_plot_mod | Subroutine | Plot u_matrix and u_matrix_opt to textfiles in readable format |
| plot_wannier | w90_plot_mod | Subroutine | Plot the WF in Xcrysden format based on code written by Michel Posternak |
| plot_write_r2mn | w90_plot_mod | Subroutine | |
| plot_write_rmn | w90_plot_mod | Subroutine | Write out the matrix elements of r |
| plot_write_vdw_data | w90_plot_mod | Subroutine | |
| plot_write_xyz | w90_plot_mod | Subroutine | |
| print_error_halt | w90_io | Subroutine | |
| print_times | w90_library_extra | Subroutine | |
| print_usage | w90_conv_spn | Subroutine | Writes the usage of the program to stdout |
| print_usage | w90_conv | Subroutine | |
| prterr | w90_io | Subroutine | |
| pw90common_fourier_R_to_k | w90_postw90_common | Subroutine | For alpha=0: O_ij(R) --> O_ij(k) = sum_R e^{+ik.R}*O_ij(R) |
| pw90common_fourier_R_to_k_new | w90_postw90_common | Subroutine | For OO: For : where R_{x,y,z} are the Cartesian components of R |
| pw90common_fourier_R_to_k_new_second_d | w90_postw90_common | Subroutine | For OO: For : where R_{x,y,z} are the Cartesian components of R For : where R_{xi,yi,zi} are the Cartesian components of R |
| pw90common_fourier_R_to_k_new_second_d_TB_conv | w90_postw90_common | Subroutine | For OO: For : where R_{x,y,z} are the Cartesian components of R For : where {xi,yi,zi} denote the Cartesian components and |
| pw90common_fourier_R_to_k_vec | w90_postw90_common | Subroutine | For OO_true (true vector): |
| pw90common_fourier_R_to_k_vec_dadb | w90_postw90_common | Subroutine | For : For : |
| pw90common_fourier_R_to_k_vec_dadb_TB_conv | w90_postw90_common | Subroutine | For : For : |
| pw90common_get_occ | w90_postw90_common | Subroutine | Compute the electronic occupancy |
| pw90common_kmesh_spacing | w90_postw90_common | Interface | |
| pw90common_wanint_data_dist | w90_postw90_common | Subroutine | Distribute the um and chk files |
| pw90common_wanint_get_kpoint_file | w90_postw90_common | Subroutine | read kpoints from kpoint.dat and distribute |
| pw90common_wanint_setup | w90_postw90_common | Subroutine | Setup data ready for interpolation |
| pw90common_wanint_w90_wannier90_readwrite_dist | w90_postw90_common | Subroutine | distribute the parameters across processors NOTE: we only send the ones postw90 uses, not all in w90 |
| qe_erf | w90_utility | Function | Error function - computed from the rational approximations of W. J. Cody, Math. Comp. 22 (1969), pages 631-637. |
| qe_erfc | w90_utility | Function | erfc(x) = 1-erf(x) - See comments in erf |
| R_wz_sc | w90_ws_distance | Subroutine | Put R_in in the Wigner-Seitz cell centered around R0, and find all equivalent vectors to this (i.e., with same distance). Return their coordinates and the degeneracy, as well as the integer shifts needed to get the vector (these are always multiples of the mp_grid, i.e. they are supercell displacements in the large supercell) |
| read_chkpt | w90_library_extra | Subroutine | |
| read_eigvals | w90_library_extra | Subroutine | |
| readwrite_get_atoms | w90_readwrite | Subroutine | Fills the atom data block |
| recv_error | w90_error_base | Subroutine | |
| script_common | w90_kslice | Subroutine | |
| script_fermi_lines | w90_kslice | Subroutine | |
| set_base_error | w90_error_base | Subroutine | |
| set_error_alloc | w90_error | Subroutine | |
| set_error_dealloc | w90_error | Subroutine | |
| set_error_fatal | w90_error | Subroutine | |
| set_error_file | w90_error | Subroutine | |
| set_error_input | w90_error | Subroutine | |
| set_error_mpi | w90_error | Subroutine | |
| set_error_unconv | w90_error | Subroutine | |
| set_error_warn | w90_error | Subroutine | |
| set_kpoint_distribution | w90_library_extra | Subroutine | |
| setup_m_loc | w90_disentangle_mod | Subroutine | |
| sitesym_dealloc | w90_sitesym | Subroutine | |
| sitesym_dis_extract_symmetry | w90_sitesym | Subroutine | |
| sitesym_read | w90_sitesym | Subroutine | |
| sitesym_replace_d_matrix_band | w90_sitesym | Subroutine | |
| sitesym_slim_d_matrix_band | w90_sitesym | Subroutine | |
| sitesym_symmetrize_gradient | w90_sitesym | Subroutine | |
| sitesym_symmetrize_rotation | w90_sitesym | Subroutine | |
| sitesym_symmetrize_u_matrix | w90_sitesym | Subroutine | |
| sitesym_symmetrize_zmatrix | w90_sitesym | Subroutine | |
| sort | w90_transport_mod | Subroutine | |
| spin_get_moment | w90_spin | Subroutine | Computes the spin magnetic moment by Wannier interpolation |
| spin_get_moment_k | w90_spin | Subroutine | Computes the spin magnetic moment by Wannier interpolation at the specified k-point |
| spin_get_nk | w90_spin | Subroutine | Computes |
| spin_get_S | w90_spin | Subroutine | |
| symmetrize_ukirr | w90_sitesym | Subroutine | |
| TDF_kpt | w90_boltzwann | Subroutine | This subroutine calculates the contribution to the TDF of a single k point |
| tetrahedron_array_init | w90_tetrahedron | Subroutine | |
| tetrahedron_array_small_init | w90_tetrahedron | Subroutine | |
| tetrahedron_fermidirac | w90_tetrahedron | Function | |
| tetrahedron_integral | w90_tetrahedron | Function | triangle 1 |
| tetrahedron_jacobian | w90_tetrahedron | Function | |
| tetrahedron_log1p | w90_tetrahedron | Function | |
| tetrahedron_P_matrix_init | w90_tetrahedron | Subroutine | |
| tetrahedron_sort | w90_tetrahedron | Subroutine | |
| tetrahedron_spinhall | w90_tetrahedron | Function | |
| tran_bulk | w90_transport_mod | Subroutine | |
| tran_cut_hr_one_dim | w90_transport_mod | Subroutine | |
| tran_find_integral_signatures | w90_transport_mod | Subroutine | |
| tran_get_ht | w90_transport_mod | Subroutine | Construct h00 and h01 |
| tran_green | w90_transport_mod | Subroutine | |
| tran_lcr | w90_transport_mod | Subroutine | |
| tran_lcr_2c2_build_ham | w90_transport_mod | Subroutine | |
| tran_lcr_2c2_sort | w90_transport_mod | Subroutine | |
| tran_main | w90_transport_mod | Subroutine | Main transport subroutine |
| tran_parity_enforce | w90_transport_mod | Subroutine | |
| tran_read_htC | w90_transport_mod | Subroutine | |
| tran_read_htX | w90_transport_mod | Subroutine | |
| tran_read_htXY | w90_transport_mod | Subroutine | |
| tran_reduce_hr | w90_transport_mod | Subroutine | |
| tran_transfer | w90_transport_mod | Subroutine | |
| tran_write_xyz | w90_transport_mod | Subroutine | |
| untrapped_error | w90_error_base | Subroutine | |
| utility_cart_to_frac | w90_utility | Subroutine | Convert from Cartesian to fractional coordinates |
| utility_commutator_diag | w90_utility | Function | Computes diagonal elements of [mat1,mat2]=mat1.mat2-mat2.mat1 |
| utility_compar | w90_utility | Subroutine | Compares two vectors |
| utility_det3 | w90_utility | Function | |
| utility_diagonalize | w90_utility | Subroutine | Diagonalize the dim x dim hermitian matrix 'mat' and return the eigenvalues 'eig' and the unitary rotation 'rot' |
| utility_frac_to_cart | w90_utility | Subroutine | Convert from fractional to Cartesian coordinates |
| utility_im_tr | w90_utility | Function | Imaginary part of the trace |
| utility_im_tr_prod | w90_utility | Function | |
| utility_inv2 | w90_utility | Subroutine | Return in b the adjoint of the 2x2 matrix a, together with the determinant of a. The inverse is defined as the adjoind divided by the determinant, so that inverse(a) = b/det |
| utility_inv3 | w90_utility | Subroutine | Return in b the adjoint of the 3x3 matrix a, and its determinant. The inverse is defined as the adjoint divided by the determinant, so that inverse(a) = b/det |
| utility_inverse_mat | w90_utility | Subroutine | Return in b int inverse of a. Uses utility_inv3 |
| utility_lowercase | w90_utility | Function | Takes a string and converts to lowercase characters |
| utility_matmul_diag | w90_utility | Function | Computes the diagonal elements of the matrix mat1.mat2 |
| utility_metric | w90_utility | Subroutine | Calculate the metric for a lattice |
| utility_re_tr | w90_utility | Function | Real part of the trace |
| utility_re_tr_prod | w90_utility | Function | |
| utility_recip_lattice | w90_utility | Subroutine | Calculates the reciprical lattice vectors and the cell volume Includes a check that the volume isn't almost 0 Use the first time the lattice is read to check its sensible |
| utility_recip_lattice_base | w90_utility | Subroutine | Calculates the reciprical lattice vectors and the cell volume |
| utility_rotate | w90_utility | Function | Rotates the dim x dim matrix 'mat' according to (rot)^dagger.mat.rot, where 'rot' is a unitary matrix |
| utility_rotate_diag | w90_utility | Function | Rotates the dim x dim matrix 'mat' according to (rot)^dagger.mat.rot, where 'rot' is a unitary matrix. Computes only the diagonal elements of rotated matrix. |
| utility_rotate_new | w90_utility | Subroutine | |
| utility_string_to_coord | w90_utility | Subroutine | Takes a string in the form 0.0,1.0,0.5 and returns an array of the real num |
| utility_strip | w90_utility | Function | Strips string of all blank spaces |
| utility_translate_home | w90_utility | Subroutine | Translate a vector to the home unit cell |
| utility_w0gauss | w90_utility | Function | the derivative of utility_wgauss: an approximation to the delta function |
| utility_w0gauss_vec | w90_utility | Function | the derivative of utility_wgauss: an approximation to the delta function |
| utility_wgauss | w90_utility | Function | this function computes the approximate theta function for the given order n, at the point x. |
| utility_zdotu | w90_utility | Function | |
| utility_zgemm | w90_utility | Subroutine | Return matrix product of complex n x n matrices a and b: |
| utility_zgemm_new | w90_utility | Subroutine | |
| utility_zgemmm | w90_utility | Subroutine | |
| valid_communicator | w90_comms | Function | |
| w90_create | w90_library_c | Subroutine | return a c-pointer to a instance of the wannier90 library data structure |
| w90_create_kmesh | w90_library | Subroutine | causes w90 to calculate finite difference neighbour lists |
| w90_delete | w90_library_c | Subroutine | deallocates/clears a c-pointer to a instance of the wannier90 library data structure |
| w90_disentangle | w90_library_c | Subroutine | |
| w90_disentangle | w90_library | Subroutine | perform disentanglement; assumes library data object is already setup after w90_input_setopt() call no effect if number of bands == number of WF |
| w90_distribute_kpts | w90_library | Subroutine | provide a distribution of num_kpts k-points across mpi_size MPI ranks |
| w90_free | w90_library | Subroutine | |
| w90_get_centres | w90_library_c | Subroutine | |
| w90_get_centres | w90_library | Subroutine | probes w90 library for (current) wannier centres |
| w90_get_excl_bands | w90_library_c | Subroutine | |
| w90_get_excl_bands | w90_library | Subroutine | |
| w90_get_fortran_file | w90_library | Subroutine | open a (formatted) file and return the corresponding fortran unit number |
| w90_get_fortran_stderr | w90_library | Subroutine | fortran unit number for stderr |
| w90_get_fortran_stdout | w90_library | Subroutine | fortran unit number for stdout |
| w90_get_gkpb | w90_library_c | Subroutine | |
| w90_get_gkpb | w90_library | Subroutine | probe w90 library for the triple of reciprocal lattice translations determining phase in k'= k+b setup k-mesh (b vectors) if not already done (sets setup_complete) |
| w90_get_nk | w90_library_c | Subroutine | |
| w90_get_nn | w90_library_c | Subroutine | |
| w90_get_nn | w90_library | Subroutine | probe w90 library for number of finite difference k-point neighbours setup k-mesh (b vectors) if not already done (sets setup_complete) |
| w90_get_nnkp | w90_library_c | Subroutine | |
| w90_get_nnkp | w90_library | Subroutine | probe w90 library for finite difference k-point neighbour indices setup k-mesh (b vectors) if not already done (sets setup_complete) |
| w90_get_nproj | w90_library_c | Subroutine | |
| w90_get_num_excl_bands | w90_library_c | Subroutine | |
| w90_get_num_excl_bands | w90_library | Subroutine | |
| w90_get_nw | w90_library_c | Subroutine | |
| w90_get_proj | w90_library_c | Subroutine | |
| w90_get_proj | w90_library | Subroutine | probes library data object and returns arrays describing a list of projections projectors defined either in .win file or passed (using same syntax) through w90_setopt array arguments assumed allocated at call array arguments must have length >= number of projectors (checked here) |
| w90_get_spreads | w90_library_c | Subroutine | |
| w90_get_spreads | w90_library | Subroutine | probes w90 library for (current) wannier spreads |
| w90_input_reader | w90_library_c | Subroutine | |
| w90_input_reader | w90_library | Subroutine | mechanism to act upon tokens read from the input ".win" file input is parsed and interpreted (any errors are identified) and the library data structure (variable common_data), already setup by w90_input_setopt, is modified |
| w90_input_setopt | w90_library | Subroutine | mechanism to act upon options supplied to the library input is parsed and interpreted (any errors are identified) and the library data structure (variable common_data) is populated ready for use |
| w90_input_setopt_f | w90_library_c | Subroutine | |
| w90_plot | w90_library | Subroutine | performs a variety of plotting functions |
| w90_postw90_readwrite_dealloc | w90_postw90_readwrite | Subroutine | |
| w90_postw90_readwrite_mem_estimate | w90_postw90_readwrite | Subroutine | |
| w90_postw90_readwrite_read | w90_postw90_readwrite | Subroutine | Read parameters and calculate derived values |
| w90_postw90_readwrite_readall | w90_postw90_readwrite | Subroutine | Read parameters and calculate derived values |
| w90_postw90_readwrite_write | w90_postw90_readwrite | Subroutine | write postw90 parameters to stdout |
| w90_print_info | w90_library_c | Subroutine | |
| w90_print_info | w90_library | Subroutine | |
| w90_print_timings | w90_library | Subroutine | |
| w90_project_overlap | w90_library_c | Subroutine | |
| w90_project_overlap | w90_library | Subroutine | |
| w90_readwrite_chkpt_dist | w90_readwrite | Subroutine | Distribute the chk files |
| w90_readwrite_clean_infile | w90_readwrite | Subroutine | |
| w90_readwrite_clear_keywords | w90_readwrite | Subroutine | |
| w90_readwrite_dealloc | w90_readwrite | Subroutine | release memory from allocated parameters |
| w90_readwrite_get_block_length | w90_readwrite | Subroutine | Finds the length of the data block |
| w90_readwrite_get_centre_constraints | w90_readwrite | Subroutine | assigns projection centres as default centre constraints and global Lagrange multiplier as individual Lagrange multipliers then reads the centre_constraints block for individual centre constraint parameters |
| w90_readwrite_get_convention_type | w90_readwrite | Function | This function returns a string describing the convention associated to a sc_phase_conv integer value. |
| w90_readwrite_get_keyword | w90_readwrite | Subroutine | Finds the value of the required keyword. |
| w90_readwrite_get_keyword_block | w90_readwrite | Subroutine | Finds the values of the required data block |
| w90_readwrite_get_keyword_explicit_kpath | w90_readwrite | Subroutine | Fills the explicit_kpath_labels data block |
| w90_readwrite_get_keyword_kpath | w90_readwrite | Subroutine | Fills the kpath data block |
| w90_readwrite_get_keyword_vector | w90_readwrite | Subroutine | Finds the values of the required keyword vector |
| w90_readwrite_get_projections | w90_readwrite | Subroutine | Fills the projection data block |
| w90_readwrite_get_range_vector | w90_readwrite | Subroutine | Read a range vector eg. 1,2,3,4-10 or 1 3 400:100 if(lcount) we return the number of states in length |
| w90_readwrite_get_smearing_index | w90_readwrite | Function | This function parses a string containing the type of smearing and returns the correct index for the smearing_index variable |
| w90_readwrite_get_smearing_type | w90_readwrite | Function | This function returns a string describing the type of smearing associated to a given smr_index integer value. |
| w90_readwrite_get_vector_length | w90_readwrite | Subroutine | Returns the length of a keyword vector |
| w90_readwrite_in_file | w90_readwrite | Subroutine | Load the *.win file into a character array in_file, ignoring comments and blank lines and converting everything to lowercase characters |
| w90_readwrite_read_algorithm_control | w90_readwrite | Subroutine | reads the "optimisation" flag |
| w90_readwrite_read_atoms | w90_readwrite | Subroutine | |
| w90_readwrite_read_chkpt | w90_readwrite | Subroutine | Read checkpoint file This is used to allocate the matrices. |
| w90_readwrite_read_chkpt_header | w90_readwrite | Subroutine | Read checkpoint file IMPORTANT! If you change the chkpt format, adapt accordingly also the w90chk2chk.x utility! |
| w90_readwrite_read_chkpt_matrices | w90_readwrite | Subroutine | Read checkpoint file IMPORTANT! If you change the chkpt format, adapt accordingly also the w90chk2chk.x utility! |
| w90_readwrite_read_dis_manifold | w90_readwrite | Subroutine | Reads disentanglement windows "dis_win_min" and "dis_win_max" (both are optional) Reads frozen window "dis_froz_min" and "dis_froz_max" (either neither or both to be supplied) |
| w90_readwrite_read_distk | w90_readwrite | Subroutine | Read MPI distribution of k-points The array to be read must have num_kpt entries, with each entry being the MPI rank to which each k-point is assigned |
| w90_readwrite_read_eigvals | w90_readwrite | Subroutine | Read the eigenvalues from wannier.eig |
| w90_readwrite_read_exclude_bands | w90_readwrite | Subroutine | Read (and allocate) excluded_bands list "exclude_bands" |
| w90_readwrite_read_explicit_kpath | w90_readwrite | Subroutine | |
| w90_readwrite_read_explicit_kpath_points | w90_readwrite | Subroutine | |
| w90_readwrite_read_fermi_energy | w90_readwrite | Subroutine | Read Fermi energy ("fermi_energy") and/or ranges ("fermi_energy_min", "fermi_energy_max" and "fermi_energy_step") used to setup fermi_energy_list tabulation _max and _step are only sought if _min found and are optional |
| w90_readwrite_read_final_alloc | w90_readwrite | Subroutine | |
| w90_readwrite_read_gamma_only | w90_readwrite | Subroutine | Reads the flag for Gamma-only mode ("gamma_only") |
| w90_readwrite_read_kmesh_data | w90_readwrite | Subroutine | Reads finite-difference input variables: "search_shells" "kmesh_tol" "shell_list" "num_shells" "skip_B1_tests" |
| w90_readwrite_read_kpath | w90_readwrite | Subroutine | Read band plotting path variables: "kpoint_path" and "bands_num_points" |
| w90_readwrite_read_kpoints | w90_readwrite | Subroutine | |
| w90_readwrite_read_lattice | w90_readwrite | Subroutine | |
| w90_readwrite_read_mp_grid | w90_readwrite | Subroutine | Read the mandatory k-point mesh input ("mp_grid") |
| w90_readwrite_read_num_bands | w90_readwrite | Subroutine | Read the number of bands ("num_bands") If not specified (and exclude_bands and total_bands are not both provided), defaults to num_wann |
| w90_readwrite_read_num_wann | w90_readwrite | Subroutine | reads the number of wannier functions "num_wann" (mandatory input) |
| w90_readwrite_read_system | w90_readwrite | Subroutine | Read a group of variables defining the system "spinors" -- coupled spins "num_elec_per_state" -- spin degeneracy "num_valence_bands" |
| w90_readwrite_read_total_bands | w90_readwrite | Subroutine | read the "total_bands" variable this is a convenience for combination with an "exclude_bands" to evaluate num_bands |
| w90_readwrite_read_units | w90_readwrite | Subroutine | reads the "energy_unit" and "length_unit" (valid: "ang" or "bohr") variables |
| w90_readwrite_read_verbosity | w90_readwrite | Subroutine | read verbosity "iprint" and timing "timing_level" variables if iprint>2 svd_omega printing is enabled printing is supressed on all non-root MPI ranks |
| w90_readwrite_read_ws_data | w90_readwrite | Subroutine | Reads "use_ws_distance", "ws_distance_tol", "ws_search_size" |
| w90_readwrite_set_atoms | w90_readwrite | Subroutine | Fills the atom data block during a library call |
| w90_readwrite_set_kmesh | w90_readwrite | Subroutine | This routines returns the three integers that define the interpolation k-mesh, satisfying the condition that the spacing between two neighboring points along each of the three k_x, k_y and k_z directions is at smaller than a given spacing. |
| w90_readwrite_write_header | w90_readwrite | Subroutine | Write a suitable header for the calculation - version authors etc |
| w90_readwrite_write_win | w90_readwrite | Subroutine | |
| w90_set_comm | w90_library | Subroutine | |
| w90_set_constant_bohr_to_ang | w90_library | Subroutine | used to set the bohr_to_angstrom value as used in the SCF code |
| w90_set_eigval | w90_library_c | Subroutine | |
| w90_set_eigval | w90_library | Subroutine | |
| w90_set_m_local | w90_library_c | Subroutine | |
| w90_set_m_local | w90_library | Subroutine | |
| w90_set_option | w90_library | Interface | |
| w90_set_option_c2d | w90_library | Subroutine | |
| w90_set_option_double1d_f | w90_library_c | Subroutine | |
| w90_set_option_double2d_f | w90_library_c | Subroutine | |
| w90_set_option_double_f | w90_library_c | Subroutine | |
| w90_set_option_i1d | w90_library | Subroutine | |
| w90_set_option_i2d | w90_library | Subroutine | |
| w90_set_option_int | w90_library | Subroutine | |
| w90_set_option_int1d_f | w90_library_c | Subroutine | |
| w90_set_option_int2d_f | w90_library_c | Subroutine | |
| w90_set_option_int_f | w90_library_c | Subroutine | |
| w90_set_option_logical | w90_library | Subroutine | |
| w90_set_option_logical_f | w90_library_c | Subroutine | |
| w90_set_option_r1d | w90_library | Subroutine | |
| w90_set_option_r2d | w90_library | Subroutine | |
| w90_set_option_real | w90_library | Subroutine | |
| w90_set_option_text | w90_library | Subroutine | |
| w90_set_option_text2d_f | w90_library_c | Subroutine | |
| w90_set_option_text_f | w90_library_c | Subroutine | |
| w90_set_u_matrix | w90_library_c | Subroutine | |
| w90_set_u_matrix | w90_library | Subroutine | |
| w90_set_u_opt | w90_library_c | Subroutine | |
| w90_set_u_opt | w90_library | Subroutine | |
| w90_transport | w90_library | Subroutine | performs a variety of transport calculations |
| w90_wannier90_readwrite_memory_estimate | w90_wannier90_readwrite | Subroutine | Estimate how much memory we will allocate |
| w90_wannier90_readwrite_read | w90_wannier90_readwrite | Subroutine | Read parameters and calculate derived values |
| w90_wannier90_readwrite_read_band_plot | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_berry | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_bloch_phase | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_boltzwann | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_constrained_centres | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_disentangle | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_dist_cutoff | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_dos | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_effective_model | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_energy_range | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_explicit_kpts | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_fermi_surface | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_geninterp | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_global_kmesh | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_gyrotropic | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_hamil | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_kslice | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_local_kmesh | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_one_dim | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_oper | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_outfiles | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_plot_info | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_post_proc | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_projections | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_pw90_calcs | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_pw90_kpath | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_pw90ham | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_pw90spin | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_restart | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_scissors_shift | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_smearing | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_special | w90_wannier90_readwrite | Subroutine | Read parameters and calculate derived values |
| w90_wannier90_readwrite_read_spin_hall | w90_postw90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_sym | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_transport | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_w90_calcs | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_wann_plot | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_read_wannierise | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_w90_dealloc | w90_wannier90_readwrite | Subroutine | |
| w90_wannier90_readwrite_write | w90_wannier90_readwrite | Subroutine | write wannier90 parameters to stdout |
| w90_wannier90_readwrite_write_chkpt | w90_wannier90_readwrite | Subroutine | Write checkpoint file IMPORTANT! If you change the chkpt format, adapt accordingly also the w90chk2chk.x utility! note that this routine writes the full u_matrix and the m_matrix --remember to gather them from u_matrix_loc and m_matrix_loc first! (nothing here is parallel) |
| w90_wannierise | w90_library_c | Subroutine | |
| w90_wannierise | w90_library | Subroutine | |
| wann_check_unitarity | w90_wannierise_mod | Subroutine | |
| wann_domega | w90_wannierise_mod | Subroutine | |
| wann_main | w90_wannierise_mod | Subroutine | Calculate the Unitary Rotations to give Maximally Localised Wannier Functions |
| wann_main_gamma | w90_wannierise_mod | Subroutine | |
| wann_omega | w90_wannierise_mod | Subroutine | Calculate the Wannier Function spread |
| wann_omega_gamma | w90_wannierise_mod | Subroutine | |
| wann_phases | w90_wannierise_mod | Subroutine | Uses guiding centres to pick phases which give a consistent choice of branch cut for the spread definition |
| wann_spread_copy | w90_wannierise_mod | Subroutine | |
| wham_get_D_h | w90_wan_ham | Subroutine | Compute D^H_a=UU^dag.del_a UU (a=x,y,z) using Eq.(24) of WYSV06 |
| wham_get_D_h_a | w90_wan_ham | Subroutine | Compute D^H_a=UU^dag.del_a UU (a=alpha,beta), using Eq.(24) of WYSV06 |
| wham_get_D_h_P_value | w90_wan_ham | Subroutine | Compute D^H_a=UU^dag.del_a UU (a=x,y,z) using Eq.(24) of WYSV06 |
| wham_get_deleig_a | w90_wan_ham | Subroutine | Band derivatives dE/dk_a |
| wham_get_eig_deleig | w90_wan_ham | Subroutine | Given a k point, this function returns eigenvalues E and derivatives of the eigenvalues dE/dk_a, using wham_get_deleig_a |
| wham_get_eig_deleig_TB_conv | w90_wan_ham | Subroutine | Given a k point, this function returns eigenvalues E and derivatives of the eigenvalues dE/dk_a, using wham_get_deleig_a |
| wham_get_eig_UU_HH_AA_sc | w90_wan_ham | Subroutine | Wrapper routine used to reduce number of Fourier calls |
| wham_get_eig_UU_HH_AA_sc_TB_conv | w90_wan_ham | Subroutine | |
| wham_get_eig_UU_HH_JJlist | w90_wan_ham | Subroutine | Wrapper routine used to reduce number of Fourier calls |
| wham_get_JJp_JJm_list | w90_wan_ham | Subroutine | |
| wham_get_occ_mat_list | w90_wan_ham | Subroutine | Occupation matrix f, and g=1-f for a list of Fermi energies |
| wigner_seitz_opt_setup | w90_postw90_common | Subroutine | If use_ws_distance = true, get list of all R vectors that appear in irdist_ws and write them to irvec_pw90. Set the index map ir_ind_ws_to_pw90 |
| wignerseitz | w90_postw90_common | Subroutine | Calculates a grid of lattice vectors r that fall inside (and eventually on the surface of) the Wigner-Seitz supercell centered on the origin of the Bravais superlattice with primitive translations mp_grid(1)a_1, mp_grid(2)a_2, and mp_grid(3)*a_3 |
| write_chkpt | w90_library_extra | Subroutine | |
| write_coords_file | w90_kslice | Subroutine | |
| write_data_file | w90_kslice | Subroutine | |
| write_kmesh | w90_library_extra | Subroutine | Writes the .nnkp file instructing a DFT code what projections and overlaps to construct |
| ws_translate_dist | w90_ws_distance | Subroutine | Find the supercell translation (i.e. the translation by a integer number of supercell vectors, the supercell being defined by the mp_grid) that minimizes the distance between two given Wannier functions, i and j, the first in unit cell 0, the other in unit cell R. I.e., we find the translation to put WF j in the Wigner-Seitz of WF i. We also look for the number of equivalent translation, that happen when w_j,R is on the edge of the WS of w_i,0. The results are stored in global arrays wdist_ndeg, irdist_ws, crdist_ws. |
| ws_write_vec | w90_ws_distance | Subroutine | Write to file the lattice vectors of the superlattice to be added to R vector in seedname_hr.dat, seedname_rmn.dat, etc. in order to have the second Wannier function inside the WS cell of the first one. |