Octopus
fourier_shell_oct_m Module Reference

Data Types

type  fourier_shell_t
 

Functions/Subroutines

real(real64) function, public fourier_shell_cutoff (space, cube, mesh, is_wfn, dg)
 Compute the cutoff in Fourier space given a lattice and a spacing. More...
 
subroutine, public fourier_shell_init (this, namespace, space, cube, mesh, kk)
 
subroutine, public fourier_shell_end (this)
 

Function/Subroutine Documentation

◆ fourier_shell_cutoff()

real(real64) function, public fourier_shell_oct_m::fourier_shell_cutoff ( class(space_t), intent(in)  space,
type(cube_t), intent(in)  cube,
class(mesh_t), intent(in)  mesh,
logical, intent(in)  is_wfn,
real(real64), dimension(:), intent(out), optional  dg 
)

Compute the cutoff in Fourier space given a lattice and a spacing.

A G-vector in the cube has the form \( G = \sum_i n_i\, dg_i\, b_i \), with \( b_i \) the primitive reciprocal vectors and \( dg_i = 2\pi/(N_i h_i) \). Since \( b_i \cdot \hat{a}_j = \delta_{ij} \), the distance from the origin to face i of the parallelepiped of representable G-vectors is \( n_i^{max} dg_i \), independent of the cell angles, so the largest complete sphere has radius \( \min_i n_i^{max} dg_i \).

Parameters
[out]dg(3)

Definition at line 155 of file fourier_shell.F90.

◆ fourier_shell_init()

subroutine, public fourier_shell_oct_m::fourier_shell_init ( type(fourier_shell_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(cube_t), intent(in)  cube,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:), intent(in), optional  kk 
)
Parameters
[in]kk(3)

Definition at line 182 of file fourier_shell.F90.

◆ fourier_shell_end()

subroutine, public fourier_shell_oct_m::fourier_shell_end ( type(fourier_shell_t), intent(inout)  this)

Definition at line 271 of file fourier_shell.F90.