star-phor-input

File format for describing photoreactor configurations
git clone https://www.edstar.cnrs.fr/git/star-phor-input.git
Log | Files | Refs | README | LICENSE

commit 3ae3162665bbe7bcec40722f7e5490386a44d6cb
parent 0abe6e70f3587d465311907306cfc409441a31c4
Author: Eduardo Fontana Lazzari <edufonlaz@gmail.com>
Date:   Tue, 10 Feb 2026 19:05:54 +0100

Add BTDF concept and new BRDF types to the format file specification

Current possibilities for interface scattering may be considered
limiting, as only a small set of phenomena in interfaces can be
represented by currently existing BRDFs. Furthermore, the format file
specification is not explicit about the geometrical optics models,
although media can have refraction indices. This commit introduces
a new type of BRDF to the format file specification which explicitly
states to use the refractive indices of each side of an interface to
describe light scattering in a given surface, but also introduces a new
concept to the format file specification, the BTDF (bidirectional
transmittance distribution function) which allows one to prescribe the
intensity of the incoming light that crosses a given surface and how it
should behave once it crosses it.

Diffstat:
Mdoc/star-phor-input.5.scd | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/doc/star-phor-input.5.scd b/doc/star-phor-input.5.scd @@ -102,6 +102,7 @@ The syntax rules enabling the description of a photoreactor are as follows: [<surface-props> ...] <surface-props> ::= <brdf> + | <btdf> | <geometry> | <sensor> | <surface-source> @@ -170,7 +171,17 @@ The syntax rules enabling the description of a photoreactor are as follows: <brdf> ::= 'brdf:' <brdf-type> <reflectivity> <brdf-type> ::= 'LAMBERT' | 'SPECULAR' -<reflectivity> ::= real # In [0, 1] +<reflectivity> ::= 'FRESNEL_DIELECTRIC' # both media are considered + # dielectric + | 'FRESNEL_DIELECTRIC_CONDUCTOR' + | <prop-file> # Values in [0, 1] + +<btdf> ::= 'btdf:' <btdf-type> <transmissivity> +<btdf-type> ::= 'LAMBERT' | 'KEEP_CURRENT_DIR' | 'SNELL_DIELECTRIC' +<transmissivity> ::= 'FRESNEL_DIELECTRIC' # both media are considered + # dielectric + | 'FRESNEL_DIELECTRIC_CONDUCTOR' + | <prop-file> # Values in [0, 1] <surface-source> ::= 'source:' 'flux_density:' <flux-val> \\