30 integer nr,nri,nrn,nrt
31 real(8) r0,rn,rna,rt,rta
32 real(8) mn(3),mt(3),bn(3),bt(3)
35 real(8),
allocatable :: fr(:)
59 open(50,file=
'MOSSBAUER.OUT',form=
'FORMATTED')
73 write(50,
'("Species : ",I4," (",A,"), atom : ",I4)') is,trim(
spsymb(is)),&
76 write(50,
'(" approximate nuclear radius : ",G18.10)')
rnucl(is)
77 write(50,
'(" number of mesh points to nuclear radius : ",I6)') nrn
78 write(50,
'(" Thomson radius : ",G18.10)')
rtmsn(is)
79 write(50,
'(" number of mesh points to Thomson radius : ",I6)') nrt
91 t1=dot_product(
wr2mt(1:nrn,is),fr(1:nrn))
96 t1=dot_product(
wr2mt(1:nrt,is),fr(1:nrt))
100 write(50,
'(" Contact density :")')
101 write(50,
'(" at nuclear center : ",G18.10)') r0
102 write(50,
'(" at nuclear surface : ",G18.10)') rn
103 write(50,
'(" average in nuclear volume : ",G18.10)') rna
104 write(50,
'(" at Thomson radius : ",G18.10)') rt
105 write(50,
'(" average in Thomson volume : ",G18.10)') rta
116 t1=dot_product(
wr2mt(1:nrn,is),fr(1:nrn))
119 t1=dot_product(
wr2mt(1:nrt,is),fr(1:nrt))
127 write(50,
'(" Contact average in nuclear volume :")')
128 write(50,
'(" moment (mu_B) : ",3G18.10)') mn(1:
ndmag)
129 write(50,
'(" magnetic field : ",3G18.10)') bn(1:
ndmag)
130 write(50,
'(" tesla : ",3G18.10)')
b_si*bn(1:
ndmag)
132 write(50,
'(" Contact average in Thomson volume :")')
133 write(50,
'(" moment (mu_B) : ",3G18.10)') mt(1:
ndmag)
134 write(50,
'(" magnetic field : ",3G18.10)') bt(1:
ndmag)
135 write(50,
'(" tesla : ",3G18.10)')
b_si*bt(1:
ndmag)
143 t1=dot_product(
wr2mt(1:nrn,is),fr(1:nrn))
146 t1=dot_product(
wr2mt(1:nrt,is),fr(1:nrt))
151 write(50,
'(" Average dipole field in nuclear volume :")')
153 write(50,
'(" spin and orbital : ",3G18.10)') bn
155 write(50,
'(" spin : ",3G18.10)') bn
157 write(50,
'(" tesla : ",3G18.10)')
b_si*bn
159 write(50,
'(" Average dipole field in Thomson volume :")')
161 write(50,
'(" spin and orbital : ",3G18.10)') bt
163 write(50,
'(" spin : ",3G18.10)') bt
165 write(50,
'(" tesla : ",3G18.10)')
b_si*bt
168 call writetest(110,
'hyperfine field',nv=3,tol=1.d-4,rva=bn)
176 write(50,
'("Note that the contact term is implicitly included in the & 177 &spin dipole field")')
178 write(50,
'(" but may not match exactly with the directly & 179 &calculated value.")')
183 write(*,
'("Info(mossbauer):")')
184 write(*,
'(" Mossbauer parameters written to MOSSBAUER.OUT")')
real(8), dimension(maxspecies) rnucl
subroutine writetest(id, descr, nv, iv, iva, tol, rv, rva, zv, zva)
integer, dimension(maxatoms, maxspecies) idxas
real(8), dimension(:,:,:), allocatable bdmt
real(8), dimension(:,:), pointer, contiguous rhomt
integer, dimension(maxspecies) nrtmsn
pure subroutine rfmtlm(lm, nr, nri, rfmt, fr)
real(8), dimension(:,:,:), pointer, contiguous magmt
real(8), dimension(maxspecies) rtmsn
real(8), parameter gfacte
real(8), dimension(maxspecies) voltmsn
integer, dimension(maxspecies) natoms
integer, dimension(maxspecies) nrnucl
real(8), parameter fourpi
real(8), dimension(maxspecies) volnucl
integer, dimension(maxspecies) nrmti
character(64), dimension(maxspecies) spsymb
real(8), dimension(:,:), allocatable wr2mt
integer, dimension(maxspecies) nrmt