solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

commit 0923318c4590648227125292cb0e14483ea95819
parent 4589a7da529ac8ca65cf9c4686c3c1e5c260cd7c
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 12 Dec 2017 11:31:28 +0100

Document the microfacet attribute in the input man page

Diffstat:
Mdoc/solstice-input.5.txt | 24+++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/doc/solstice-input.5.txt b/doc/solstice-input.5.txt @@ -186,9 +186,13 @@ _______ <mirror> ::= mirror: reflectivity: <mtl-data> # in [0, 1] - roughness: <mtl-data> # in [0, 1] + roughness: <mtl-data> + [ microfacet: <normal-distrib> ] # Default is BECKMANN [ <normal-map> ] +<normal-distrib> ::= BECKMANN + | PILLBOX + <virtual> ::= virtual: EMPTY-STRING <thin-dielectric> ::= thin_dielectric: @@ -331,7 +335,7 @@ shapes are: As the gaussian distribution is not truncated, the resulting sun vector can theoreticaly be oriented towards the sun, especially with a big, non-typical *std_dev* value. - + *buie*:: The *buie* distribution, as first discribed in [3]. Its single *csr* parameter is the ratio between the circumsolar irradiance and the sum of @@ -423,14 +427,24 @@ of the incoming direction. *mirror*:: Specular or glossy reflection whether the *roughness* parameter is 0 or not, -respectively. Glossy reflections are controlled by a microfacet BRDF with the -Beckmann normal distribution defined as: +respectively. Glossy reflections are controlled by a microfacet BRDF. The +microfacet normals are distributed with respect to the Beckmann or the Pillbox +distribution according to the *normal-distrib* attribute. ++ +Let m the *roughness* parameter in ]0, 1]. The Beckmann distribution is +defined as: + ....... D(wh) = exp(-tan^2(a) / m^2) / (PI * m^2 * cos^4(a)) ....... + -with a = arccos(wh.N) and m the *roughness* in ]0,1] of the interface. +with a = arccos(wh.N), while the pillbox distribution is defined as: ++ +....... + | 0; if |wh.N| >= m +D(wh) = | + | 1 / (PI * (1 - cos^2(m))); if |wh.N| < m +....... *thin-dielectric*:: The interface is assumed to be a thin slab of a dielectric material. The