This class is responsible for calculating and applying the ZORA.  
 More...
This class is responsible for calculating and applying the ZORA. 
Definition at line 145 of file zora.F90.
 | 
| real(real64), dimension(:,:), allocatable  | pot | 
|   | ZORA mass renormalization term, \( \frac{c^2}{2c^2 - V} \).  More...
  | 
|   | 
| real(real64), dimension(:,:,:), allocatable  | grad_pot | 
|   | gradient of ZORA mass renormalization term, \( \nabla ( \frac{c^2}{2c^2 - V} ) \)  More...
  | 
|   | 
| real(real64), dimension(:,:,:), allocatable  | soc | 
|   | ZORA spin-orbit term, \( {\rm zora\%pref} * (\sigma \times {\nabla V}) \cdot p \).  More...
  | 
|   | 
| real(real64)  | so_strength = M_ZERO | 
|   | 
| real(real64)  | mass = M_ZERO | 
|   | 
| integer  | zora_level = ZORA_NONE | 
|   | 
◆ update()
  
  
      
        
          | procedure zora_oct_m::zora_t::update | 
         
       
   | 
  
private   | 
  
 
update the ZORA potentials 
This routine performs calculations, which do not require the wave functions but only depend on the potential.
It calculates:
- \( {\rm zora\%pot}({\bf r}) = \frac{c^2}{2c^2 - V({\bf r})} \)
 
- \( {\rm zora\%grad_pot}({\bf r}) = \nabla \frac{c^2}{2c^2 - V({\bf r})} \)
 
and for the fully relativistic case
- \( {\rm zora\%soc}({\bf r}) = {\rm prefactor}({\bf r}) \, \sigma \cdot ( \nabla V({\bf r}) \times {\bf p} )\) = \( {\rm prefactor}({\bf r}) * (\sigma \times ( \nabla V)({\bf r})) \cdot {\bf p} \)
 
where \( {\rm prefactor}({\bf r}) = {\rm so\_strength} * 2 c^2 / (2 m c^2 - {\rm V({\bf r})^2} ) \)
These are used in dzora_apply_batch() and zzora_apply_batch(). 
- Parameters
 - 
  
    | [in,out] | this | the ZORA object  | 
    | [in] | der | the derivatives  | 
    | [in] | potential | dimensions (1:np, 1:thisspin_channels)  | 
  
   
Definition at line 158 of file zora.F90.
 
 
◆ dapply_batch()
  
  
      
        
          | procedure zora_oct_m::zora_t::dapply_batch | 
         
       
   | 
  
private   | 
  
 
apply the ZORA to a batch of states psib 
- Note
 - This routine assumes
- that hpsib already contains \( (\boldsymbol{p}^2 \Phi^\mathrm{ZORA}) \)
 
- that zora_oct_m::zora_update() had been called before.
 
 
The routine makes use of the relation: 
\[ \boldsymbol{p} \frac{c^2}{2c^2 - V} \boldsymbol{p} \Phi^\mathrm{ZORA}
 = (\boldsymbol{p} \frac{c^2}{2c^2 - V})(\boldsymbol{p} \Phi^\mathrm{ZORA})
 + \frac{c^2}{2c^2 - V} (\boldsymbol{p}^2 \Phi^\mathrm{ZORA}) \]
 - Parameters
 - 
  
    | [in] | this | The ZORA object  | 
    | [in] | mesh | mesh needs to be passed through  | 
    | [in] | der | the derivatives  | 
    | [in] | states_dim | for accessing the spin index from the batch  | 
    | [in,out] | psib | input states  | 
    | [in,out] | hpsib | output states with ZORA applied  | 
  
   
Definition at line 159 of file zora.F90.
 
 
◆ zapply_batch()
  
  
      
        
          | procedure zora_oct_m::zora_t::zapply_batch | 
         
       
   | 
  
private   | 
  
 
apply the ZORA to a batch of states psib 
- Note
 - This routine assumes
- that hpsib already contains \( (\boldsymbol{p}^2 \Phi^\mathrm{ZORA}) \)
 
- that zora_oct_m::zora_update() had been called before.
 
 
The routine makes use of the relation: 
\[ \boldsymbol{p} \frac{c^2}{2c^2 - V} \boldsymbol{p} \Phi^\mathrm{ZORA}
 = (\boldsymbol{p} \frac{c^2}{2c^2 - V})(\boldsymbol{p} \Phi^\mathrm{ZORA})
 + \frac{c^2}{2c^2 - V} (\boldsymbol{p}^2 \Phi^\mathrm{ZORA}) \]
 - Parameters
 - 
  
    | [in] | this | The ZORA object  | 
    | [in] | mesh | mesh needs to be passed through  | 
    | [in] | der | the derivatives  | 
    | [in] | states_dim | for accessing the spin index from the batch  | 
    | [in,out] | psib | input states  | 
    | [in,out] | hpsib | output states with ZORA applied  | 
  
   
Definition at line 160 of file zora.F90.
 
 
◆ zora_finalize()
  
  
      
        
          | final zora_oct_m::zora_t::zora_finalize | 
         
       
   | 
  
finalprivate   | 
  
 
 
◆ pot
  
  
      
        
          | real(real64), dimension(:,:), allocatable zora_oct_m::zora_t::pot | 
         
       
   | 
  
private   | 
  
 
ZORA mass renormalization term, \( \frac{c^2}{2c^2 - V} \). 
Definition at line 148 of file zora.F90.
 
 
◆ grad_pot
  
  
      
        
          | real(real64), dimension(:,:,:), allocatable zora_oct_m::zora_t::grad_pot | 
         
       
   | 
  
private   | 
  
 
gradient of ZORA mass renormalization term, \( \nabla ( \frac{c^2}{2c^2 - V} ) \) 
Definition at line 149 of file zora.F90.
 
 
◆ soc
  
  
      
        
          | real(real64), dimension(:,:,:), allocatable zora_oct_m::zora_t::soc | 
         
       
   | 
  
private   | 
  
 
ZORA spin-orbit term, \( {\rm zora\%pref} * (\sigma \times {\nabla V}) \cdot p \). 
Definition at line 150 of file zora.F90.
 
 
◆ so_strength
  
  
      
        
          | real(real64) zora_oct_m::zora_t::so_strength = M_ZERO | 
         
       
   | 
  
private   | 
  
 
 
◆ mass
  
  
      
        
          | real(real64) zora_oct_m::zora_t::mass = M_ZERO | 
         
       
   | 
  
private   | 
  
 
 
◆ zora_level
  
  
      
        
          | integer zora_oct_m::zora_t::zora_level = ZORA_NONE | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this interface was generated from the following file: