This article provides a summary of the surface and bulk scattering models available in OpticStudio. It describes the bi-directional scattering distribution function (BSDF) used by different built-in scattering models as well as the DLL scattering models. It also provides a general guideline on when to use each scattering model.

**Authored By Sanjay Gangadhara **

## Introduction

In any optical system, light may be scattered at a surface boundary (e.g., due to surface roughness) as well as within the bulk of a volume (e.g., due to light-particle interaction). Both scattering phenomena may be modeled in the Non-Sequential Mode of OpticStudio.

OpticStudio provides several models to describe surface and bulk scattering. This article is meant to provide a summary of these models. More details on each model may be found in the OpticStudio Help File section: “The Setup Tab>Editors Group (Setup Tab)>Non-sequential Component Editor>Non-sequential Overview>Scattering (non-sequential overview)>Available Scatter Models”, as well as in associated Knowledgebase articles.

## Surface scattering models

A number of models are available to model surface scattering in OpticStudio. These include built-in models as well as user-defined DLL models. The models are generally described in terms of the bi-directional scattering distribution function (BSDF).

where `dL _{s}` is the scattered radiance,

`dE`is the incident irradiance,

_{i}`θ`is the polar angle as measured from the surface normal,

`ϕ`is the azimuthal angle, and the subscripts

`i`and

`s`refer to the incident and scattered directions, respectively. The BSDF can also be defined in terms of the vector

`rather than the polar coordinates`

__x__`θ`and

`ϕ`;

`represents the vector displacement between the scattered ray and the specular ray in the projected plane:`

__x__More details on each model may be found in the OpticStudio help file entitled “Scattering”

Built-in surface scattering models

Model |
BSDF |
Description |

Lambertian | BSDF = 1/π |
The scattered ray projection vector has equal probability anywhere on the projected plane. This results in a scattered intensity variation of the form cos( |

Gaussian | BSDF() = xA*exp[-||x^{2}/σ^{2}] |
The scattering distribution is symmetric in direction cosine space, and |

ABg | BSDF() = xA/[B + ||x]^{g} |
Widely used to model scattering due to random isotropic surface roughness. Input values for A, B, and g are provided in an ASCII file (in the <data>\ABg_Data\ directory). Input value limitations: A >= 0, B >= 1.0E-12 (unless g = 0, then B = 0 is allowed) |

### DLL surface scattering models

Model |
BSDF |
Description |

Lambertian | BSDF = 1/π |
Same as built-in Lambertian model; used for illustrating how to write a DLL. |

TwoGaussian | Combination of Lambertian and Gaussian distributions |
User specifies fraction of energy in Lambertian and Gaussian scattering. Two Gaussian distributions are modeled, with independent inputs for the widths (s) and fractional energy. The user is responsible for checking those fractional energies sum to <= 1. |

Gaussian_XY |
Described in terms of a probability distribution, P(p,q) = (4/( σ))*exp[-((_{q}p/σ)_{p}^{2} + (q/σ)_{q}^{2})] |
Represents a Gaussian distribution along axes on the projected plane. σ may be > 0 or < 1 (otherwise use a Lambertian). More details provided in the article, “How to create a user-defined scattering function."_{q} |

K-correlation | BSDF() = xA*σ*cos(^{2}θ)*cos(_{i}θ)/[1 + (_{s}B*||/x)λ^{2}]^{(s/2)} |
Characterizes scattering due to surface microroughness. Similar to ABg model, with an additional small angle roll-off useful for characterizing many surface finishes. The variable |

RI_BSDF | BSDF given by ASCII input |
Used to model surfaces whose scattering properties have been experimentally measured rather than fit to an analytic form. Input data format is described in the article, "BSDF data interchange file format specification." Application of the data in OpticStudio modeling is described in the article, “How to use tabular BSDF data to define the surface scattering distribution." |

If none of the distributions listed above is sufficient to model surface scattering in your system, you may construct your own DLL model, following the instructions provided in the article, “How to create a user-defined scattering function."

Bulk scattering models

A number of models are available to model bulk scattering in OpticStudio. These include a built-in model as well as user-defined DLL models. The models are generally described in terms of a probability distribution function (`P`) for the angle of scattering. In all cases, the probability of a scattering event occurring is given by an exponential.

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

where `x` is the distance that light has travelled in the volume, *μ* = 1/`M` and `M` is the mean-free path for scattering in the volume. During a bulk scattering event, the wavelength may be also altered (in addition to the ray trajectory), allowing users to model fluorescence (see the article entitled "How to model fluorescence using bulk scattering" for a complete description). More details are provided in the OpticStudio help file under: “The Setup Tab > Editors Group (Setup Tab) > Non-sequential Component Editor."

### Built-in bulk scattering models

Model |
Probability Distribution |
Description |

Angle | P(θ) = 1/2 |
The probability of scattering into any angle is constant. The maximum angle for scattering can be set as a user input (“Angle” parameter). |

### DLL bulk scattering models

Model |
Probability Distribution |
Description |

Bulk_samp_1 | P(θ) = 1/2 |
Same as built-in Angle model; used for illustrating how to write a DLL. |

Poly_bulk_scat | P(θ) = ∑c_{i}θ^{i} |
Angular scattering distribution is represented by a polynomial. The range of summation represents a 12 |

Henyey-Greenstein_bulk |
P( g – 2^{2}g*cos(θ)]^{3/2} |
Characterizes scattering by small particles. This is useful for describing scattering in biological tissue and interstellar dust clouds. Input values for |

Rayleigh | P(θ,) = 0.375*(1 + cosλ^{2}θ)/λ^{4} |
Characterizes scattering by small particles (particle size << wavelength). Mean-free path scaled by wavelength (~ |

Mie | Probability distribution given by sum over spherical Bessel functions^{1}. |
Characterizes scattering for arbitrary ratios of particle size to wavelength. Used to describe scattering in the atmosphere. More details are provided in the article, “How to simulate atmospheric scattering using a Mie model." |

If none of the distributions listed above is sufficient to model bulk scattering in your system, you may also construct your own DLL model, using the source code provided for the above DLLs as a starting point.

## References

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

KA-01415

## Comments

Please sign in to leave a comment.