Skip to content
Snippets Groups Projects
Commit 1cc283cb authored by Karl-Michael Schindler's avatar Karl-Michael Schindler
Browse files

fix Drude term

- do not multiply with ε∞ (Lambin version of ωp)
- correct the index for more than one layer
- extended Drude not tested yet.
parent e540a01c
No related branches found
No related tags found
No related merge requests found
......@@ -38,7 +38,7 @@ subroutine seteps(neps, nos, oscType, osc, epsinf, wn, eps, layers)
addLorentz = dcmplx(0.0, 0.0)
addDrude = dcmplx(0.0, 0.0)
do j = 1, nos(i)
select case (oscType(i))
select case (oscType(k))
case (Lorentz) ! osc3 is lambda and not gammma
gamma = osc(1,k) * osc(3,k)
addLorentz = addLorentz + osc(1,k)**2 * osc(2,k) / dcmplx(osc(1,k)**2 - wn2, -wn * gamma)
......@@ -50,12 +50,12 @@ subroutine seteps(neps, nos, oscType, osc, epsinf, wn, eps, layers)
gamma = osc(1,k) * osc(2,k)
addDrude = addDrude - osc(1,k)**2 / dcmplx(wn2, wn * gamma)
case (extendedDrude) ! osc2 and osc3 are gamma_Plasma and Gamma_0
addDrude = addDrude - dcmplx(osc(1,k)**2, wn*(osc(2,j)-osc(3,j))) / dcmplx(wn2, wn * osc(2,j))
addDrude = addDrude - dcmplx(osc(1,k)**2, wn*(osc(2,k)-osc(3,k))) / dcmplx(wn2, wn * osc(2,k))
case default
write (*,'(A)') '*** Error in oscillator type! ***'
end select
eps(i) = epsinf(i) * (nomi / deno) + addDrude + addLorentz
k = k + 1
eps(i) = epsinf(i) * (nomi / deno + addDrude) + addLorentz
enddo
enddo
......
......@@ -3,12 +3,12 @@
001 * 1 0 0 0
002 * 1 0 0 0
003 * 1 0 0 0
004 * 0 0 1 1
004 * 0 0 0 1
005 * 0 0 0 1
006 * 1 0 1 1
006 * 1 0 0 1
007 * 1 0 0 0
008 * 1 0 0 0
009 * 1 0 1 1
009 * 1 0 0 1
010 * 1 0 0 0
011 * 1 0 0 0
012 * 1 0 0 0
......@@ -16,7 +16,7 @@
014 * 1 0 0 0
015 * 1 0 0 0
016 * 1 0 0 0
017 * 1 0 1 1
017 * 1 0 0 1
018 * 1 0 0 0
019 * 1 0 0 0
020 * 1 0 0 0
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment