The tangential fields at the first boundary
are related to those at the
final boundary
by
![]() |
(215) |
| (216) | |||
| (217) |
![]() |
(218) | ||
| (219) | |||
![]() |
(220) | ||
![]() |
(221) |
The reflection and transmission coefficient for p-wave is
![]() |
(222) | ||
![]() |
(223) | ||
| (224) | |||
| (225) | |||
| (226) | |||
![]() |
(227) | ||
| (228) | |||
![]() |
(229) | ||
| (230) |
|
The SPR resonance calculation FORTRAN90 programs for N-layer system are
c234567-- spr_angle_Nlayer.f ---
c 1 | 2 | 3 ... N-2|N-1|N :N layer system
c complex calculation
implicit real*8 (a-h,o-z)
parameter (nlay=10)
complex*16 e(nlay) , em(nlay,2,2) ,emtot(2,2)
complex*16 emtot1(2,2)
dimension en(nlay), ek(nlay), d(nlay)
complex*16 beta,q,rp,q1,qn,ref,tp,tra
complex*16 fukso
c=2.99792458d8
hbar=6.5822d-16
pi=acos(-1.0d0)
c ------- N layer ----
nlayer=4
c ------ air ----
en(4)=1.d0
ek(4)=0.0d0
er=en(4)**2-ek(4)**2
ei=2.0d0*en(4)*ek(4)
e(4)=dcmplx(er,ei)
c ----- SF10 633 nm
en(1)=1.723d0
ek(1)=0.0d0
er=en(1)**2-ek(1)**2
ei=2.0d0*en(1)*ek(1)
e(1)=dcmplx(er,ei)
c ----- gold 633 nm
en(2)=0.1726d0
ek(2)=3.4218d0
er=en(2)**2-ek(2)**2
ei=2.0d0*en(2)*ek(2)
e(2)=dcmplx(er,ei)
c ---- gold thickness (m)
d(2)=50.0d-9
c ------ SAM -----------
en(3)=1.61245
ek(3)=0.0d0
er=en(3)**2-ek(3)**2
ei=2.0d0*en(3)*ek(3)
e(3)=dcmplx(er,ei)
c ----- SAM thickness ---
d(3)=1.0d-9
c
ramd=633.0d-9
omega=2.0d0*pi/ramd*c
fukso=dcmplx(0.0d0,1.0d0)
write (6,*) ramd,omega,hbar*omega
c --------- angle scan ----------
ang0=35.0d0
ang1=45.0d0
do i=1, 1001
theta=(ang0+dble(i-1)/1000.0d0*(ang1-ang0))/180.0d0*pi
q1=sqrt(e(1)-en(1)**2*sin(theta)**2)/e(1)
qn=sqrt(e(nlayer)-en(1)**2*sin(theta)**2)/e(nlayer)
do j=2, nlayer-1
beta=d(j)*2.0d0*pi/ramd*sqrt(e(j)-en(1)**2*sin(theta)**2)
q=sqrt(e(j)-en(1)**2*sin(theta)**2)/e(j)
em(j,1,1)=cos(beta)
em(j,1,2)=-fukso*sin(beta)/q
em(j,2,1)=-fukso*sin(beta)*q
em(j,2,2)=cos(beta)
enddo
emtot(1,1)=dcmplx(1.0d0,0.0d0)
emtot(2,2)=dcmplx(1.0d0,0.0d0)
emtot(1,2)=dcmplx(0.0d0,0.0d0)
emtot(2,1)=dcmplx(0.0d0,0.0d0)
do j=2, nlayer-1
emtot1(1,1)=em(j,1,1)
emtot1(1,2)=em(j,1,2)
emtot1(2,1)=em(j,2,1)
emtot1(2,2)=em(j,2,2)
emtot=matmul(emtot,emtot1)
enddo
rp=( (emtot(1,1)+emtot(1,2)*qn)*q1 -
& (emtot(2,1)+emtot(2,2)*qn) )
& / ( (emtot(1,1)+emtot(1,2)*qn)*q1 +
& (emtot(2,1)+emtot(2,2)*qn) )
tp=2.0d0*q1/( (emtot(1,1)+emtot(1,2)*qn)*q1 +
& (emtot(2,1)+emtot(2,2)*qn) )
ref=rp*conjg(rp)
tra=tp*conjg(tp)/cos(theta)*en(1)*dble(qn)
write (6,*) theta/pi*180.0d0,dble(ref),dble(tra)
enddo
end