![]()  | 
  
    Octopus
    
   | 
 
Group of electronic states. More...
Group of electronic states.
This class represents a group of batches of wave functions. It contains groups of blocks (batches) electronic states, represented by wfs_elec_oct_m::wfs_elec_t, together with the meta-data how these blocks are organized.
Each block contains wave functions with the same k point. The blocks can be distributed over nodes, when using state parallelization.
Definition at line 144 of file states_elec_group.F90.
Private Attributes | |
| type(wfs_elec_t), dimension(:, :), allocatable | psib | 
| An array of wave-functions blocks (batches)  More... | |
| integer | nblocks | 
| The total number of blocks (across nodes)  More... | |
| integer | block_start | 
| The lowest index of local blocks.  More... | |
| integer | block_end | 
| The highest index of local blocks.  More... | |
| integer, dimension(:), allocatable | iblock | 
| A map, that for each state index returns the index of block containing it.  More... | |
| integer, dimension(:, :), allocatable | block_range | 
| Each block contains states from block_range(:, 1) to block_range(:, 2)  More... | |
| integer, dimension(:), allocatable | block_size | 
| The number of states in each block.  More... | |
| logical, dimension(:, :), allocatable | block_is_local | 
| It is true if the block (ist, ik) is in this node.  More... | |
| integer, dimension(:), allocatable | block_node | 
| The node that contains each block.  More... | |
| type(mpi_win), dimension(:, :), allocatable | rma_win | 
| The MPI window handle for for block (ist, ik) for one sided communication.  More... | |
| logical | block_initialized = .false. | 
| For keeping track of the blocks to avoid memory leaks.  More... | |
      
  | 
  private | 
An array of wave-functions blocks (batches)
Definition at line 146 of file states_elec_group.F90.
      
  | 
  private | 
The total number of blocks (across nodes)
Definition at line 147 of file states_elec_group.F90.
      
  | 
  private | 
The lowest index of local blocks.
Definition at line 148 of file states_elec_group.F90.
      
  | 
  private | 
The highest index of local blocks.
Definition at line 149 of file states_elec_group.F90.
      
  | 
  private | 
A map, that for each state index returns the index of block containing it.
Definition at line 150 of file states_elec_group.F90.
      
  | 
  private | 
Each block contains states from block_range(:, 1) to block_range(:, 2)
Definition at line 151 of file states_elec_group.F90.
      
  | 
  private | 
The number of states in each block.
Definition at line 152 of file states_elec_group.F90.
      
  | 
  private | 
It is true if the block (ist, ik) is in this node.
Definition at line 153 of file states_elec_group.F90.
      
  | 
  private | 
The node that contains each block.
Definition at line 154 of file states_elec_group.F90.
      
  | 
  private | 
The MPI window handle for for block (ist, ik) for one sided communication.
Definition at line 155 of file states_elec_group.F90.
      
  | 
  private | 
For keeping track of the blocks to avoid memory leaks.
Definition at line 157 of file states_elec_group.F90.