Octopus
wfs_elec_oct_m Module Reference

Data Types

interface  wfs_elec_init
 
type  wfs_elec_t
 batches of electronic states More...
 

Functions/Subroutines

subroutine wfs_elec_clone_to (this, dest, pack, copy_data, new_np)
 clone to another wfs_elec_t object More...
 
subroutine wfs_elec_clone_to_array (this, dest, n_batches, pack, copy_data)
 clone the data to multipe wfs_elec_t objects More...
 
subroutine wfs_elec_copy_to (this, dest, pack, copy_data, new_np, special)
 copy the data of teh contained batch to another (existing) wfs_elec_t object More...
 
subroutine wfs_elec_check_compatibility_with (this, target, only_check_dim)
 check whether the object is compatible with a target object More...
 
subroutine wfs_elec_end (this, copy)
 finalze the object and the contained batch More...
 
subroutine dwfs_elec_init_with_memory_3 (this, dim, st_start, st_end, psi, ik)
 initialize a wfs_elec_t object with given memory More...
 
subroutine dwfs_elec_init_with_memory_2 (this, dim, st_start, st_end, psi, ik)
 initialize a wfs_elec_t object with given memory More...
 
subroutine, public dwfs_elec_init (this, dim, st_start, st_end, np, ik, special, packed)
 initialize an empty wfs_elec_t object More...
 
subroutine zwfs_elec_init_with_memory_3 (this, dim, st_start, st_end, psi, ik)
 initialize a wfs_elec_t object with given memory More...
 
subroutine zwfs_elec_init_with_memory_2 (this, dim, st_start, st_end, psi, ik)
 initialize a wfs_elec_t object with given memory More...
 
subroutine, public zwfs_elec_init (this, dim, st_start, st_end, np, ik, special, packed)
 initialize an empty wfs_elec_t object More...
 

Function/Subroutine Documentation

◆ wfs_elec_clone_to()

subroutine wfs_elec_oct_m::wfs_elec_clone_to ( class(wfs_elec_t), intent(in)  this,
class(batch_t), intent(out), allocatable  dest,
logical, intent(in), optional  pack,
logical, intent(in), optional  copy_data,
integer, intent(in), optional  new_np 
)
private

clone to another wfs_elec_t object

Parameters
[in]thissource data
[out]destdestination (currently only wfs_elec_t)
[in]packoptional flag whether to pack
[in]copy_dataoptional flag whether to copy the data (deep copy)
[in]new_npoptional number of points to copy

Definition at line 170 of file wfs_elec.F90.

◆ wfs_elec_clone_to_array()

subroutine wfs_elec_oct_m::wfs_elec_clone_to_array ( class(wfs_elec_t), intent(in)  this,
class(batch_t), dimension(:), intent(out), allocatable  dest,
integer, intent(in)  n_batches,
logical, intent(in), optional  pack,
logical, intent(in), optional  copy_data 
)
private

clone the data to multipe wfs_elec_t objects

Parameters
[in]thissource
[out]destmultiple destinations; dimension (1:n_batches)
[in]n_batchesnumber of batches to create
[in]packoptional flag whether to pack
[in]copy_dataoptional flag whether to copy the data (deep copy)

Definition at line 200 of file wfs_elec.F90.

◆ wfs_elec_copy_to()

subroutine wfs_elec_oct_m::wfs_elec_copy_to ( class(wfs_elec_t), intent(in)  this,
class(batch_t), intent(out)  dest,
logical, intent(in), optional  pack,
logical, intent(in), optional  copy_data,
integer, intent(in), optional  new_np,
logical, intent(in), optional  special 
)
private

copy the data of teh contained batch to another (existing) wfs_elec_t object

Parameters
[in]thissource
[out]destdestination (currently only wfs_elec_t)
[in]packoptional flag whether to pack
[in]copy_dataoptional flag whether to copy the data (deep copy)
[in]new_npoptional number of points to copy
[in]specialallocate on GPU if needed

Definition at line 234 of file wfs_elec.F90.

◆ wfs_elec_check_compatibility_with()

subroutine wfs_elec_oct_m::wfs_elec_check_compatibility_with ( class(wfs_elec_t), intent(in)  this,
class(batch_t), intent(in)  target,
logical, intent(in), optional  only_check_dim 
)
private

check whether the object is compatible with a target object

Compatibility here means that k-point and phase information agree, as well as the dimensions and optionally the data type

Definition at line 262 of file wfs_elec.F90.

◆ wfs_elec_end()

subroutine wfs_elec_oct_m::wfs_elec_end ( class(wfs_elec_t), intent(inout)  this,
logical, intent(in), optional  copy 
)
private

finalze the object and the contained batch

Parameters
[in,out]thisobject to finalize
[in]copycopy the data back to the external memory, used to initialize the batch

Definition at line 285 of file wfs_elec.F90.

◆ dwfs_elec_init_with_memory_3()

