Octopus
isdf_utils_oct_m Module Reference

Functions/Subroutines

subroutine, public output_matrix (namespace, fname, matrix)
 Helper routine to output a 2D matrix. More...
 
subroutine, public isdf_potential (namespace, poisson_solver, isdf_vectors, V_r_nu)
 Compute the effective potential in the ISDF vector basis. More...
 
integer function, public local_number_of_states (st, max_state)
 Number of states contributing to the expansion, local to current process. More...
 
subroutine, public gather_psi_mu_over_states (st, psi_mu, psi_global)
 Gather state-distributed psi from multiple processes. More...
 
subroutine, public output_psi_mu_for_all_states (namespace, st, max_state, psi_mu)
 Output the gathered psi_mu for all states, such that the matrix is the same irregardless of state parallelism. More...
 

Variables

integer, parameter, private ik = 1
 All molecular calculations performed at the Gamma-point. More...
 

Function/Subroutine Documentation

◆ output_matrix()

subroutine, public isdf_utils_oct_m::output_matrix ( type(namespace_t), intent(in)  namespace,
character(len=*), intent(in)  fname,
real(real64), dimension(:, :), intent(in), contiguous  matrix 
)

Helper routine to output a 2D matrix.

Definition at line 147 of file isdf_utils.F90.

◆ isdf_potential()

subroutine, public isdf_utils_oct_m::isdf_potential ( type(namespace_t), intent(in)  namespace,
type(poisson_t), intent(in)  poisson_solver,
real(real64), dimension(:, :), intent(in), contiguous  isdf_vectors,
real(real64), dimension(:, :), intent(out), contiguous  V_r_nu 
)

Compute the effective potential in the ISDF vector basis.

[ V_\mu^{\zeta}(\mathbf{r}) = \int \frac{\zeta_\mu(\mathbf{r}^\prime)}{|\mathbf{r}-\mathbf{r}^\prime|} d\mathbf{r}^\prime. ]

Parameters
[in]poisson_solverPoisson solver settings
[in]isdf_vectorsISDF vectors \( \{ \zeta \} \), with shape(np, n_int)
[out]v_r_nuEffective potential

Definition at line 181 of file isdf_utils.F90.

◆ local_number_of_states()

integer function, public isdf_utils_oct_m::local_number_of_states ( type(states_elec_t), intent(in)  st,
integer, intent(in)  max_state 
)

Number of states contributing to the expansion, local to current process.

Number of states between the first state of the block 1 on this process and the min of max_state and the last state of block N on this process. For processes where minst of the first block > max_state, return 0.

Parameters
[in]stStates instance
[in]max_stateIndex of final state to consider - Global state indexing

Definition at line 207 of file isdf_utils.F90.

◆ gather_psi_mu_over_states()

subroutine, public isdf_utils_oct_m::gather_psi_mu_over_states ( type(states_elec_t), intent(in)  st,
real(real64), dimension(:, :), intent(in), contiguous  psi_mu,
real(real64), dimension(:, :), intent(out), contiguous  psi_global 
)

Gather state-distributed psi from multiple processes.

For testing purposes only. Does not handle gathering of domains

Parameters
[in]psi_muState-distributed states array

Definition at line 231 of file isdf_utils.F90.

◆ output_psi_mu_for_all_states()

subroutine, public isdf_utils_oct_m::output_psi_mu_for_all_states ( type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(in)  st,
integer, intent(in)  max_state,
real(real64), dimension(:, :), intent(in), contiguous  psi_mu 
)

Output the gathered psi_mu for all states, such that the matrix is the same irregardless of state parallelism.

Parameters
[in]max_stateGlobal index of maximum state used in ISDF
[in]psi_muStated-distributed/DD \(\varphi_i(\mathbf{r}_\mu)\)

Definition at line 286 of file isdf_utils.F90.

Variable Documentation

◆ ik

integer, parameter, private isdf_utils_oct_m::ik = 1
private

All molecular calculations performed at the Gamma-point.

Definition at line 142 of file isdf_utils.F90.