40 character(len=256),
private :: title
41 real(real64),
private :: znucl
42 real(real64),
private :: zion
43 integer,
private :: pspdat
44 integer,
private :: pspcod
45 integer,
private :: pspxc
48 integer,
private :: mmax
49 real(real64),
private :: r2well
52 real(real64),
private :: rchrg
53 real(real64),
private :: fchrg
54 real(real64),
private :: qchrg
61 integer,
intent(in) :: unit
62 type(ps_fhi_file_t),
intent(inout) :: psf
63 type(namespace_t),
intent(in) :: namespace
65 character(len=3) :: line
67 push_sub(read_file_data)
69 read(unit, *) psf%title
70 read(unit, *) psf%znucl, psf%zion, psf%pspdat
71 read(unit, *) psf%pspcod, psf%pspxc, psf%lmax, psf%lloc, psf%mmax, psf%r2well
73 if (psf%pspcod /= 6)
then
74 message(1) =
"Inconsistency in pseudopotential file:"
75 write(
message(2),
'(a,i2)')
" expecting pspcod = 6, but found ", psf%pspcod
79 read(unit,
'(a3)') line
80 if (line /=
'4--')
then
82 read(unit, *) psf%rchrg, psf%fchrg, psf%qchrg
90 read(unit,
'(a3)') line
91 read(unit,
'(a3)') line
92 read(unit,
'(a3)') line
94 pop_sub(read_file_data)
real(real64), parameter, public m_zero
character(len=256), dimension(max_lines), public message
to be output by fatal, warning
subroutine, public messages_fatal(no_lines, only_root_writes, namespace)
subroutine, public ps_fhi_file_read(unit, psf, namespace)