Octopus
isdf_serial.F90 File Reference

Go to the source code of this file.

Modules

module  isdf_serial_oct_m
 Serial prototype for benchmarking and validating ISDF implementation.
 

Functions/Subroutines

subroutine, public isdf_serial_oct_m::isdf_serial_interpolation_vectors (isdf, namespace, mesh, st, indices, phi_mu, P_r_mu, isdf_vectors)
 Construct interpolative separable density fitting (ISDF) vectors and other intermediate quantities relevant for density-fitting adaptively- compressed exchange. More...
 
subroutine isdf_serial_oct_m::collate_batches_get_state (mesh, st, max_state, psi)
 Loop over states per block, which makes applying the maximum state limit much simpler Use this to compare to the output of collate_batches Not distributed in states or domain. More...
 
subroutine isdf_serial_oct_m::sample_phi_at_centroids (phi_r, indices, phi_mu)
 Sample KS states at centroid points. More...
 
subroutine isdf_serial_oct_m::construct_zct (zct)
 Construct the product of Z and C matrices from the element-wise product of the quasi-density matrix. More...
 
subroutine isdf_serial_oct_m::construct_cct (indices, zct, cct)
 Construct the product \(CC^T\) from \(ZC^T\) by masking the first dimension of \(ZC^T\). More...
 
subroutine isdf_serial_oct_m::construct_density_matrix_packed (phi, phi_mu, P_r_mu)
 @ brief Construct the density matrix with shape (np, n_int). Denoted packed, because it expects phi in state-major format. More...
 
subroutine isdf_serial_oct_m::construct_density_matrix_with_occ_packed (st, phi, phi_mu, P_r_mu)
 
subroutine, public isdf_serial_oct_m::quantify_error_and_visualise (isdf, namespace, st, space, mesh, ions, indices, isdf_vectors, output_cubes)
 Wrapper for quantifying the error in the expansion of the product basis. More...
 
subroutine isdf_serial_oct_m::approximate_pair_products (psi_mu, zeta, product_basis)
 Construct a set of approximate pair products using the ISDF interpolation vectors. More...
 
subroutine isdf_serial_oct_m::error_in_product_basis (mesh, product_basis, approx_product_basis, error, mean_error)
 Quantify the error in the product basis expansion. More...
 
subroutine isdf_serial_oct_m::generate_product_state_cubes (namespace, space, mesh, ions, file_prefix, data, limits)
 Helper function to output a set of pair product states. More...
 
subroutine, public isdf_serial_oct_m::isdf_serial_ace_compute_potentials (exxop, namespace, space, mesh, st, Vx_on_st, kpoints)
 ISDF wrapper computing interpolation points and vectors, which are used to build the potential \(W_j=\left(V_x\left[\left\{\varphi_i\right\}\right] \psi_j\right)(\mathbf{r})\) used in adaptively-compressed exchange. More...
 
subroutine isdf_serial_oct_m::isdf_serial_ace_w_unpacked (namespace, P_r_mu, isdf_vectors, psi_mu, poisson_solver, cam, st, W_ace)
 Compute the action of the exchange potential on KS states for adaptively-compressed exchange. More...
 
subroutine isdf_serial_oct_m::isdf_serial_ace_batch_w (isdf, st, W_ace, Vx_on_st)
 Put the bare array representation of W into a batch. More...
 

Variables

integer, parameter isdf_serial_oct_m::ik = 1
 Hard-coded for Gamma-point, spin-unpolarised calculations. More...