Octopus
energy.F90
Go to the documentation of this file.
1!! Copyright (C) 2002-2006 M. Marques, A. Castro, A. Rubio, G. Bertsch
2!! Copyright (C) 2012 M. Oliveira
3!!
4!! This program is free software; you can redistribute it and/or modify
5!! it under the terms of the GNU General Public License as published by
6!! the Free Software Foundation; either version 2, or (at your option)
7!! any later version.
8!!
9!! This program is distributed in the hope that it will be useful,
10!! but WITHOUT ANY WARRANTY; without even the implied warranty of
11!! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12!! GNU General Public License for more details.
13!!
14!! You should have received a copy of the GNU General Public License
15!! along with this program; if not, write to the Free Software
16!! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17!! 02110-1301, USA.
18!!
19
20#include "global.h"
21
22module energy_oct_m
23 use debug_oct_m
24 use global_oct_m
25
26 implicit none
27
28 private
29
30 public :: &
31 energy_t, &
33
34 type energy_t
35 ! Components are public by default
36 ! Energies
37 real(real64) :: total = m_zero
42 real(real64) :: eigenvalues = m_zero
43 real(real64) :: exchange = m_zero
44 real(real64) :: exchange_hf = m_zero
45 real(real64) :: correlation = m_zero
46 real(real64) :: vdw = m_zero
47 real(real64) :: xc_j = m_zero
48 real(real64) :: intnvxc = m_zero
49 real(real64) :: hartree = m_zero
50 real(real64) :: int_ee_pcm = m_zero
51 real(real64) :: int_en_pcm = m_zero
52 real(real64) :: int_ne_pcm = m_zero
53 real(real64) :: int_nn_pcm = m_zero
54 real(real64) :: int_e_ext_pcm = m_zero
55 real(real64) :: int_n_ext_pcm = m_zero
56 real(real64) :: pcm_corr = m_zero
57 real(real64) :: kinetic = m_zero
58 real(real64) :: extern = m_zero
59 real(real64) :: extern_local = m_zero
60 real(real64) :: extern_non_local = m_zero
61 real(real64) :: entropy = m_zero
62 real(real64) :: ts = m_zero
63 real(real64) :: berry = m_zero
64 real(real64) :: delta_xc = m_zero
65 real(real64) :: dft_u = m_zero
66 real(real64) :: int_dft_u = m_zero
67 real(real64) :: intnvstatic = m_zero
68 real(real64) :: photon_exchange = m_zero
69 end type energy_t
70
71contains
72
73 subroutine energy_copy(ein, eout)
74 type(energy_t), intent(in) :: ein
75 type(energy_t), intent(out) :: eout
76
77 push_sub(energy_copy)
78
79 eout = ein
80
81 pop_sub(energy_copy)
82 end subroutine energy_copy
83
84end module energy_oct_m
85
86!! Local Variables:
87!! mode: f90
88!! coding: utf-8
89!! End:
subroutine, public energy_copy(ein, eout)
Definition: energy.F90:167
real(real64), parameter, public m_zero
Definition: global.F90:188