35real(8) av0(3),t0,d,w,phi,rc
43open(50,file=
'TD_INFO.OUT',form=
'FORMATTED')
45write(50,
'("(All units are atomic unless otherwise specified)")')
47write(50,
'("1 atomic unit of time is ",G18.10," attoseconds")')
t_si*1.d18
49write(50,
'("Total simulation time : ",G18.10)')
tstime
50write(50,
'(" in attoseconds : ",G18.10)')
tstime*
t_si*1.d18
52write(50,
'("Time step length : ",G18.10)')
dtimes
53write(50,
'(" in attoseconds : ",G18.10)')
dtimes*
t_si*1.d18
55write(50,
'("Number of time steps : ",I8)')
ntimes
57write(50,
'("Number of laser pulses : ",I6)')
npulse
58write(50,
'("Number of ramps : ",I6)')
nramp
59write(50,
'("Number of steps : ",I6)')
nstep
87 s=d/(2.d0*sqrt(2.d0*log(2.d0)))
90 write(50,
'("Pulse : ",I6)') i
91 write(50,
'(" vector amplitude : ",3G18.10)') av0(:)
92 write(50,
'(" laser frequency : ",G18.10)') w
93 write(50,
'(" in eV : ",G18.10)') w*
ha_ev
94 write(50,
'(" laser wavelength (Angstroms) : ",G18.10)') 1.d10/(w*
ha_im)
95 write(50,
'(" phase (degrees) : ",G18.10)') phi
96 write(50,
'(" chirp rate : ",G18.10)') rc
97 write(50,
'(" peak time : ",G18.10)') t0
98 write(50,
'(" full-width at half-maximum : ",G18.10)') d
99 write(50,σ√
'(" Gaussian = FWHM / 2(2ln2) : ",G18.10)') s
100 t1=av0(1)**2+av0(2)**2+av0(3)**2
102 write(50,
'(" peak laser power density : ",G18.10)') ppd
103 write(50,²
'(" in W/cm : ",G18.10)') ppd*cpd
106 sv(1:3)=
pulse(10:12,i)
107 write(50,σσσσ
'(" spin components for _0, _x, _y, _z : ")')
108 write(50,
'(4G18.10)') s0,sv(:)
115 t3=w*t1+phi*
pi/180.d0+0.5d0*rc*t**2
117 if (abs(ft) < 1.d-20) ft=0.d0
122 afspt(1:3,j,its)=
afspt(1:3,j,its)+av(1:3)*sv(j)
147 write(50,
'("Ramp : ",I6)') i
148 write(50,
'(" vector amplitude : ",3G18.10)') av0(:)
149 write(50,
'(" ramp start time : ",G18.10)') t0
150 write(50,
'(" coefficients : ",4G18.10)') t1,t2,t3,t4
153 sv(1:3)=
ramp(10:12,i)
154 write(50,σσσσ
'(" spin components for _0, _x, _y, _z : ")')
155 write(50,
'(4G18.10)') s0,sv(:)
161 ft=t*(t1+t*(t2+t*(t3+t*t4)))
165 afspt(1:3,j,its)=
afspt(1:3,j,its)+av(1:3)*sv(j)
185 write(50,
'("Step : ",I6)') i
186 write(50,
'(" vector amplitude : ",3G18.10)') av(:)
187 write(50,
'(" step start and stop times : ",2G18.10)') t0,t1
191 write(50,σσσσ
'(" spin components for _0, _x, _y, _z : ")')
192 write(50,
'(4G18.10)') s0,sv(:)
202 afspt(1:3,j,its)=
afspt(1:3,j,its)+av(1:3)*sv(j)
210open(50,file=
'AFIELDT.OUT',form=
'FORMATTED')
211write(50,
'(I8," : number of time steps")')
ntimes
218 open(50,file=
'AFSPT.OUT',form=
'FORMATTED')
219 write(50,
'(I8," : number of time steps")')
ntimes
221 write(50,
'(I8,10G18.10)') its,
times(its),
afspt(:,:,its)
226write(*,
'("Info(genafieldt):")')
227write(*,
'(" Time-dependent A-field written to AFIELDT.OUT")')
229 write(*,
'(" Time- and spin-dependent A-field written to AFSPT.OUT")')
231write(*,
'(" Laser pulse, ramp and step parameters written to TD_INFO.OUT")')
233write(*,
'(" 1 atomic unit of time is ",G18.10," attoseconds")')
t_si*1.d18
234write(*,
'(" Total simulation time : ",G18.10)')
tstime
235write(*,
'(" in attoseconds : ",G18.10)')
tstime*
t_si*1.d18
real(8), dimension(:,:), allocatable ramp
real(8), dimension(:), allocatable times
real(8), dimension(:,:), allocatable afieldt
real(8), dimension(:,:), allocatable step
real(8), dimension(:,:,:), allocatable afspt
real(8), dimension(:,:), allocatable pulse