From 1005f723031f6bcfa4f00d4a8beadc71ee24a040 Mon Sep 17 00:00:00 2001 From: Guillaume Demesy <guillaume.demesy@fresnel.fr> Date: Wed, 20 Nov 2019 11:32:04 +0100 Subject: [PATCH] correct bug for metallic substrates --- DiffractionGratings/grating3D.pro | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/DiffractionGratings/grating3D.pro b/DiffractionGratings/grating3D.pro index 1d1d19e..f82f27f 100644 --- a/DiffractionGratings/grating3D.pro +++ b/DiffractionGratings/grating3D.pro @@ -147,12 +147,12 @@ Function{ -Sqrt[k0^2*epsr2[]-CompX[k1[]]^2-CompY[k1[]]^2] ]; k1r[] = Vector[CompX[k1[]], CompY[k1[]], -CompZ[k1[]]]; - k1s[] = (Abs[theta0]>1e-12) ? k1[]/\zhat[] / Norm[ k1[]/\zhat[]] : Vector[-Sin[phi0], Cos[phi0], 0.] ; - k2s[] = (Abs[theta0]>1e-12) ? k2[]/\zhat[] / Norm[ k2[]/\zhat[]] : Vector[-Sin[phi0], Cos[phi0], 0.] ; - k1rs[] = (Abs[theta0]>1e-12) ? k1r[]/\zhat[] / Norm[k1r[]/\zhat[]] : Vector[-Sin[phi0], Cos[phi0], 0.] ; - k1p[] = (Abs[theta0]>1e-12) ? k1[]/\k1s[] / Norm[ k1[]/\k1s[]] : Vector[ Cos[phi0], Sin[phi0], 0.] ; - k2p[] = (Abs[theta0]>1e-12) ? k2[]/\k2s[] / Norm[ k2[]/\k2s[]] : Vector[ Cos[phi0], Sin[phi0], 0.] ; - k1rp[] = (Abs[theta0]>1e-12) ? k1r[]/\k1rs[] / Norm[k1r[]/\k1rs[]] : Vector[-Cos[phi0],-Sin[phi0], 0.] ; + k1s[] = (Abs[theta0]>1e-12) ? k1[]/\zhat[] / Norm[ k1[]/\zhat[]] : Vector[-Sin[phi0], Cos[phi0], 0.] ; + k2s[] = (Abs[theta0]>1e-12) ? Re[k2[]]/\zhat[] / Norm[ Re[k2[]]/\zhat[]] : Vector[-Sin[phi0], Cos[phi0], 0.] ; + k1rs[] = (Abs[theta0]>1e-12) ? k1r[]/\zhat[] / Norm[ k1r[]/\zhat[]] : Vector[-Sin[phi0], Cos[phi0], 0.] ; + k1p[] = (Abs[theta0]>1e-12) ? k1[]/\k1s[] / Norm[ k1[]/\k1s[]] : Vector[ Cos[phi0], Sin[phi0], 0.] ; + k2p[] = (Abs[theta0]>1e-12) ? Re[k2[]]/\k2s[] / Norm[ Re[k2[]]/\k2s[]] : Vector[ Cos[phi0], Sin[phi0], 0.] ; + k1rp[] = (Abs[theta0]>1e-12) ? k1r[]/\k1rs[] / Norm[ k1r[]/\k1rs[]] : Vector[-Cos[phi0],-Sin[phi0], 0.] ; rs[] = (CompZ[k1[]]-CompZ[k2[]])/(CompZ[k1[]]+CompZ[k2[]]); ts[] = 2.*CompZ[k1[]] /(CompZ[k1[]]+CompZ[k2[]]); -- GitLab