class Bobbert_Vlieger_BRDF_Model


The Bobbert_Vleiger_BRDF_Model implements the theory of Bobbert and Vlieger for the scattering by a sphere on a substrate. The theory applies to a sphere of total radius r having a coating of thickness d a distance delta above a surface having a dielectric coating. The optical constants (functions) of the substrate, sphere, and sphere coating, are n0, n2, and n3, respectively. The theory is exact, although care must be taken to choose appropriate operating parameters, and convergence should always be checked. This class does not inherit the properties of Spherical_Particle_BRDF_Model, since it does not account for an arbitrary stack of films on the substrate.

Diagram showing sphere above surface.

With Version 5.02, the single dielectric film (shown in diagram above as having thickness t and index n1) was replaced by an arbitrary stack of films.

Parameters:

Parameter Data Type Description Default
lambda double Wavelength of the light in vacuum [µm].
(Inherited from BRDF_Model.)
0.532
type int Indicates whether scattering is evaluated in reflection (0) or transmission (1).
(Inherited from BRDF_Model.)
0
substrate dielectric_function The optical constants of the substrate, expressed as a complex number (n,k) or, optionally, as a function of wavelength.
(Inherited from BRDF_Model.)
(4.05,0.05)
density double The surface number density of local scatterers [µm-2].
(Inherited from Local_BRDF_Model.)
1
n2 dielectric_function The optical constants of the particle, expressed as a complex number (n,k) or, optionally, as a function of wavelength. (1.59,0)
r double The radius of the particle [µm]. This radius includes the thickness of the coating. 0.05
n3 dielectric_function The optical constants of the particle coating, expressed as a complex number (n,k) or, optionally, as a function of wavelength. (1,0)
d double The thickness of the particle coating [µm]. 0
stack dielectric_stack Description of any stack of films deposited on the substrate, usually specified by a file.
See dielectric_stack, for more information.
no films
delta double The distance between the particle and the substrate [µm]. This value is zero when the particle is touching the substrate. It cannot be less than zero. 0
lmax int Maximum spherical harmonic order used in the calculation. Setting this value to 0 sends a request to use the value appropriate for the free-space particle, as suggested by Bohren and Huffman. For negative values of lmax, the lmax appropriate for the free-space particle is increased by the absolute value of lmax. For an accurate solution, convergence should be checked by varying this parameter. 0
order int The perturbative order for the solution. For the exact solution, the order should be set to -1. When order is set to 0, the model reproduces the Double_Interaction_BRDF_Model with a MieScatterer. When order is set to 1 or higher, matrix inversion is performed by successive approximation. This parameter is included in the model for pedagogical reasons and should be set to -1 for the exact solution. -1
Norm_Inc_Approx int A flag indicating whether or not to use the Normal Incidence Approximation in the calculation. This approximation assumes that the reflection coefficients are constant and given by their normal incidence values. This approximation is valid for a perfectly reflecting metallic substrate, or if the distance of the particle from the surface is large. This approximation is included for pedagogical reasons, and the flag should be set to 0 for an accurate solution. See the reference by Videen for details. 0
improve int The number of iterative improvement iterations. Routines to set or get the number of iterative improvement steps requested for improving the solution for each incident angle. For lmax much larger than that needed for the free-space Mie scattering solution, the matrix inversion accumulates some significant errors that propagate to the final scattering solution. Setting this value to something other than 0 increases the computation time needed for each different incident angle. A value of 2 or 3 has been found to be satisfactory under all conditions. 3

See also:

SCATMECH Home,   Conventions,   Local_BRDF_Model

P.A. Bobbert and J. Vlieger, "Light scattering by a sphere on a substrate," Physica 137A, 209-242 (1986).

P.A. Bobbert, J. Vlieger, and R. Greef, "Light reflection from a substrate sparsley seeded with spheres - Comparison with an ellipsometric experiment," Physica 137A, 243-257 (1986).

J.H. Kim, S.H. Ehrman, G.W. Mulholland, and T.A. Germer, " Polarized light scattering from metallic particles on silicon wafers," in Optical Metrology Roadmap for the Semiconductor, Optical, and Data Storage Industries, Angela Duparré and Bhanwar Singh, Eds., Proc. SPIE 4449, 281-290 (2001).

G. Videen, "Light scattering from a sphere on or near a surface," J. Opt. Soc. Am. A 8, 483-489 (1991).

Include file:

#include "bobvlieg.h"

Source code:

bobvlieg1.cpp
bobvlieg2.cpp
bobvlieg3.cpp

Definition of public elements:

class Bobbert_Vlieger_BRDF_Model
   : public Local_BRDF_Model
{
   complex<double> Epp(double thetai,double thetas,double phis);
   complex<double> Eps(double thetai,double thetas,double phis);
   complex<double> Esp(double thetai,double thetas,double phis);
   complex<double> Ess(double thetai,double thetas,double phis);
};

complex<double> Epp(double thetai,double thetas,double phis)
complex<double> Eps(double thetai,double thetas,double phis)
complex<double> Esp(double thetai,double thetas,double phis)
complex<double> Ess(double thetai,double thetas,double phis)

Routines which return the elements of the Jones matrix for scattering from a sphere on a surface. These elements are the same as those calculated by jonesDSC, and these routines provide a means for obtaining each term individually.

Top of Page


For More Information

SCATMECH Technical Information and Questions
Optical Technology Division (OTD) Home Page
OTD Technical Inquiries
OTD Website Comments

Current SCATMECH version: 6.00 (February 2008)
This page first online: Version 3.00 (December 2001)
This page last modified: Version 6.00 (February 2008)