61    logical, 
public :: calc_spm
 
   62    type(pes_spm_t) :: spm
 
   64    logical, 
public :: calc_mask
 
   65    type(pes_mask_t) :: mask
 
   67    logical, 
public :: calc_flux
 
   68    type(pes_flux_t) :: flux
 
   72  integer, 
parameter ::     &
 
   73    PHOTOELECTRON_NONE = 0, &
 
   81  subroutine pes_init(pes, namespace, space, mesh, box, st, save_iter, kpoints, abs_boundaries, ext_partners, max_iter, dt)
 
   82    type(pes_t),                  
intent(out)   :: pes
 
   83    type(namespace_t),            
intent(in)    :: namespace
 
   84    class(space_t),               
intent(in)    :: space
 
   85    class(mesh_t),                
intent(in)    :: mesh
 
   86    class(box_t),                 
intent(in)    :: box
 
   87    type(states_elec_t),          
intent(in)    :: st
 
   88    integer,                      
intent(in)    :: save_iter
 
   89    type(kpoints_t),              
intent(in)    :: kpoints
 
   90    type(absorbing_boundaries_t), 
intent(in)    :: abs_boundaries
 
   91    type(partner_list_t),         
intent(in)    :: ext_partners
 
   92    integer,                      
intent(in)    :: max_iter
 
   93    real(real64),                 
intent(in)    :: dt
 
   95    integer :: photoelectron_flags
 
  125    call parse_variable(namespace, 
'PhotoElectronSpectrum', photoelectron_none, photoelectron_flags)
 
  135    if (pes%calc_spm .or. pes%calc_mask .or. pes%calc_flux) 
then 
  140    if (pes%calc_spm)  
call pes_spm_init(pes%spm, namespace, mesh, st, save_iter)
 
  141    if (pes%calc_mask) 
then 
  142      call pes_mask_init(pes%mask, namespace, space, mesh, box, st, ext_partners, &
 
  143        abs_boundaries, max_iter,dt)
 
  145    if (pes%calc_flux) 
then 
  147        ext_partners, kpoints, abs_boundaries, save_iter, max_iter)
 
  152    if (pes%calc_spm .or. pes%calc_mask .or. pes%calc_flux) 
then 
  162    type(
pes_t), 
intent(inout) :: pes
 
  175  subroutine pes_calc(pes, namespace, space, mesh, st, dt, iter, der, kpoints, ext_partners, stopping)
 
  176    type(
pes_t),              
intent(inout) :: pes
 
  178    class(
space_t),           
intent(in)    :: space
 
  179    class(
mesh_t),            
intent(in)    :: mesh
 
  182    real(real64),             
intent(in)    :: dt
 
  183    integer,                  
intent(in)    :: iter
 
  186    logical,                  
intent(in)    :: stopping
 
  190    if (pes%calc_spm)  
call pes_spm_calc(pes%spm, st, mesh, dt, iter, ext_partners)
 
  191    if (pes%calc_mask) 
call pes_mask_calc(pes%mask, namespace, space, mesh, st, kpoints, dt, iter)
 
  192    if (pes%calc_flux) 
then 
  193      call pes_flux_calc(pes%flux, space, mesh, st, der, ext_partners, kpoints, iter, dt, stopping)
 
  201  subroutine pes_output(pes, namespace, space, gr, st, iter, outp, dt, ions)
 
  202    type(
pes_t),         
intent(inout) :: pes
 
  204    class(
space_t),      
intent(in)    :: space
 
  205    type(
grid_t),        
intent(in)    :: gr
 
  207    integer,             
intent(in)    :: iter
 
  209    real(real64),        
intent(in)    :: dt
 
  210    type(
ions_t),        
intent(in)    :: ions
 
  214    if (pes%calc_spm) 
call pes_spm_output(pes%spm, gr, st, namespace, iter, dt)
 
  216    if (pes%calc_mask) 
call pes_mask_output (pes%mask, gr, st, outp, namespace, space, 
"td.general/PESM", ions,iter)
 
  218    if (pes%calc_flux) 
call pes_flux_output(pes%flux, gr%box, st, namespace)
 
  225  subroutine pes_dump(pes, namespace, restart, st, mesh, ierr)
 
  226    type(
pes_t),         
intent(in)  :: pes
 
  230    class(
mesh_t),       
intent(in)  :: mesh
 
  231    integer,             
