class Facet_BRDF_Model


The class Facet_BRDF_Model implements the specular point theory for scattering from very rough surfaces. In SCATMECH version 3, the class was modified to include a slope distribution function.

Diagram showing Facet_BRDF_Model

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)
sdf Slope_Distribution_Function Function describing the isotropic two-dimensional distribution of surface slopes. Exponential_Slope_Distribution_Function
stack dielectric_stack Description of any stack of films deposited on the substrate, usually specified by a file. The films are assumed to be conformal and of total thickness much less than the horizontal scale of the roughness.
See dielectric_stack, for more information.
(Inherited from Facet_BRDF_Model).
no films

See also:

SCATMECH Home,   Conventions,   BRDF_Model,   Roughness_BRDF_Model,   Torrance_Sparrow_BRDF_Model,   Subsurface_Facet_BRDF_Model,   Slope_Distribution_Function

D. E. Barrick, "Rough surface scattering based on the specular point theory," IEEE Trans. Ant. and Prop. AP-16 (4), 449-454 (1968).

Include file:

#include "facet.h"

Source code:

facet.cpp
reg_facet.cpp

Definition of public elements:

class Facet_BRDF_Model
 : public BRDF_Model
{
public:
    virtual double local_angle(double thetai,double thetas,double phis);
    virtual double local_slope(double thetai,double thetas,double phis);
};

typedef Model_Ptr<Facet_BRDF_Model> Facet_BRDF_Model_Ptr;


virtual double local_angle(double thetai,double thetas,double phis)

Function that returns the local angle of reflection on a specular point for a specific scattering geometry.

Top of Page

virtual double local_slope(double thetai,double thetas,double phis)

Function that returns the slope of a facet, which specularly reflects for a specific scattering geometry.

Top of Page

typedef Model_Ptr<Facet_BRDF_Model> Facet_BRDF_Model_Ptr

The typedef Facet_BRDF_Model_Ptr behaves like a pointer to an instance of class Facet_BRDF_Model. The following statement will query the user for an instance of class Facet_BRDF_Model:

Facet_BRDF_Model_Ptr model = Get_Model_Ptr();

The next statement will also create an instance of class Facet_BRDF_Model:

Facet_BRDF_Model_Ptr model = "Facet_BRDF_Model";

See Model_Ptr<model>.

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 1.00 (March 2000)
This page last modified: Version 6.00 (February 2008)