photon_properties command

Purpose

Command for defining additional photon properties for the according custom material type (examples).

Warning

GPU support for this command has not been tested and may not work as expected.

Syntax

photon_properties keyword value

With the following keyword argument pairs:

Keywords

Description

minimum_photon_energy

the energy below which photons are deleted
default: 1e-8; units: [energy]

optical_density

the optical density or refractive index of the medium filling the simulation domain
default: 1, i.e. air; units: [dimensionless]

reflection_law

the reflection law to use, either Schlick or Fresnel or Fresnel_unpolarized
default: Schlick

Examples

photon_properties reflection_law Fresnel minimum_photon_energy 1e-16

Description

Customize photon properties like reflection law, etc.

Note

This command is not required. If omitted the default values will be used.

The reflection law calculates the energy retained by the photon after reflection on mesh or particle surfaces. In terms of surface reflectivity as a function of incident angle R(\theta) the three availble options read:

  • Schlick

    R_0 &= \left( \frac{n_1 - n_2}{n1 + n_2} \right)^2 \\
R(\theta) &= R_0 + (1 - R_0)(1 - \cos\theta)^5

  • Fresnel Depending on the contributions in (subscript \mathrm{s}) and normal to (subscript \mathrm{p}) the plane of incidence:

    R_\mathrm{s} &= \left( \frac{n_1 \cos\theta - n_2 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta \right)^2}}
                           {n_1 \cos\theta + n_2 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta \right)^2}} \right)^2 \\
R_\mathrm{p} &= \left( \frac{n_1 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta \right)^2} - n_2 \cos\theta}
                           {n_1 \sqrt{1 - \left( \frac{n_1}{n_2} \sin\theta \right)^2} + n_2 \cos\theta} \right)^2 \\
R(\theta) &= |p_\mathrm{s}|^2 R_\mathrm{s} + |p_\mathrm{p}|^2 R_\mathrm{p}

    with p_\mathrm{s} and p_\mathrm{p} the polarization split into its component in and normal to the plane of incidence, respectively.

  • Fresnel_unpolarized This reflection law works in the same manner as the Fresnel law but calculates the reflectivity without considering the polarization:

    R(\theta) = \frac{1}{2} (R_\mathrm{s} + R_\mathrm{p})

In the above equations n_1 is the refractive index of the medium set by the optical_density keyword and n_2 that of the wall material set by that material’s refractiveIndex property.

Restrictions

Must be called after setting up the particle_contact_model command.

Default

  • reflection_law : Schlick

  • optical_density : 1.

  • minimum_photon_energy : 1e-8