Octopus
ground_state.F90
Go to the documentation of this file.
1!! Copyright (C) 2002-2006 M. Marques, A. Castro, A. Rubio, G. Bertsch
2!!
3!! This program is free software; you can redistribute it and/or modify
4!! it under the terms of the GNU General Public License as published by
5!! the Free Software Foundation; either version 2, or (at your option)
6!! any later version.
7!!
8!! This program is distributed in the hope that it will be useful,
9!! but WITHOUT ANY WARRANTY; without even the implied warranty of
10!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11!! GNU General Public License for more details.
12!!
13!! You should have received a copy of the GNU General Public License
14!! along with this program; if not, write to the Free Software
15!! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
16!! 02110-1301, USA.
17!!
18
19#include "global.h"
20
23 use debug_oct_m
26 use global_oct_m
27 use grid_oct_m
33 use output_oct_m
35 use system_oct_m
36 use v_ks_oct_m
37
38 implicit none
39
40 private
41 public :: &
44
45contains
46
47 subroutine ground_state_run_init()
48
49 push_sub(ground_state_run_init)
50
51 call calc_mode_par%set_parallelization(p_strategy_states, default = .false.)
52#ifdef HAVE_SCALAPACK
53 call calc_mode_par%set_scalapack_compat()
54#endif
55
57 end subroutine ground_state_run_init
58
59 ! ---------------------------------------------------------
60 subroutine ground_state_run(electrons, from_scratch)
61 class(electrons_t), intent(inout) :: electrons
62 logical, intent(inout) :: from_scratch
63
64 push_sub(ground_state_run)
65
66 call electrons_ground_state_run(electrons%namespace, electrons%mc, electrons%gr, &
67 electrons%ions, electrons%ext_partners, &
68 electrons%st, electrons%ks, electrons%hm, electrons%outp, electrons%space, from_scratch)
69
70 pop_sub(ground_state_run)
71 end subroutine ground_state_run
72
73end module ground_state_oct_m
74
75!! Local Variables:
76!! mode: f90
77!! coding: utf-8
78!! End:
This module handles the calculation mode.
type(calc_mode_par_t), public calc_mode_par
Singleton instance of parallel calculation mode.
integer, parameter, public p_strategy_states
parallelization in states
subroutine, public electrons_ground_state_run(namespace, mc, gr, ions, ext_partners, st, ks, hm, outp, space, fromScratch)
This module implements the underlying real-space grid.
Definition: grid.F90:117
subroutine, public ground_state_run_init()
subroutine, public ground_state_run(electrons, from_scratch)
This module handles the communicators for the various parallelization strategies.
Definition: multicomm.F90:145
This module implements the basic mulsisystem class, a container system for other systems.
this module contains the output system
Definition: output.F90:115
This module implements the abstract system type.
Definition: system.F90:118