57    logical, 
public         :: apply = .false.
 
   59    type(states_elec_t)     :: gs_st
 
   68  subroutine scissor_init(this, namespace, space, st, mesh, d, kpoints, phase, gap, mc)
 
   69    type(scissor_t),          
intent(inout) :: this
 
   70    type(namespace_t),        
intent(in)    :: namespace
 
   71    class(space_t),           
intent(in)    :: space
 
   72    type(states_elec_t),      
intent(in)    :: st
 
   73    class(mesh_t),            
intent(in)    :: mesh
 
   74    type(kpoints_t),          
intent(in)    :: kpoints
 
   75    type(states_elec_dim_t),  
intent(in)    :: d
 
   76    type(phase_t),            
intent(in)    :: phase
 
   77    real(real64),             
intent(in)    :: gap
 
   78    type(multicomm_t),        
intent(in)    :: mc
 
   80    type(restart_t) :: restart_gs
 
   83    complex(real64), 
allocatable :: temp_state(:,:)
 
   87    assert(.not. this%apply)
 
   92    if (st%parallel_in_states) 
then 
   95    if (mesh%parallel_in_domains) 
then 
  102    write(
message(1),
'(a)')    
'Start loading GS states.' 
  109      message(1) = 
"Unable to read states information." 
  113    call states_elec_load(restart_gs, namespace, space, this%gs_st, mesh, kpoints, ierr, label = 
': gs for TDScissor')
 
  114    if (ierr /= 0 .and. ierr /= (this%gs_st%st_end-this%gs_st%st_start+1)*this%gs_st%nik*this%gs_st%d%dim) 
then 
  115      message(1) = 
"Unable to read wavefunctions for TDScissor." 
  122      write(
message(1),
'(a)')    
'Adding the phase for GS states.' 
  125      safe_allocate(temp_state(1:mesh%np_part, 1:this%gs_st%d%dim))
 
  127      do ik=this%gs_st%d%kpt%start, this%gs_st%d%kpt%end
 
  129        do ist = this%gs_st%st_start, this%gs_st%st_end
 
  131          call phase%apply_to_single(temp_state, mesh%np, this%gs_st%d%dim, ik, .false.)
 
  137      safe_deallocate_a(temp_state)
 
  146    type(scissor_t), 
intent(inout) :: this
 
  158#include "scissor_inc.F90" 
  161#include "complex.F90" 
  162#include "scissor_inc.F90" 
This module implements batches of mesh functions.
 
This module implements common operations on batches of mesh functions.
 
logical pure function, public kpoints_point_is_gamma(this, ik)
 
integer pure function, public kpoints_number(this)
 
This module defines various routines, operating on mesh functions.
 
This module defines the meshes, which are used in Octopus.
 
subroutine, public messages_print_with_emphasis(msg, iunit, namespace)
 
subroutine, public messages_not_implemented(feature, namespace)
 
character(len=512), private msg
 
subroutine, public messages_info(no_lines, iunit, verbose_limit, stress, all_nodes, namespace)
 
character(len=256), dimension(max_lines), public message
to be output by fatal, warning
 
subroutine, public messages_fatal(no_lines, only_root_writes, namespace)
 
This module handles the communicators for the various parallelization strategies.
 
subroutine, public restart_init(restart, namespace, data_type, type, mc, ierr, mesh, dir, exact)
Initializes a restart object.
 
integer, parameter, public restart_proj
 
integer, parameter, public restart_type_load
 
subroutine, public restart_end(restart)
 
subroutine zscissor_commute_r(this, mesh, ik, psi, gpsi)
 
subroutine, public scissor_init(this, namespace, space, st, mesh, d, kpoints, phase, gap, mc)
 
subroutine, public zscissor_apply(this, mesh, psib, hpsib)
 
subroutine dscissor_commute_r(this, mesh, ik, psi, gpsi)
 
subroutine, public dscissor_apply(this, mesh, psib, hpsib)
 
subroutine, public scissor_end(this)
 
pure logical function, public states_are_real(st)
 
This module handles spin dimensions of the states and the k-point distribution.
 
subroutine, public states_elec_end(st)
finalize the states_elec_t object
 
subroutine, public states_elec_copy(stout, stin, exclude_wfns, exclude_eigenval, special)
make a (selective) copy of a states_elec_t object
 
This module handles reading and writing restart information for the states_elec_t.
 
subroutine, public states_elec_load(restart, namespace, space, st, mesh, kpoints, ierr, iter, lr, lowest_missing, label, verbose, skip)
returns in ierr: <0 => Fatal error, or nothing read =0 => read all wavefunctions >0 => could only rea...