Octopus
pseudopotential_oct_m Module Reference

Data Types

interface  pseudopotential_t
 

Functions/Subroutines

class(pseudopotential_t) function, pointer pseudopotential_constructor (label, index)
 The factory routine (or constructor) allocates a pointer of the corresponding type and then calls the init routine which is a type-bound procedure of the corresponding type. With this design, also derived classes can use the init routine of the parent class. More...
 
subroutine pseudopotential_finalize (spec)
 
logical pure function pseudopotential_has_nlcc (spec)
 
integer pure function pseudopotential_x_functional (spec)
 
integer pure function pseudopotential_c_functional (spec)
 
real(real64) pure function pseudopotential_get_radius (spec)
 Return radius of the pseudopotential if this is a pseudo, zero otherwise. More...
 
integer pure function pseudopotential_get_user_lloc (spec)
 
integer pure function pseudopotential_get_user_lmax (spec)
 
pure subroutine pseudopotential_set_user_lmax (spec, ll)
 
pure subroutine pseudopotential_set_user_lloc (spec, ll)
 
character(len=max_path_len) function, public get_set_directory (set_id)
 
subroutine, public read_from_set (spec, set_id, set, read_data)
 Creates a pseudopotential type from a set. More...
 
subroutine, public read_from_default_file (iunit, read_data, spec)
 
subroutine, public pseudopotential_real_nl_projector (spec, np, x, r, l, lm, i, uV)
 This routine returns the non-local projector and its derivative, built using real spherical harmonics. More...
 
subroutine, public pseudopotential_nl_projector (spec, np, x, r, l, lm, i, uV)
 This routine returns the non-local projector, built using spherical harmonics. More...
 
subroutine pseudopotential_iwf_fix_qn (spec, namespace, nspin, dim)
 set up quantum numbers of orbitals More...
 
real(real64) function pseudopotential_get_iwf_radius (spec, ii, is, threshold)
 Return radius outside which orbital is less than threshold value 0.001. More...
 
logical function pseudopotential_is_local (spec)
 
subroutine pseudopotential_init_potential (this, namespace, grid_cutoff, filter)
 This routine performs some operations on the pseudopotential functions (filtering, etc), some of which depend on the grid cutoff value. More...
 
subroutine pseudopotential_debug (spec, dir, namespace, gmax)
 
subroutine pseudopotential_build (spec, namespace, ispin, dim, print_info)
 
logical pure function pseudopotential_is_ps (this)
 Is the species a pseudopotential derived class or not. More...
 
logical pure function pseudopotential_is_ps_with_nlcc (this)
 Is the species a pseudopotential derived class or not with nlcc. More...
 
logical pure function pseudopotential_represents_real_atom (spec)
 Is the species representing an atomic species or not. More...
 

Variables

integer, parameter, public species_pseudo = 7
 pseudopotential More...
 
integer, parameter, public species_pspio = 110
 pseudopotential parsed by pspio library More...
 

Function/Subroutine Documentation

◆ pseudopotential_constructor()

class(pseudopotential_t) function, pointer pseudopotential_oct_m::pseudopotential_constructor ( character(len=*), intent(in)  label,
integer, intent(in)  index 
)
private

The factory routine (or constructor) allocates a pointer of the corresponding type and then calls the init routine which is a type-bound procedure of the corresponding type. With this design, also derived classes can use the init routine of the parent class.

Definition at line 195 of file pseudopotential.F90.

◆ pseudopotential_finalize()

subroutine pseudopotential_oct_m::pseudopotential_finalize ( type(pseudopotential_t), intent(inout)  spec)
private

Definition at line 222 of file pseudopotential.F90.

◆ pseudopotential_has_nlcc()

logical pure function pseudopotential_oct_m::pseudopotential_has_nlcc ( class(pseudopotential_t), intent(in)  spec)
private

Definition at line 241 of file pseudopotential.F90.

◆ pseudopotential_x_functional()

integer pure function pseudopotential_oct_m::pseudopotential_x_functional ( class(pseudopotential_t), intent(in)  spec)
private

Definition at line 248 of file pseudopotential.F90.

◆ pseudopotential_c_functional()

integer pure function pseudopotential_oct_m::pseudopotential_c_functional ( class(pseudopotential_t), intent(in)  spec)
private

Definition at line 273 of file pseudopotential.F90.

◆ pseudopotential_get_radius()

real(real64) pure function pseudopotential_oct_m::pseudopotential_get_radius ( class(pseudopotential_t), intent(in)  spec)
private

Return radius of the pseudopotential if this is a pseudo, zero otherwise.

Definition at line 298 of file pseudopotential.F90.

◆ pseudopotential_get_user_lloc()

integer pure function pseudopotential_oct_m::pseudopotential_get_user_lloc ( class(pseudopotential_t), intent(in)  spec)
private

Definition at line 305 of file pseudopotential.F90.

◆ pseudopotential_get_user_lmax()

integer pure function pseudopotential_oct_m::pseudopotential_get_user_lmax ( class(pseudopotential_t), intent(in)  spec)
private

Definition at line 311 of file pseudopotential.F90.

◆ pseudopotential_set_user_lmax()

pure subroutine pseudopotential_oct_m::pseudopotential_set_user_lmax ( class(pseudopotential_t), intent(inout)  spec,
integer, intent(in)  ll 
)
private

Definition at line 317 of file pseudopotential.F90.

◆ pseudopotential_set_user_lloc()

pure subroutine pseudopotential_oct_m::pseudopotential_set_user_lloc ( class(pseudopotential_t), intent(inout)  spec,
integer, intent(in)  ll 
)
private

Definition at line 324 of file pseudopotential.F90.

◆ get_set_directory()

