pwdft  0.1
PW-DFT code for education
atm_spec.F90
Go to the documentation of this file.
1 !
2 ! Copyright (c) 2018 Mitsuaki Kawamura
3 !
4 ! Permission is hereby granted, free of charge, to any person obtaining a
5 ! copy of this software and associated documentation files (the
6 ! "Software"), to deal in the Software without restriction, including
7 ! without limitation the rights to use, copy, modify, merge, publish,
8 ! distribute, sublicense, and/or sell copies of the Software, and to
9 ! permit persons to whom the Software is furnished to do so, subject to
10 ! the following conditions:
11 !
12 ! The above copyright notice and this permission notice shall be included
13 ! in all copies or substantial portions of the Software.
14 !
15 ! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 ! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 ! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 ! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 ! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 ! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 ! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 !
23 module atm_spec
24  !
25  implicit none
26  !
27  type atm_t
28  integer :: ityp
29  character(256) :: elem
30  real(8) :: pos(3)
31  end type atm_t
32  !
33  type spec_t
34  character(256) :: &
35  & elem, & !< Element name
36  & ps_file !< Pseudopotential file name
37  real(8) :: &
38  & zion, & !< Ion charge
39  & zatom !< Nuclear charge
40  integer :: &
41  & mmax !< Number of radial grid for PseudoPot.
42  real(8),allocatable :: &
43  & psr(:), & !< Radial grid [Bohr]
44  & psV(:) !< V_ps [Htr]
45  end type spec_t
46  !
47  integer,save :: &
48  & nat, & !< Number of atoms
49  & ntyp !< Number of species (elements)
50  real(8),save :: &
51  & Vcell, & !< Unit cell volume [Bohr^3]
52  & nelec, & !< Number of electrons per u.c.
53  & avec(3,3), & !< Unit lattice vector [Bohr]
54  & bvec(3,3) !< Unit reciplocal lattice vector [Bohr^-1]
55  type(atm_t),allocatable,save :: &
56  & atm(:) !< (nat) Atom
57  type(spec_t),allocatable,save :: &
58  & spec(:) !< (ntyp) Species
59  !
60 end module atm_spec
atm_spec::atm_t
Definition: atm_spec.F90:27
atm_spec::spec_t
Definition: atm_spec.F90:33
atm_spec
Definition: atm_spec.F90:23