THz Time-domain modelling
Using a single Lorentz-Oscillator model we model the responce of a materials with a variable thickneses
Download original notebookEvaluate initialization cells first
f[ω_, eps_, ω0_, ωp_, γ_] := eps + (*FB[*)(((*SpB[*)Power[ωp(*|*),(*|*)2](*]SpB*))(*,*)/(*,*)((*SpB[*)Power[ω0(*|*),(*|*)2](*]SpB*) - (*SpB[*)Power[ω(*|*),(*|*)2](*]SpB*) + I γ ω))(*]FB*)
n[ω_, params__] := (*SqB[*)Sqrt[f[ω, params]](*]SqB*) e[ω_, L_, params__] := Exp[- (*FB[*)((I 2π (*SpB[*)Power[10(*|*),(*|*)12](*]SpB*) ω n[ω, params] L)(*,*)/(*,*)(c cm2THz))(*]FB*) ] /.{c -> 3.0 (*SpB[*)Power[10(*|*),(*|*)10](*]SpB*), cm2THz -> 33.4}
Material parameters ( and )
Plot[n[x, 9.8, 28.66, 15, 1.5] // ReIm // Evaluate, {x,28.66 - 20, 28.66 + 20}, FrameLabel->{"wavenumber (cm^{-1})"}, Frame->True ]
(*VB[*)(FrontEndRef["061e0ba5-ee09-492d-88fe-801fe1ab75b8"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG5gZphokJZrqpqYaWOqaWBql6FpYpKXqWhgYpqUaJiaZmyZZAACFChXW"*)(*]VB*)
A responce of a material to a short pulse ( - function)
tds[params__] := (Join[#, Reverse[#]] &@ Table[e[ω, params], {ω, 0,100,0.1}]) // Fourier
Make it interactive
evaluate this after initialization cells
udata = {{0,0}, {500,0}}; thick = ToString[0.3]<>" mm"; Graphics[{ ColorData[97][1], Line[udata // Offload], Black, Text[thick // Offload, {300, 2.5}] }, PlotRange->{{0,400}, {-3,3}}, TransitionDuration->30, TransitionType->"Linear", Axes->True, Frame->True, FrameLabel->{"time, ps", "Electric field, nA"} ]
(*VB[*)(FrontEndRef["d459ba2d-6287-4bcd-9a4e-56d06f5e22bc"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKp5iYWiYlGqXomhlZmOuaJCWn6FommqTqmpqlGJilmaYaGSUlAwCJgRYH"*)(*]VB*)
Try to drag this slider
EventHandler[InputRange[0.001, 0.1, 0.002, "Label"->"Thickness"], Function[thickness, udata = {Range[Length[#]], #} &@ (Drop[#, -Length[#]/2//Ceiling] &@ tds[thickness, 9.8, 28., 15., 0.05] // Re) // Transpose; thick = ToString[thickness]<>" mm"; ]]
(*VB[*)(EventObject[<|"Id" -> "fea4ffb9-fc11-4ed3-95b8-a35fad6e246e", "Initial" -> 0.05, "View" -> "865fc7e3-b3dc-407b-ada6-cac6dae7a3a4"|>])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW5iZpiWbpxrrJhmnJOuaGJgn6SamJJrpJicmm6UkpponGieaAACTgBa6"*)(*]VB*)