character(len=max_path_len) function, public pseudopotential_oct_m::get_set_directory ( integer, intent(in)  set_id)

Definition at line 332 of file pseudopotential.F90.

◆ read_from_set()

subroutine, public pseudopotential_oct_m::read_from_set ( type(pseudopotential_t), intent(inout)  spec,
integer, intent(in)  set_id,
type(pseudo_set_t), intent(in)  set,
integer, intent(out)  read_data 
)

Creates a pseudopotential type from a set.

Parameters
[in,out]specNewly created pseudopotential
[in]set_idID of the set to be used
[in]setpseudopotential set to use
[out]read_dataError code

Definition at line 367 of file pseudopotential.F90.

◆ read_from_default_file()

subroutine, public pseudopotential_oct_m::read_from_default_file ( integer, intent(in)  iunit,
integer, intent(inout)  read_data,
class(pseudopotential_t), intent(inout)  spec 
)

Definition at line 403 of file pseudopotential.F90.

◆ pseudopotential_real_nl_projector()

subroutine, public pseudopotential_oct_m::pseudopotential_real_nl_projector ( class(pseudopotential_t), intent(in)  spec,
integer, intent(in)  np,
real(real64), dimension(:,:), intent(in)  x,
real(real64), dimension(:), intent(in)  r,
integer, intent(in)  l,
integer, intent(in)  lm,
integer, intent(in)  i,
real(real64), dimension(:), intent(out)  uV 
)

This routine returns the non-local projector and its derivative, built using real spherical harmonics.

Parameters
[in]x(3, np_part)
[in]r(np_part)
[out]uv(np)

Definition at line 447 of file pseudopotential.F90.

◆ pseudopotential_nl_projector()

subroutine, public pseudopotential_oct_m::pseudopotential_nl_projector ( class(pseudopotential_t), intent(in)  spec,
integer, intent(in)  np,
real(real64), dimension(:,:), intent(in)  x,
real(real64), dimension(:), intent(in)  r,
integer, intent(in)  l,
integer, intent(in)  lm,
integer, intent(in)  i,
complex(real64), dimension(:), intent(out)  uV 
)

This routine returns the non-local projector, built using spherical harmonics.

Parameters
[in]x(3, np_part)
[in]r(np_part)
[out]uv(np)

Definition at line 476 of file pseudopotential.F90.

◆ pseudopotential_iwf_fix_qn()

subroutine pseudopotential_oct_m::pseudopotential_iwf_fix_qn ( class(pseudopotential_t), intent(inout)  spec,
type(namespace_t), intent(in)  namespace,
integer, intent(in)  nspin,
integer, intent(in)  dim 
)
private

set up quantum numbers of orbitals

Definition at line 504 of file pseudopotential.F90.

◆ pseudopotential_get_iwf_radius()

real(real64) function pseudopotential_oct_m::pseudopotential_get_iwf_radius ( class(pseudopotential_t), intent(in)  spec,
integer, intent(in)  ii,
integer, intent(in)  is,
real(real64), intent(in), optional  threshold 
)
private

Return radius outside which orbital is less than threshold value 0.001.

Parameters
[in]iiprincipal quantum number
[in]isspin component

Definition at line 539 of file pseudopotential.F90.

◆ pseudopotential_is_local()

logical function pseudopotential_oct_m::pseudopotential_is_local ( class(pseudopotential_t), intent(in)  spec)
private

Definition at line 557 of file pseudopotential.F90.

◆ pseudopotential_init_potential()

subroutine pseudopotential_oct_m::pseudopotential_init_potential ( class(pseudopotential_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
real(real64), intent(in)  grid_cutoff,
integer, intent(in)  filter 
)
private

This routine performs some operations on the pseudopotential functions (filtering, etc), some of which depend on the grid cutoff value.

Definition at line 573 of file pseudopotential.F90.

◆ pseudopotential_debug()

subroutine pseudopotential_oct_m::pseudopotential_debug ( class(pseudopotential_t), intent(in)  spec,
character(len=*), intent(in)  dir,
type(namespace_t), intent(in)  namespace,
real(real64), intent(in)  gmax 
)
private

Definition at line 636 of file pseudopotential.F90.

◆ pseudopotential_build()

subroutine pseudopotential_oct_m::pseudopotential_build ( class(pseudopotential_t), intent(inout)  spec,
type(namespace_t), intent(in)  namespace,
integer, intent(in)  ispin,
integer, intent(in)  dim,
logical, intent(in), optional  print_info 
)
private

Definition at line 679 of file pseudopotential.F90.

◆ pseudopotential_is_ps()

logical pure function pseudopotential_oct_m::pseudopotential_is_ps ( class(pseudopotential_t), intent(in)  this)
private

Is the species a pseudopotential derived class or not.

Definition at line 727 of file pseudopotential.F90.

◆ pseudopotential_is_ps_with_nlcc()

logical pure function pseudopotential_oct_m::pseudopotential_is_ps_with_nlcc ( class(pseudopotential_t), intent(in)  this)
private

Is the species a pseudopotential derived class or not with nlcc.

Definition at line 735 of file pseudopotential.F90.

◆ pseudopotential_represents_real_atom()

logical pure function pseudopotential_oct_m::pseudopotential_represents_real_atom ( class(pseudopotential_t), intent(in)  spec)
private

Is the species representing an atomic species or not.

Definition at line 743 of file pseudopotential.F90.

Variable Documentation

◆ species_pseudo

integer, parameter, public pseudopotential_oct_m::species_pseudo = 7

pseudopotential

Definition at line 143 of file pseudopotential.F90.

◆ species_pspio

integer, parameter, public pseudopotential_oct_m::species_pspio = 110

pseudopotential parsed by pspio library

Definition at line 143 of file pseudopotential.F90.