72  integer, 
parameter :: LR = 1, 
fd = 2
 
   79    type(namespace_t),    
intent(in)    :: namespace
 
  118  subroutine run(namespace, calc_mode_id)
 
  119    type(namespace_t), 
intent(in) :: namespace
 
  120    integer,           
intent(in) :: calc_mode_id
 
  122    type(partner_list_t) :: partners
 
  123    class(system_t), 
pointer :: systems
 
  124    type(system_factory_t) :: system_factory
 
  125    type(interactions_factory_t) :: interactions_factory
 
  126    logical :: from_scratch
 
  128    type(partner_iterator_t) :: iter
 
  129    class(interaction_partner_t), 
pointer :: partner
 
  139    if (calc_mode_id == option__calculationmode__recipe) 
then 
  154    if (calc_mode_id == option__calculationmode__test) 
then 
  168      systems => electrons_t(namespace, generate_epot = calc_mode_id /= option__calculationmode__dummy)
 
  172    call systems%init_parallelization(
mpi_world)
 
  175    select type (systems)
 
  178      partners = systems%list
 
  187    type is (electrons_t)
 
  188      call partners%add(systems)
 
  192    select type (systems)
 
  194      select case (calc_mode_id)
 
  195      case (option__calculationmode__td)
 
  202    call systems%create_interactions(interactions_factory, partners)
 
  205    select type (systems)
 
  209        iunit_out = io_open(
'debug/interaction_graph.dot', systems%namespace, action=
'write')
 
  210        write(iunit_out, 
'(a)') 
'digraph {' 
  211        call systems%write_interaction_graph(iunit_out, debug%interaction_graph_full)
 
  212        write(iunit_out, 
'(a)') 
'}' 
  213        call io_close(iunit_out)
 
  217    if (.not. systems%process_is_slave()) 
then 
  233      call parse_variable(namespace, 
'FromScratch', .false., from_scratch)
 
  237      select case (calc_mode_id)
 
  238      case (option__calculationmode__gs)
 
  240      case (option__calculationmode__unocc)
 
  242      case (option__calculationmode__td)
 
  244      case (option__calculationmode__go)
 
  246      case (option__calculationmode__opt_control)
 
  248      case (option__calculationmode__em_resp)
 
  255      case (option__calculationmode__casida)
 
  257      case (option__calculationmode__vdw)
 
  258        call vdw_run(systems, from_scratch)
 
  259      case (option__calculationmode__vib_modes)
 
  266      case (option__calculationmode__one_shot)
 
  267        message(1) = 
"CalculationMode = one_shot is obsolete. Please use gs with MaximumIter = 0." 
  269      case (option__calculationmode__kdotp)
 
  271      case (option__calculationmode__dummy)
 
  272      case (option__calculationmode__invert_ks)
 
  274      case (option__calculationmode__recipe)
 
  281    select type (systems)
 
  284      call iter%start(partners)
 
  285      do while (iter%has_next())
 
  286        select type(ptr => iter%get_next())
 
  289          safe_deallocate_p(partner)
 
  292          safe_deallocate_p(partner)
 
  295          safe_deallocate_p(partner)
 
  301    safe_deallocate_p(systems)
 
  317      select case (calc_mode_id)
 
  318      case (option__calculationmode__gs, option__calculationmode__go, option__calculationmode__unocc)
 
  320      case (option__calculationmode__td)
 
  322      case (option__calculationmode__casida)
 
subroutine, public accel_init(base_grp, namespace)
 
subroutine, public accel_end(namespace)
 
This module implements the Casida equations for excited states.
 
subroutine, public casida_run_init()
 
subroutine, public casida_run(system, from_scratch)
 
subroutine, public em_resp_run(system, from_scratch)
 
subroutine, public load_external_potentials(external_potentials, namespace)
 
subroutine, public load_external_waves(partners, namespace)
 
Fast Fourier Transform module. This module provides a single interface that works with different FFT ...
 
subroutine, public fft_all_init(namespace)
initialize the table
 
subroutine, public fft_all_end()
delete all plans
 
subroutine, public geom_opt_run(system, from_scratch)
 
subroutine, public ground_state_run_init()
 
subroutine, public ground_state_run(system, from_scratch)
 
This module defines classes and functions for interaction partners.
 
subroutine, public invert_ks_run(system)
 
subroutine, public kdotp_lr_run(system, from_scratch)
 
subroutine, public load_lasers(partners, namespace)
 
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_fatal(no_lines, only_root_writes, namespace)
 
subroutine, public messages_input_error(namespace, var, details, row, column)
 
subroutine, public mpi_debug_statistics()
 
logical function mpi_grp_is_root(grp)
 
type(mpi_grp_t), public mpi_world
 
This module handles the communicators for the various parallelization strategies.
 
This module implements the basic mulsisystem class, a container system for other systems.
 
This module implements the multisystem debug functionality.
 
type(namespace_t), public global_namespace
 
This module contains the main procedure ("opt_control_run") that is used when optimal control runs ar...
 
subroutine, public opt_control_run(system)
 
logical function, public parse_is_defined(namespace, name)
 
subroutine, public phonons_run(system)
 
subroutine, public phonons_lr_run(system, from_scratch)
 
subroutine, public profiling_out(label)
Increment out counter and sum up difference between entry and exit time.
 
subroutine, public profiling_in(label, exclude)
Increment in counter and save entry time.
 
This module implements the factory for propagators.
 
subroutine, public pulpo_print()
 
subroutine, public restart_module_init(namespace)
 
top level module for all calculation modes
 
integer function get_resp_method(namespace)
query input file for the response mode.
 
subroutine, public run(namespace, calc_mode_id)
main routine to run all calculations: This routine parses the input file, sets up the systems and int...
 
subroutine, public static_pol_run(system, from_scratch)
 
integer, parameter, public system_multisystem
container system. (multisystem_basic_oct_m::multisystem_basic_t)
 
This module implements the abstract system type.
 
subroutine, public td_run_init()
 
This module implements a unit-test like runmode for Octopus.
 
subroutine, public test_run(namespace)
 
subroutine, public time_dependent_run(system, from_scratch)
 
This module defines the unit system, used for input and output.
 
subroutine, public unit_system_init(namespace)
 
subroutine, public unocc_run(system, from_scratch)
 
subroutine, public vdw_run(system, from_scratch)
 
subroutine calc_mode_init()
 
Container class for lists of system_oct_m::system_t.
 
This class defines the factory for propagators.