intent(out) :: ierr
 
  243      message(1) = 
"Debug: Writing PES restart." 
  247    if (pes%calc_mask) 
then 
  251    if (pes%calc_flux) 
then 
  255    if (pes%calc_spm) 
then 
  260      message(1) = 
"Debug: Writing PES restart done." 
  269  subroutine pes_load(pes, namespace, restart, st, ierr)
 
  270    type(
pes_t),         
intent(inout) :: pes
 
  274    integer,             
intent(out)   :: ierr
 
  287      message(1) = 
"Debug: Reading PES restart." 
  291    if (pes%calc_mask) 
then 
  295    if (pes%calc_flux) 
then 
  299    if (pes%calc_spm) 
then 
  304      message(1) = 
"Debug: Reading PES restart done." 
  314    type(
pes_t),         
intent(in)  :: pes
 
  315    class(
mesh_t),       
intent(in)  :: mesh
 
type(debug_t), save, public debug
 
This module calculates the derivatives (gradients, Laplacians, etc.) of a function.
 
This module implements the underlying real-space grid.
 
This module defines classes and functions for interaction partners.
 
This module defines the meshes, which are used in Octopus.
 
subroutine, public messages_print_with_emphasis(msg, iunit, 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_input_error(namespace, var, details, row, column)
 
logical function mpi_grp_is_root(grp)
 
type(mpi_grp_t), public mpi_world
 
this module contains the output system
 
subroutine, public pes_flux_calc(this, space, mesh, st, der, ext_partners, kpoints, iter, dt, stopping)
 
subroutine, public pes_flux_output(this, box, st, namespace)
 
subroutine, public pes_flux_load(restart, this, st, ierr)
 
subroutine, public pes_flux_dump(restart, this, mesh, st, ierr)
 
subroutine, public pes_flux_end(this)
 
subroutine, public pes_flux_init(this, namespace, space, mesh, st, ext_partners, kpoints, abb, save_iter, max_iter)
 
subroutine, public pes_mask_calc(mask, namespace, space, mesh, st, kpoints, dt, iter)
 
subroutine, public pes_mask_dump(mask, namespace, restart, st, ierr)
 
subroutine, public pes_mask_output(mask, gr, st, outp, namespace, space, file, ions, iter)
This routine is the main routine dedicated to the output of PES data.
 
subroutine, public pes_mask_init(mask, namespace, space, mesh, box, st, ext_partners, abs_boundaries, max_iter, dt)
 
subroutine, public pes_mask_load(mask, namespace, restart, st, ierr)
 
subroutine, public pes_mask_end(mask)
 
subroutine, public pes_calc(pes, namespace, space, mesh, st, dt, iter, der, kpoints, ext_partners, stopping)
 
subroutine, public pes_init(pes, namespace, space, mesh, box, st, save_iter, kpoints, abs_boundaries, ext_partners, max_iter, dt)
 
subroutine, public pes_output(pes, namespace, space, gr, st, iter, outp, dt, ions)
 
subroutine, public pes_init_write(pes, mesh, st, namespace)
 
subroutine, public pes_end(pes)
 
subroutine, public pes_load(pes, namespace, restart, st, ierr)
 
integer, parameter photoelectron_spm
 
integer, parameter photoelectron_flux
 
integer, parameter photoelectron_mask
 
subroutine, public pes_dump(pes, namespace, restart, st, mesh, ierr)
 
subroutine, public pes_spm_dump(restart, this, st, ierr)
 
subroutine, public pes_spm_init_write(this, mesh, st, namespace)
 
subroutine, public pes_spm_output(this, mesh, st, namespace, iter, dt)
 
subroutine, public pes_spm_calc(this, st, mesh, dt, iter, ext_partners)
 
subroutine, public pes_spm_init(this, namespace, mesh, st, save_iter)
 
subroutine, public pes_spm_load(restart, this, st, ierr)
 
subroutine, public pes_spm_end(this)
 
logical pure function, public restart_skip(restart)
Returns true if the restart information should neither be read nor written. This might happen because...
 
class representing derivatives
 
Description of the grid, containing information on derivatives, stencil, and symmetries.
 
Describes mesh distribution to nodes.
 
The states_elec_t class contains all electronic wave functions.