OpticStudio で利用可能な散乱モデル

この記事では、OpticStudio で利用できる表面およびバルク散乱モデルの概要を紹介します。DLL 散乱モデルや、ビルトイン散乱モデルで使用される双方向散乱分布関数 (BSDF) や確率分布関数についても説明しています。また、各散乱モデルをどのような状況で使用するかについての、一般的なガイド ラインについても説明しています。

著者 Sanjay Gangadhara

Introduction

どのような光学系でも、光は面の粗さなどによって境界面で散乱したり、光と粒子との相互作用によって体積のバルク内部で散乱したりします。これらの散乱現象は、どちらも OpticStudio のノンシーケンシャル モードでモデル化できます。

OpticStudio には表面およびバルク散乱を記述する数々のモデルが用意されています。この記事は、これらのモデルの概要を紹介することを目的としています。各モデルの詳細は、OpticStudio ヘルプ ファイルの「[設定] (Setup) タブ > [エディタ] (Editor) グループ ([設定] (Setup) タブ) > ノンシーケンシャル コンポーネント エディタ > ノンシーケンシャルの概要 > 散乱 (ノンシーケンシャルの概要) > 使用可能な散乱モデル」の章、およびこの記事でも触れる、関連するナレッジ ベースの記事 を参照してください。

表面散乱モデル

Zemax には、数々の面散乱モデルが用意されています。標準付属のモデルのほか、ユーザー定義の DLL モデルも使用できます。一般的に、これらのモデルは次の式のような双方向散乱分布関数 (BSDF) で記述します。

Equation

 

ここで、dLs は散乱光の放射輝度、dEi  は入射光の放射照度、θは面法線から測定した極角度、φは方位角、添え字の i および s はそれぞれ入射光と散乱光の方向を表します。BSDF は、θとφによる極座標ではなく、ベクトル x で定義することもできます。x は散乱光線と正反射光線間の変位ベクトルを平面上に投影したベクトルです。

Layout

 

詳細については、OpticStudio のヘルプ ファイルの「[設定] (Setup) タブ > [エディタ] (Editor) グループ ([設定] (Setup) タブ) > ノンシーケンシャル コンポーネント エディタ > ノンシーケンシャルの概要 > 散乱 (ノンシーケンシャルの概要)」の章を参照してください。


ビルトイン表面散乱モデル

モデル名 BSDF 備考
ランバーシアン BSDF = 1/π
  • 散乱光線の投影ベクトルが投影面上で示す確率がどこでも等しくなります。
  • 散乱強度は cos(θs) に従って変化します。
  • 散乱強度は入射角に依存しません。
ガウシアン BSDF(x) = A*exp[-|x|2/σ2]
  • 散乱分布は、方向余弦空間で対称です。
  • 投影平面上のガウス分布の幅はσ の値で決まります。
  • σ の最大許容値は 5 です (σ> 5 では分布がほぼランバーシアンになります)。
ABg BSDF(x) = A/[B + |x|g]
  • ランダムで等方的な面の粗さに起因する散乱のモデル化に広く使用されています。
  • A、B、g の入力値が ASCII ファイルとして用意されています ((Zemax フォルダ)\ABg_Dataフォルダ内)。
  • 入力値に対する制限 : A >= 0、B >= 1.0E-12 (g ≠ 0 の場合。g = 0 ならば B = 0 とすることができます)。

 

DLL 表面散乱モデル

モデル名 BSDF 備考
Lambertian.DLL BSDF = 1/π
  • 標準付属のランバーシアン モデルと同じで、DLL の作成方法を紹介するためのモデルです。
TwoGaussian.DLL ランバーシアンとガウシアンの組み合わせによる分布です。
  • ランバーシアン散乱とガウシアン散乱に割り当てるエネルギーの比率をユーザー側で指定します。
  • 独立した入力である幅 (σ) とエネルギー比率を指定して 2 つのガウシアン分布をモデル化します。
  • エネルギー比率の和が 1 以下であることをユーザー側で確認する必要があります。
Gaussian_XY.DLL

BSDF ではなく、確率分布 P で散乱を記述します。

