31real(8) r0,rn,rna,rt,rta
32real(8) mn(3),mt(3),bn(3),bt(3)
35real(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")')
integer, dimension(maxspecies) nrmti
real(8), parameter gfacte
real(8), dimension(:,:,:), pointer, contiguous magmt
integer, dimension(maxspecies) nrmt
integer, dimension(maxspecies) natoms
integer, dimension(maxatoms, maxspecies) idxas
real(8), parameter fourpi
integer, dimension(maxspecies) nrtmsn
real(8), dimension(maxspecies) voltmsn
character(64), dimension(maxspecies) spsymb
real(8), dimension(maxspecies) rtmsn
real(8), dimension(:,:,:), allocatable bdmt
real(8), dimension(:,:), allocatable wr2mt
real(8), dimension(maxspecies) rnucl
real(8), dimension(:,:), pointer, contiguous rhomt
real(8), dimension(maxspecies) volnucl
integer, dimension(maxspecies) nrnucl
subroutine writetest(id, descr, nv, iv, iva, tol, rv, rva, zv, zva)
pure subroutine rfmtlm(lm, nr, nri, rfmt, fr)