照度分布計算その16 - デバグの続き [回折による照度分布計算]
回折による照度分布の計算の続き。ちょっと時間がかかりすぎてる。さっさと片付けよう。前回結果が解ってる条件でフラットな強度分布の場合を見てみた。今回は、基板上の照度分布を確認してみる。
1000mm離れた基板上でN.A.がカバーする範囲は244mmなのでその内部に光が来ていてその外はなくなるはずなのでこれで正しい。
ピンホールの直径を10μmにした。波長が1μmなのでちょうどエアリーディスクとぴったり同じ。この場合ピンホールのあとの分布は非常にGaussianに近くなる。まあ、見た目合ってるか。こんなもんだろ。
60°基板を傾けた。縦横比が1:2になるはず。だいたいなってるか。よくわからないのでContourPlotも描いてみて
符号を気にしないで書いていたけど、xの正の方向(右)が手前に来てるらしい。それでいいんだっけ?まあ、良しとして、まんなかの一本目の等高線の縦横比は1:2ぐらいに見える。xの負の方向(左)に分布が引張られているのは、傾いているため右側よりもピンホールから遠くなって単位面積あたりの強度が下がっているせいだと思うと正しそう。
こんなパラメータで計算する。
In[67]:= params = {fftSize -> 512, fwhmh -> 1000, fwhmv -> 1000, lambda -> 1, pupilAreaSize -> 40, focalLengthOfConversion -> 10, apertureDiameter -> 1.22*2, pinholeDiameter -> 1000, substrateDiameter -> 300, outputMeshStep -> 2, substrateAngle -> 0, substrateDecenter -> 0, distance -> 1000};ようするに、ピンホール無し(直径1mm)、入射のN.A.=0.122、基板までの距離=1000mm、基板直径=300mmで基板は光軸上にまっすぐ置いてある場合。
In[68]:= t = RunThrough["./a.out", params]; In[69]:= mx = Max[Map[Last, outputDirectIllumination /. t, 1]] Out[69]= 1.*10^-6 In[70]:= ListPlot3D[outputDirectIllumination /. t, PlotRange -> {0, mx}]
1000mm離れた基板上でN.A.がカバーする範囲は244mmなのでその内部に光が来ていてその外はなくなるはずなのでこれで正しい。
それではこのままピンホールを入れてみよう。
In[72]:= params = {fftSize -> 512, fwhmh -> 1000, fwhmv -> 1000, lambda -> 1, pupilAreaSize -> 40, focalLengthOfConversion -> 10, apertureDiameter -> 1.22*2, pinholeDiameter -> 10, substrateDiameter -> 300, outputMeshStep -> 2, substrateAngle -> 0, substrateDecenter -> 0, distance -> 1000}; In[73]:= t = RunThrough["./a.out", params]; In[74]:= mx = Max[Map[Last, outputDirectIllumination /. t, 1]] Out[74]= 1.96727*10^-6 In[75]:= ListPlot3D[outputDirectIllumination /. t, PlotRange -> {0, mx}]
ピンホールの直径を10μmにした。波長が1μmなのでちょうどエアリーディスクとぴったり同じ。この場合ピンホールのあとの分布は非常にGaussianに近くなる。まあ、見た目合ってるか。こんなもんだろ。
このまま基板を傾けてみる。
In[76]:= params = {fftSize -> 512, fwhmh -> 1000, fwhmv -> 1000, lambda -> 1, pupilAreaSize -> 40, focalLengthOfConversion -> 10, apertureDiameter -> 1.22*2, pinholeDiameter -> 10, substrateDiameter -> 300, outputMeshStep -> 2, substrateAngle -> 60, substrateDecenter -> 0, distance -> 1000}; In[77]:= t = RunThrough["./a.out", params]; In[78]:= mx = Max[Map[Last, outputDirectIllumination /. t, 1]] Out[78]= 9.87662*10^-7 In[79]:= ListPlot3D[outputDirectIllumination /. t, PlotRange -> {0, mx}]
60°基板を傾けた。縦横比が1:2になるはず。だいたいなってるか。よくわからないのでContourPlotも描いてみて
In[80]:= ListContourPlot[outputDirectIllumination /. t, PlotRange -> {0, mx}]
符号を気にしないで書いていたけど、xの正の方向(右)が手前に来てるらしい。それでいいんだっけ?まあ、良しとして、まんなかの一本目の等高線の縦横比は1:2ぐらいに見える。xの負の方向(左)に分布が引張られているのは、傾いているため右側よりもピンホールから遠くなって単位面積あたりの強度が下がっているせいだと思うと正しそう。
ま、ええんでないかい。デバグは良しとしよう。
2008-07-06 15:04
nice!(0)
コメント(0)
トラックバック(0)
コメント 0