P(p,q) = (4/(π*σp*σq))*exp[-((p/σp)2 + (q/σq)2)]

  • 投影平面上で軸方向のガウシアン分布を表します。
  • p は入射平面 (POI) 上にあり、q は POI の法線です。
  • 特別な場合を除き、(p, q) の各軸は光学系の (x, y) 軸に相当しません。
  • σp、σq は 0 を超える値または 1 未満の値とすることができます (0 以上で 1 以下の場合はランバーシアンになります)。
  • 詳細は、記事「ユーザー定義散乱関数の作成方法」を参照してください。
K-correlation.DLL BSDF(x) = A*σ2*cos(θi)*cos(θs)/[1 + (B*|x|/λ)2](s/2)
  • 面の微小な粗さに起因する散乱の特性を記述します。
  • ABg に似たモデルであり、角度が小さいロールオフを追加しているので、多くの面仕上げの特性を表すうえで効果的なモデルです。
  • σは、面の粗さの RMS 値を表します。他の入力については記事「K- 相関分布を使用して面での散乱をモデル化する方法」を参照してください。
RI_BSDF.DLL ASCII ファイルとして入力で指定する BSDF です。

 

ここまで説明したどの分布も、目的とする光学系のバルク散乱をモデル化するうえで不十分である場合は、独自の DLL モデルを作成できます。その方法は「ユーザー定義散乱関数の作成方法」で紹介しています。



バルク散乱モデル

OpticStudio には、数々のバルク散乱モデルが用意されています。標準装備のモデルのほか、ユーザー定義の DLL モデルも使用できます。次式のように、散乱角に対する確率分布関数 (P) でモデルを記述することが普通です。どのような場合でも、散乱の発生確率は指数関数で表されます。

p(x) = 1.0 - exp[-μ*x]

ここで、x は光が体積内部を伝搬した距離、µ は体積内部での散乱の平均自由光路 M の逆数です (µ = 1/M)。バルク散乱では、光線の軌道に加えて、波長も変更することができるので、蛍光もモデル化できます (蛍光に関する詳細は記事「バルク散乱を使用して蛍光をモデル化する方法」を参照してください)。詳細は、OpticStudio のヘルプ ファイルの「ノンシーケンシャル コンポーネント」の章を参照してください。
 

ビルドイン散乱モデル

モデル名 確率分布関数 備考
角度散乱 P(θ) = 1/2
  • あらゆる角度への散乱確率が一定です。
  • 散乱角の最大値をユーザー入力で設定できます (パラメータ「Angle」)。

 

DLL 散乱モデル

モデル名 確率分布関数 備考
Bulk_samp_1.DLL P(θ) = 1/2
  • 標準付属の角度散乱と同じで、DLL の作成方法を紹介するためのモデルです。
Poly_bulk_scat.DLL P(θ) =  ∑ciθi
  • 多項式で記述した角度散乱分布です。
  • 合計する範囲は、i = 0 ~ 12 です (最大 12 次の多項式でモデル化できます)。

 

Henyey-Greenstein_bulk.DLL

P(θ) = (1/4π)*(1 - g2)/[1 + g2 – 2g*cos(θ)]3/2

  • 微小粒子による散乱の特性を記述します。
  • 生体組織や星間雲などの中で発生する散乱の記述で効果的です。
  • g の入力値の範囲は 10-4 (均一な角度分布) から 1.0 (θ = 0 近辺でピーク状の最大値となる分布) です。
  • 詳細は、記事「Henyey-Greenstein 分布を使用したバルク散乱のモデル化」を参照してください。
Rayleigh.DLL P(θ,λ) = 0.375*(1 + cos2θ)/λ4
  • 光の波長よりもはるかに小さいサイズの微粒子による散乱の特性を記述します。
  • 平均自由光路を波長でスケーリングします (~λ4)。
  • 詳細は、記事「レイリー モードによるバルク散乱」を参照してください。
Mie.DLL 球ベッセル関数1 の総和で確率分布が求められます。

 

ここまでに説明したどの分布も、目的の光学系でのバルク散乱をモデル化するうえで不十分である場合は、独自の DLL モデルを作成できます。その出発点として、上記の DLL に用意されているソース コードを使用してください。

References

1. Craig F. Bohren and Donald R. Huffman, “Absorption and Scattering of Light by Small Particles”, John Wiley & Sons (1983).

KA-01415

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

サインインしてコメントを残してください。