From 4987f5aea0076c3259f0054304b0b4c5e3a4e6de Mon Sep 17 00:00:00 2001 From: rockfool Date: Mon, 16 Sep 2019 13:36:18 -0400 Subject: [PATCH] modify geometry.rst --- docs/source/_images/cosine-dist.png | Bin 0 -> 39479 bytes docs/source/methods/geometry.rst | 48 +++++++++++++++++++++------- 2 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 docs/source/_images/cosine-dist.png diff --git a/docs/source/_images/cosine-dist.png b/docs/source/_images/cosine-dist.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c165dcfd6d44ef7d6269e5efb0dee73d4bb3ae GIT binary patch literal 39479 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 literal 0 HcmV?d00001 diff --git a/docs/source/methods/geometry.rst b/docs/source/methods/geometry.rst index 65f5e9fe31..d0d556f17c 100644 --- a/docs/source/methods/geometry.rst +++ b/docs/source/methods/geometry.rst @@ -617,7 +617,7 @@ condition has been applied, the particle is killed and any surface current tallies are scored to as needed. If a reflective boundary condition has been applied to the surface, surface current tallies are scored to and then the particle's direction is changed according to the procedure in :ref:`reflection`. -Note that the white boundary condition can be considered as the speciall case of +Note that the white boundary condition can be considered as the special case of reflective boundary condition, where the same processing method will be applied to deal with the surface current tallies scoring, except for determining the changes of particle's direction according to the procedures in :ref:`white`. @@ -901,37 +901,63 @@ Dxy + Eyz + Fxz + Gx + Hy + Jz + K = 0`. Thus, the gradient to the surface is ------------------------------ White Boundary Conditions ------------------------------ -The white boundary condition is usually applied in deterministic code, where the particle -will hit the surface and travel back with isotropic angular distribution. Essentially, the -change of particle's direction will comply to the cosine distribution instead of uniform -distribution. -The probability distribution function (pdf) for the reflected direction can be expressed +The white boundary condition is usually applied in deterministic codes, where the particle +will hit the surface and travel back with isotropic angular distribution. The change in +particle's direction is sampled from a cosine distribution instead of uniform. +Figure :num:`fig-cosine-dist` shows an example of cosine-distribution reflection on the +arbitrary surface relative to the surface normal. + +.. _fig-cosine-dist: + +.. figure:: ../_images/cosine-dist.png + :align: center + :figclass: align-center + + Cosine-distribution reflection on the arbitrary surface. + +The probability density function (pdf) for the reflected direction can be expressed as follows, .. math:: : label: white-reflection-pdf + + f(\mu, \phi) = frac{\miu}{\pi} d\miu d\phi = 2\mu d\mu frac{d\phi}{2\pi} + \mu \in [0, 1] + \phi \in [0, 2\pi] - -where mu is the cosine of the polar angle between reflected direction and the normal to the -surface; and theta is the azimuthal angle. +where :math:`{mu = cos(\theta)}` is the cosine of the polar angle between reflected direction +and the normal to the surface; and :math: `{\theta}` is the azimuthal angle. Thus, the cosine of the polar angle can extracted like this, .. math:: : label: white-reflection-cosine + + f(\mu)d\mu = 2\mu d\mu + and the azimuthal angle is uniform in the range of 2*PI, .. math:: : label: white-reflection-unifrm + + f(\phi) = frac{d\phi}{2\pi} -Then, cosine can be obtained by analytical inversion of cumulative probability distribution (cdf) +Then, the cosine can be obtained by analytical inversion of cumulative density distribution (cdf) like this, .. math:: : label: white-reflection-sqrt-prn + + \mu = \sqrt{\eta_(1)} + \phi = 2\pi \eta_(2) +where :math: `{\eta}` is the uniform random number, simply computed from random number generator. Eventually, the final reflected direction vector can be computed via the rotation of normal to the surface like this, .. math:: : label: white-reflection-rotation -The white boundary condition can apply to any kind of surface, as long as the normal to the surface + u^' = u \mu + frac{uw \sqrt{1-\mu^2} cos(\phi) - v \sqrt{1-\mu^2}sin(\phi)}{\sqrt{1-w^2}} + v^' = v \mu + frac{vw \sqrt{1-\mu^2} cos(phi) + u \sqrt{1-\mu^2} sin(phi)}{\sqrt{1-w^2}} + w^' = w \mu - \sqrt{1-w^2} \sqrt{1-\mu^2} cos(\phi) + +The white reflection boundary can apply to any kind of surface, as long as the normal to the surface is known as mentioned above in :ref:`reflection`. .. _constructive solid geometry: http://en.wikipedia.org/wiki/Constructive_solid_geometry