36 real(8) av0(3),t0,d,w,phi,rc
38 real(8) av(3),s0,sv(3)
44 open(50,file=
'TD_INFO.OUT',form=
'FORMATTED')
46 write(50,
'("(All units are atomic unless otherwise specified)")')
48 write(50,
'("1 atomic unit of time is ",G18.10," attoseconds")')
t_si*1.d18
50 write(50,
'("Total simulation time : ",G18.10)')
tstime 51 write(50,
'(" in attoseconds : ",G18.10)')
tstime*
t_si*1.d18
53 write(50,
'("Time step length : ",G18.10)')
dtimes 54 write(50,
'(" in attoseconds : ",G18.10)')
dtimes*
t_si*1.d18
56 write(50,
'("Number of time steps : ",I8)')
ntimes 58 write(50,
'("Number of laser pulses : ",I6)')
npulse 59 write(50,
'("Number of ramps : ",I6)')
nramp 60 write(50,
'("Number of steps : ",I6)')
nstep 88 s=d/(2.d0*sqrt(2.d0*log(2.d0)))
91 write(50,
'("Pulse : ",I6)') i
92 write(50,
'(" vector amplitude : ",3G18.10)') av0(:)
93 write(50,
'(" laser frequency : ",G18.10)') w
94 write(50,
'(" in eV : ",G18.10)') w*
ha_ev 95 write(50,
'(" laser wavelength (Angstroms) : ",G18.10)') 1.d10/(w*
ha_im)
96 write(50,
'(" phase (degrees) : ",G18.10)') phi
97 write(50,
'(" chirp rate : ",G18.10)') rc
98 write(50,
'(" peak time : ",G18.10)') t0
99 write(50,
'(" full-width at half-maximum : ",G18.10)') d
100 write(50,
'(" Gaussian σ = FWHM / 2√(2ln2) : ",G18.10)') s
101 t1=av0(1)**2+av0(2)**2+av0(3)**2
103 write(50,
'(" peak laser power density : ",G18.10)') ppd
104 write(50,
'(" in W/cm² : ",G18.10)') ppd*cpd
107 sv(1:3)=
pulse(10:12,i)
108 write(50,
'(" spin components for σ_0, σ_x, σ_y, σ_z : ")')
109 write(50,
'(4G18.10)') s0,sv(:)
116 t3=w*t1+phi*
pi/180.d0+0.5d0*rc*t**2
118 if (abs(ft) < 1.d-20) ft=0.d0
123 afspt(1:3,j,its)=
afspt(1:3,j,its)+av(1:3)*sv(j)
148 write(50,
'("Ramp : ",I6)') i
149 write(50,
'(" vector amplitude : ",3G18.10)') av0(:)
150 write(50,
'(" ramp start time : ",G18.10)') t0
151 write(50,
'(" coefficients : ",4G18.10)') t1,t2,t3,t4
154 sv(1:3)=
ramp(10:12,i)
155 write(50,
'(" spin components for σ_0, σ_x, σ_y, σ_z : ")')
156 write(50,
'(4G18.10)') s0,sv(:)
162 ft=t*(t1+t*(t2+t*(t3+t*t4)))
166 afspt(1:3,j,its)=
afspt(1:3,j,its)+av(1:3)*sv(j)
186 write(50,
'("Step : ",I6)') i
187 write(50,
'(" vector amplitude : ",3G18.10)') av0(:)
188 write(50,
'(" step start and stop times : ",2G18.10)') t0,t1
193 write(50,
'(" spin components for σ_0, σ_x, σ_y, σ_z :")')
194 write(50,
'(4G18.10)') s0,sv(:)
205 afspt(1:3,j,its)=
afspt(1:3,j,its)+av0(1:3)*sv(j)
214 open(50,file=
'AFIELDT.OUT',form=
'FORMATTED')
215 write(50,
'(I8," : number of time steps")')
ntimes 222 open(50,file=
'AFSPT.OUT',form=
'FORMATTED')
223 write(50,
'(I8," : number of time steps")')
ntimes 225 write(50,
'(I8,10G18.10)') its,
times(its),
afspt(:,:,its)
230 write(*,
'("Info(genafieldt):")')
231 write(*,
'(" Time-dependent A-field written to AFIELDT.OUT")')
233 write(*,
'(" Time- and spin-dependent A-field written to AFSPT.OUT")')
235 write(*,
'(" Laser pulse, ramp and step parameters written to TD_INFO.OUT")')
237 write(*,
'(" 1 atomic unit of time is ",G18.10," attoseconds")')
t_si*1.d18
238 write(*,
'(" Total simulation time : ",G18.10)')
tstime 239 write(*,
'(" in attoseconds : ",G18.10)')
tstime*
t_si*1.d18
real(8), dimension(:,:), allocatable ramp
real(8), dimension(:,:), allocatable pulse
real(8), dimension(:,:), allocatable afieldt
real(8), dimension(:,:), allocatable step
real(8), dimension(:), allocatable times
real(8), dimension(:,:,:), allocatable afspt