Octopus
time_dependent.F90
Go to the documentation of this file.
1!! Copyright (C) 2019-2020 M. Oliveira, H. Appel, N. Tancogne-Dejean
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
22 use debug_oct_m
24 use global_oct_m
29 use parser_oct_m
32 use system_oct_m
33 use td_oct_m
34
35 implicit none
36
37 private
38 public :: time_dependent_run
39
40contains
41
42 ! ---------------------------------------------------------
43 subroutine time_dependent_run(electrons, from_scratch)
44 class(electrons_t), intent(inout) :: electrons
45 logical, intent(inout) :: from_scratch
46
47 push_sub(time_dependent_run)
48
49 call td_init(electrons%td, electrons%namespace, electrons%space, electrons%gr, electrons%ions, electrons%st, electrons%ks, &
50 electrons%hm, electrons%ext_partners, electrons%outp, electrons%dmp)
51 call td_init_run(electrons%td, electrons%namespace, electrons%mc, electrons%gr, electrons%ions, electrons%st, electrons%ks, &
52 electrons%hm, electrons%ext_partners, electrons%outp, electrons%space, electrons%dmp, from_scratch)
53 call td_run(electrons%td, electrons%namespace, electrons%mc, electrons%gr, electrons%ions, electrons%st, electrons%ks, &
54 electrons%hm, electrons%ext_partners, electrons%outp, electrons%space, electrons%dmp, from_scratch)
55 call td_end_run(electrons%td, electrons%st, electrons%hm, electrons%dmp)
56 call td_end(electrons%td)
57
58 pop_sub(time_dependent_run)
59 end subroutine time_dependent_run
60
61end module time_dependent_oct_m
This module implements the basic mulsisystem class, a container system for other systems.
This module implements the multisystem debug functionality.
This module implements the abstract system type.
Definition: system.F90:120
Definition: td.F90:116
subroutine, public td_end(td)
Definition: td.F90:649
subroutine, public td_init(td, namespace, space, gr, ions, st, ks, hm, ext_partners, outp, dmp)
Definition: td.F90:239
subroutine, public td_init_run(td, namespace, mc, gr, ions, st, ks, hm, ext_partners, outp, space, dmp, from_scratch)
Definition: td.F90:529
subroutine, public td_run(td, namespace, mc, gr, ions, st, ks, hm, ext_partners, outp, space, dmp, from_scratch)
Definition: td.F90:689
subroutine, public td_end_run(td, st, hm, dmp)
Definition: td.F90:664
subroutine, public time_dependent_run(electrons, from_scratch)