subroutine wfs_elec_oct_m::dwfs_elec_init_with_memory_3 ( type(wfs_elec_t), intent(out)  this,
integer, intent(in)  dim,
integer, intent(in)  st_start,
integer, intent(in)  st_end,
real(real64), dimension(:, :, st_start:), intent(inout), target, contiguous  psi,
integer, intent(in)  ik 
)
private

initialize a wfs_elec_t object with given memory

wrapper to batch_oct_m::dbatch_init_with_memory_3

Parameters
[out]thisthe wfs_elec_t object
[in]dimspinor dimensions
[in]st_startstart index for states
[in]st_endend index for states
[in]ikk point index
[in,out]psistates to use for the object

Definition at line 347 of file wfs_elec.F90.

◆ dwfs_elec_init_with_memory_2()

subroutine wfs_elec_oct_m::dwfs_elec_init_with_memory_2 ( type(wfs_elec_t), intent(out)  this,
integer, intent(in)  dim,
integer, intent(in)  st_start,
integer, intent(in)  st_end,
real(real64), dimension(:, :), intent(inout), target, contiguous  psi,
integer, intent(in)  ik 
)
private

initialize a wfs_elec_t object with given memory

wrapper to batch_oct_m::dbatch_init_with_memory_2

Parameters
[out]thisthe wfs_elec_t object
[in]dimspinor dimensions
[in]st_startstart index for states
[in]st_endend index for states
[in]ikk point index
[in,out]psistates to use for the object

Definition at line 369 of file wfs_elec.F90.

◆ dwfs_elec_init()

subroutine, public wfs_elec_oct_m::dwfs_elec_init ( type(wfs_elec_t), intent(inout)  this,
integer, intent(in)  dim,
integer, intent(in)  st_start,
integer, intent(in)  st_end,
integer, intent(in)  np,
integer, intent(in)  ik,
logical, intent(in), optional  special,
logical, intent(in), optional  packed 
)

initialize an empty wfs_elec_t object

wrapper to batch_oct_m::batch_init

Parameters
[in,out]thisthe wfs_elec_t object
[in]dimspinor dimensions
[in]st_startstart index for states
[in]st_endend index for states
[in]npnumber of points
[in]ikk point index
[in]specialoptional flag; If .true., the allocation will be handled in C (to use pinned memory for GPUs)
[in]packedoptional flag whether to pack the batch

Definition at line 393 of file wfs_elec.F90.

◆ zwfs_elec_init_with_memory_3()

subroutine wfs_elec_oct_m::zwfs_elec_init_with_memory_3 ( type(wfs_elec_t), intent(out)  this,
integer, intent(in)  dim,
integer, intent(in)  st_start,
integer, intent(in)  st_end,
complex(real64), dimension(:, :, st_start:), intent(inout), target, contiguous  psi,
integer, intent(in)  ik 
)
private

initialize a wfs_elec_t object with given memory

wrapper to batch_oct_m::zbatch_init_with_memory_3

Parameters
[out]thisthe wfs_elec_t object
[in]dimspinor dimensions
[in]st_startstart index for states
[in]st_endend index for states
[in]ikk point index
[in,out]psistates to use for the object

Definition at line 490 of file wfs_elec.F90.

◆ zwfs_elec_init_with_memory_2()

subroutine wfs_elec_oct_m::zwfs_elec_init_with_memory_2 ( type(wfs_elec_t), intent(out)  this,
integer, intent(in)  dim,
integer, intent(in)  st_start,
integer, intent(in)  st_end,
complex(real64), dimension(:, :), intent(inout), target, contiguous  psi,
integer, intent(in)  ik 
)
private

initialize a wfs_elec_t object with given memory

wrapper to batch_oct_m::zbatch_init_with_memory_2

Parameters
[out]thisthe wfs_elec_t object
[in]dimspinor dimensions
[in]st_startstart index for states
[in]st_endend index for states
[in]ikk point index
[in,out]psistates to use for the object

Definition at line 512 of file wfs_elec.F90.

◆ zwfs_elec_init()

subroutine, public wfs_elec_oct_m::zwfs_elec_init ( type(wfs_elec_t), intent(inout)  this,
integer, intent(in)  dim,
integer, intent(in)  st_start,
integer, intent(in)  st_end,
integer, intent(in)  np,
integer, intent(in)  ik,
logical, intent(in), optional  special,
logical, intent(in), optional  packed 
)

initialize an empty wfs_elec_t object

wrapper to batch_oct_m::batch_init

Parameters
[in,out]thisthe wfs_elec_t object
[in]dimspinor dimensions
[in]st_startstart index for states
[in]st_endend index for states
[in]npnumber of points
[in]ikk point index
[in]specialoptional flag; If .true., the allocation will be handled in C (to use pinned memory for GPUs)
[in]packedoptional flag whether to pack the batch

Definition at line 536 of file wfs_elec.F90.