Octopus
element.F90
Go to the documentation of this file.
1
!! Copyright (C) 2015 X. Andrade
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
21
module
element_oct_m
22
use,
intrinsic
:: iso_fortran_env
23
24
implicit none
25
26
private
27
public
:: &
28
element_t
, &
29
element_init
, &
30
element_end
, &
31
element_mass
, &
32
element_vdw_radius
, &
33
element_valid
, &
34
element_atomic_number
35
36
type
element_t
37
private
38
integer(int64)
:: dummy
39
end type
element_t
40
41
interface
42
43
! -------------------------------------------------
44
45
subroutine
element_init
(self, symbol)
46
import
::
element_t
47
implicit none
48
49
type
(element_t),
intent(out)
:: self
50
character(len=*)
,
intent(in)
:: symbol
51
end subroutine
element_init
52
53
! -------------------------------------------------
54
55
subroutine
element_end
(self)
56
import
::
element_t
57
implicit none
58
59
type
(element_t),
intent(inout)
:: self
60
end subroutine
element_end
61
62
! ------------------------------------
63
64
real
(real64) function element_mass(self)
65
use,
intrinsic
:: iso_fortran_env
66
import
::
element_t
67
implicit none
68
69
type
(element_t),
intent(in)
:: self
70
end function
element_mass
71
72
! ------------------------------------
73
74
real
(real64) function element_vdw_radius(self)
75
use,
intrinsic
:: iso_fortran_env
76
import
::
element_t
77
implicit none
78
79
type
(element_t),
intent(in)
:: self
80
end function
element_vdw_radius
81
82
! ------------------------------------
83
84
integer
function
element_atomic_number
(self)
85
import
::
element_t
86
implicit none
87
88
type
(element_t),
intent(in)
:: self
89
end function
element_atomic_number
90
91
end interface
92
93
94
contains
95
96
logical
function
element_valid
(self)
result
(valid)
97
type
(element_t),
intent(in)
:: self
98
99
interface
100
integer
function
element_valid_low(self)
101
import
::
element_t
102
implicit none
103
104
type
(element_t),
intent(in)
:: self
105
end function
element_valid_low
106
end interface
107
108
valid = element_valid_low(self) /= 0
109
end function
element_valid
110
111
end module
element_oct_m
112
113
!! Local Variables:
114
!! mode: f90
115
!! coding: utf-8
116
!! End:
element_oct_m::element_atomic_number
Definition:
element.F90:177
element_oct_m::element_end
Definition:
element.F90:148
element_oct_m::element_init
Definition:
element.F90:138
element_oct_m::element_mass
Definition:
element.F90:157
element_oct_m::element_vdw_radius
Definition:
element.F90:167
element_oct_m
Definition:
element.F90:114
element_oct_m::element_valid
logical function, public element_valid(self)
Definition:
element.F90:190
element_oct_m::element_t
Definition:
element.F90:129
species
element.F90
Generated on Thu Dec 19 2024 01:21:35 for Octopus by
1.9.4