star-gs

Literate program for a geometric sensitivity calculation
git clone git://git.meso-star.fr/star-gs.git
Log | Files | Refs | README | LICENSE

commit 2731359160da7a561e12ba959c7faf918f7bbe65
parent 439954c419c8b14b148878d88fcb619cf2f4f9a6
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 12 Oct 2022 17:13:19 +0200

Relecture avec Paule du programme lettré

Diffstat:
Msrc/sgs_compute_sensitivity_translation.nw | 292++++++++++++++++++++++++++++++++++++++++++-------------------------------------
1 file changed, 155 insertions(+), 137 deletions(-)

diff --git a/src/sgs_compute_sensitivity_translation.nw b/src/sgs_compute_sensitivity_translation.nw @@ -19,8 +19,10 @@ \usepackage[top=1in, bottom=1in, inner=3.5cm, outer=2cm]{geometry} %\usepackage[margin=1in]{geometry} \usepackage{url} +\usepackage{amsfonts} \usepackage{amsmath} \usepackage{graphicx} +\usepackage{natbib} % \citep command \usepackage{noweb} \usepackage{graphicx} \usepackage{emptypage} @@ -41,14 +43,21 @@ %Math et symboles \newcommand{\PI}{\ddot \pi} - - \begin{document} \pagestyle{noweb} \title{Sensibilité à la translation} \maketitle +\paragraph{} +Ce document est un exercice dans lequel on choisit de décrire un exemple de +sensibilité sans aucune ambition de généralité en se concentrant sur "4+1": + - On se pose un pbr de sensib + - On a identifié les sources de sensib + - On a identifié un couplage ou niveau des sources + - On utilise MC pour résoudre le pbr (par double random) + - On résout le pbr de sensib jusqu'à sa mise en oeuvre + \paragraph{} Le but du présent document est d'illustrer la mise en oeuvre algorithmique d'un calcul de sensibilité sur un exemple simple. Le problème est décrit par un parallélépipède dont les parois sont toutes noires à l'exception @@ -58,23 +67,23 @@ paroi. Nous étudions l'impact de cette translation sur le flux reçu par un récepteur situé sur la paroi inférieure. \begin{figure} - \includegraphics[width=1\linewidth]{TODO} + %\includegraphics[width=1\linewidth]{TODO} \caption{\textbf{La configuration géométrique} est un parallélépipède de -dimension ....... repéré dans la base ...... (voir figure de \textit{gauche}). -Le paramètre $\PI$ est le paramètre géométrique, il est défini sur -$\mathbb{R}^{+}$, en le modifiant la position de la paroi supérieure est -translatée vers le haut. Les parois latérales ne dépendent pas de $\PI$, -lorsque la paroi du haut est translatée le cube "s'ouvre" (voir figure de -\textit{droite}). \textbf{Configuration radiative} Toutes les parois du -parallélépipède sont noires à l'exception de la paroi du haut qui est -spéculaire, froide, et munie d'un coefficient de réflexion $\rho$ défini dans -l'équation \ref{eq:rho}. Seule la paroi noire de droite (de surface .....$A_d$) -est émettrice et la condition à la limite associée est décrite par l'équation -\ref{eq:cl_rad}. Le milieu englobant la "boite" est considéré froid et -transparent.} - \label{fig:configuration} -\end{figure} - + dimension $D_x \times D_y \times D_z(\PI)$, avec $D_z(\PI) = h+\PI$, repéré + dans la base $(\vec{e}_x, \vec{e}_y, \vec{e}_z)$ (voir figure de + \textit{gauche}). Le paramètre $\PI$ est le paramètre géométrique, il est + défini sur $\mathbb{R}^{+}$, en le modifiant la position de la paroi + supérieure est translatée vers le haut. Les parois latérales ne dépendent pas + de $\PI$, lorsque la paroi du haut est translatée le cube "s'ouvre" (voir + figure de \textit{droite}). Le récepteur est positionné sur la paroi du bas + et a pour dimension $R_x \times R_y$. Toutes les parois du + parallélépipède sont noires à l'exception de la paroi du haut (de surface + $S_r = D_x \times D_y$) qui est spéculaire, froide, et munie d'un coefficient + de réflexion $\rho$ défini dans l'équation \ref{eq:rho}. Seule la paroi + noire de droite (de surface $S_e = D_y \times h$) est émettrice et la + condition à la limite associée est décrite par l'équation \ref{eq:cl_rad}. + Le milieu englobant la "boite" est considéré froid et transparent.} + \label{fig:configuration} \end{figure} \begin{equation} \rho(\vec{x},-\vec{\omega}) = 0.25 (1- \cos(2 \pi \frac{x}{Dx})(1- \cos(2 \pi \frac{y}{Dy}) @@ -82,7 +91,9 @@ transparent.} \end{equation} \begin{equation} -L(\vec{x},\vec{\omega},\PI) = S_b \quad \quad \quad \vec{x} \in A_d ; \vec{\omega} \cdot \vec{n} > 0 +L(\vec{x},\vec{\omega},\PI) = S_b \quad \quad \quad \vec{x} \in A_d ; +\vec{\omega} \cdot \vec{n} > 0 +\label{eq:cl_rad} \end{equation} avec $S_b$ la source surfacique qui correspond à l'émission thermique de la paroi: @@ -110,6 +121,9 @@ similaire pour évaluer $\partial_{\PI} \varphi$ nous avons besoin de connaître la sensibilité géométrique $s$, dans toutes les directions entrantes et en tout point du récepteur. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Modèle +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Modèle de sensibilité géométrique} La sensibilité géométrique de la luminance est définie telle que: @@ -132,7 +146,7 @@ l'equation \ref{eq:ETR-S}, avec $s = s(\vec{x},\vec{\omega},\PI)$: \end{equation} et \begin{equation} -\mathacal{C}[s] = -(k_a + k_s) s + k_s \int_{\mathcal{S}} +\mathcal{C}[s] = -(k_a + k_s) s + k_s \int_{\mathcal{S}} p_{\Omega'}(-\vec{\omega}'|\vec{x},\vec{\omega}) d\vec{\omega'} \label{eq:C_operator} \end{equation} @@ -142,8 +156,9 @@ La seule paroi du cube paramétrée par $\PI$ est la paroi du haut qui est spéculaire. Seule cette paroi sera donc source de sensibilité géométrique: \begin{equation} \begin{aligned} -s_{droite} = s_{gauche} = s_{devant} = s_{derrière} = s_{bas} = 0 \\ -s_{haut} = s(\vec{x},\vec{\omega},\PI) \quad \quad \quad \vec{x} \in S_{haut} ; \vec{\omega} \cdot \vec{n}_{haut} > 0 +s_{droite} = s_{gauche} = s_{devant} = s_{derri\grave{e}re} = s_{bas} = 0 \\ +s_{haut} = s(\vec{x},\vec{\omega},\PI) \quad \quad \quad \vec{x} \in S_{haut} ; +\vec{\omega} \cdot \vec{n}_{haut} > 0 \end{aligned} \end{equation} @@ -187,25 +202,25 @@ de dérivées spatiales dans la direction $\vec{u}$ (à travers $\partial_{1,\vec{u}} L_{spec}$) et des sources de dérivées spatiales dans la direction $\vec{\chi}$ (à travers $\partial_{1,\vec{\chi}} L_{spec}$). -\paragraphe{Les sources du problème couplé} -Les sources radiatives ont été décrites dans la figure \ref{configuration} (seule -la paroi de droite est émettrice) et nous devons à présent donner les sources -des dérivées spatiales. -Dans \citep{papier_sensib} il est déterminé que les sources de dérivées -spatiales peuvent être volumiques, surfaciques et linéiques (pour les -géométries facétisées - non différentiables). Nous n'entrerons pas dans les -développements qui explicitent comment trouver les sources des dérivées -spatiales de cet exemple, nous en donnerons seulement le résultat. En quelques -mots: les propriétés radiatives du milieu sont spatialement homogènes, il n'y -aura donc pas de source volumique de dérivée spatiale; les propriétés -radiatives des surfaces (coefficient de réflexion et émission thermique) -s'annulent toutes aux extrémités des faces du parallélépipède, il n'y aura donc -pas de sources linéiques de dérivée spatiale. Concernant les sources -surfacique: le milieu étant transparent, les parois noires et froides ne seront -pas sources de dérivée spatiale; seules les parois de droites seront des -sources pour les dérivées spatiales et ces sources sont données par les -conditions aux limites décrites par les équations \ref{eq:cl_duL_haut}, -\ref{eq:cl_duL_droite}, \ref{eq:cl_dchiL_haut}, \ref{eq:cl_dchiL_droite}. +\paragraph{Les sources du problème couplé} +Les sources radiatives ont été décrites dans la figure \ref{configuration} +(seule la paroi de droite est émettrice) et nous devons à présent donner les +sources des dérivées spatiales. Dans \citep{papier_sensib} il est déterminé +que les sources de dérivées spatiales peuvent être volumiques, surfaciques et +linéiques (pour les géométries facétisées - non différentiables). Nous +n'entrerons pas dans les développements qui explicitent comment trouver les +sources des dérivées spatiales de cet exemple, nous en donnerons seulement le +résultat. En quelques mots: les propriétés radiatives du milieu sont +spatialement homogènes, il n'y aura donc pas de source volumique de dérivée +spatiale; les propriétés radiatives des surfaces (coefficient de réflexion et +émission thermique) s'annulent toutes aux extrémités des faces du +parallélépipède, il n'y aura donc pas de sources linéiques de dérivée spatiale. +Concernant les sources surfacique: le milieu étant transparent, les parois +noires et froides ne seront pas sources de dérivée spatiale; seules les parois +de droites seront des sources pour les dérivées spatiales et ces sources sont +données par les conditions aux limites décrites par les équations +\ref{eq:cl_duL_haut}, \ref{eq:cl_duL_droite}, \ref{eq:cl_dchiL_haut}, +\ref{eq:cl_dchiL_droite}. \begin{equation} \partial_{1,\vec{u}} L = \beta_u \left( \partial_{1,\vec{u}_s} @@ -233,101 +248,11 @@ conditions aux limites décrites par les équations \ref{eq:cl_duL_haut}, \label{eq:cl_dchiL_droite} \end{equation} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Algorithme Direct +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Résolution par Monte-Carlo} - - -------------------------------- ANNEXE 1 ------------------------------------ \\ -Nous récupérons ici la condition à la limite pour une paroi spéculaire $s = -s(\vec{x},\vec{\omega},\PI)$: -\begin{equation} -s = \mathcal{C}_b[s] + S_{b,\PI}[I, \partial{1,\vec{u}}I, -\partial_{1,\vec{\chi}}, \partial_{2,\vec{\gamma}_t}I] \quad \quad \quad -\vec{x} \in \partial G(\PI) ; \vec{\omega} \cdot \vec{n} > 0 -\label{eq:cl_sensib_gen} -\end{equation} -avec $S_{b,\PI}$ la source surfacique de sensibilité: -\begin{equation} -\begin{aligned} -S_{b,\PI} = & - \alpha (\mathcal{C}[L] + S) \\ -& - \beta \partial_{1,\vec{u}} S_b - \partial_{2,\vec{\gamma}} S_b + -\partial_{\PI} S_b \\ -& - \beta \partial_{1,\vec{u}} \mathcal{C}_b[L] + \partial_{\PI} \mathcal{C}_b -[L] \\ -& - \partial_{2,\vec{\gamma}} \rho(\vec{x},-\vec{\omega}) \int_{H'} -p_{\Omega'}(-\vec{\omega}'|\vec{x},-\vec{\omega})d\vec{\omega}' L \\ -& - \beta \mathcal{C}_b[\partial_{1,\vec{u}}L] + -\mathcal{C}_b[\partial_{1,\vec{\chi}} L] \\ -& + 2 \mu \partial_{2,\vec{\gamma}_t} L(\vec{x},\vec{\omega}_{spec},\PI) -\end{aligned} -\end{equation} -Dans cette équation $\mathcal{C}$ est l'opérateur collisionnel du milieu décrit -dans l'équation \ref{eq:C_operator}, il est ici appliqué à la luminance. La -source $S$ est la source radiative du milieu. On trouve également -$\mathcal{C}_b$ l'opérateur collisionnel de la surface. Appliqué à la -luminance et dans le cas d'une paroi spéculaire il s'écrit: -\begin{equation} -\mathcal{C}_b[L] = \rho(\vec{x},-\vec{\omega}) \int_{H'} \delta(\vec{\omega}' - -\vec{\omega}_{spec}) L(\vec{x},\vec{\omega}',\PI) d\vec{\omega}' -\end{equation} -avec $\vec{\omega}_{spec} = \vec{\omega} - 2(\vec{\omega} \cdot -\vec{n})\vec{n}$ - -\paragraph{Condition à la limite de notre exemple} -Pour commencer seule la paroi spéculaire est source de sensibilité géométrique. -Nous voyons que dans l'équation \ref{eq:cl_sensib_gen} le terme collisionnel -$\mathcal{C}_b[s]$ traduit la réflexion de la sensibilité incidente à la paroi -spéculaire. Ce terme est obligatoirement nul puisque il n'y a aucune autre -source qui pourrait émettre une sensibilité géométrique et aucune autre paroi -réfléchissante qui pourrait réfléchir la sensibilité émise par la paroi -spéculaire. - -Dans notre exemple le milieu est transparent, les termes $\mathcal{C}[L]$ et -$S$ sont donc nuls. La paroi spéculaire est froide, la source surfacique $S_b$ -qui dans cete exemple correspondrait à l'émission thermique de la paroi est -donc aussi nulle. -L'opérateur collisionnel de la surface $\mathcal{C}_b$ est indépendant de -$\PI$, la dérivée $\partial_{\PI} \mathcal{C}_b$ est donc nulle. Pour finir la -déformation géométrique de la paroi spéculaire est une translation, l'axe de -rotation $\vec{\gamma}$ est donc nul et toutes les dérivées angulaires n'ont -plus lieux d'être dans la condition aux limites. - -La condition à la limite de sensibilité de la paroi spéculaire de la boite -devient donc: -\begin{equation} -\begin{aligned} -s = & - \beta \partial_{1,\vec{u}} \mathcal{C}_b[L] \\ -& + \mathcal{C}_b[\partial_{1,\vec{\chi}}L - \beta \partial_{1,\vec{u}} L] -\end{aligned} -\end{equation} -avec -\begin{equation} -\beta \partial_{1,\vec{u}} \mathcal{C}_b [L] = \beta \left(\partial_{1,\vec{u}} -\rho(\vec{x},-\vec{\omega}) \right) \int_{H'} -\delta(\vec{\omega}'-\vec{\omega}_{spec}) L(\vec{x},\vec{\omega}',\PI) -d\vec{\omega}' -\end{equation} -En prennant en compte le fait que: -\begin{equation} -\int_{H'} \delta(\vec{\omega}' - \vec{\omega}_{spec} f(\vec{\omega}') -d\vec{\omega}' = f(\vec{\omega}_{spec} -\end{equation} -on trouve finalement: -\begin{equation} -\begin{aligned} -s(\vec{x},\vec{\omega},\PI) = & - \beta -\left(\partial_{1,\vec{u}}\rho(\vec{x},-\vec{\omega}) \right) -L(\vec{x},\vec{\omega}_{spec},\PI) \\ -& + \partial_{1,\vec{\chi}}L(\vec{x},\vec{\omega}_{spec},\PI) - \beta -\partial_{1,\vec{u}} L(\vec{x},\vec{\omega}_{spec},\PI) -\end{aligned} -\end{equation} --------------------------------- FIN ANNEXE 1 ------------------------------------ \\ - - - - - -\section{Algorithme de Monte-Carlo direct} \begin{itemize} \item Décrire brièvement le modèle + CL; \item identifier les sources + couplages; @@ -336,9 +261,12 @@ L(\vec{x},\vec{\omega}_{spec},\PI) \\ \item Donner le choix algorithmique qui est d'échantillonner les sources; \end{itemize} -\subsection{Le chemin} +\subsubsection{Le chemin} +\subsubsection{Le poids} -\subsection{Le poids} +\subsection{Algorithm \textit{reverse}} +\subsubsection{Le chemin} +\subsubsection{Le poids} \paragraph{} On veut estimer par Monte-Carlo la sensibilité géométrique du flux reçu par le @@ -403,6 +331,9 @@ données/traitement~: (section~\ref{sec:sample-path}). \end{itemize} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Les données +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Récupérer les données de la scène} \label{sec:get-scene-data} @@ -489,6 +420,93 @@ exemple il ne soit pas explicité. Souligner l'importance d'un repaire #include <rsys/cstr.h> @ +------------------------------- ANNEXE 1 ------------------------------------ \\ +Nous récupérons ici la condition à la limite pour une paroi spéculaire $s = +s(\vec{x},\vec{\omega},\PI)$: +\begin{equation} +s = \mathcal{C}_b[s] + S_{b,\PI}[I, \partial{1,\vec{u}}I, +\partial_{1,\vec{\chi}}, \partial_{2,\vec{\gamma}_t}I] \quad \quad \quad +\vec{x} \in \partial G(\PI) ; \vec{\omega} \cdot \vec{n} > 0 +\label{eq:cl_sensib_gen} +\end{equation} +avec $S_{b,\PI}$ la source surfacique de sensibilité: +\begin{equation} +\begin{aligned} +S_{b,\PI} = & - \alpha (\mathcal{C}[L] + S) \\ +& - \beta \partial_{1,\vec{u}} S_b - \partial_{2,\vec{\gamma}} S_b + +\partial_{\PI} S_b \\ +& - \beta \partial_{1,\vec{u}} \mathcal{C}_b[L] + \partial_{\PI} \mathcal{C}_b +[L] \\ +& - \partial_{2,\vec{\gamma}} \rho(\vec{x},-\vec{\omega}) \int_{H'} +p_{\Omega'}(-\vec{\omega}'|\vec{x},-\vec{\omega})d\vec{\omega}' L \\ +& - \beta \mathcal{C}_b[\partial_{1,\vec{u}}L] + +\mathcal{C}_b[\partial_{1,\vec{\chi}} L] \\ +& + 2 \mu \partial_{2,\vec{\gamma}_t} L(\vec{x},\vec{\omega}_{spec},\PI) +\end{aligned} +\end{equation} +Dans cette équation $\mathcal{C}$ est l'opérateur collisionnel du milieu décrit +dans l'équation \ref{eq:C_operator}, il est ici appliqué à la luminance. La +source $S$ est la source radiative du milieu. On trouve également +$\mathcal{C}_b$ l'opérateur collisionnel de la surface. Appliqué à la +luminance et dans le cas d'une paroi spéculaire il s'écrit: +\begin{equation} +\mathcal{C}_b[L] = \rho(\vec{x},-\vec{\omega}) \int_{H'} \delta(\vec{\omega}' - +\vec{\omega}_{spec}) L(\vec{x},\vec{\omega}',\PI) d\vec{\omega}' +\end{equation} +avec $\vec{\omega}_{spec} = \vec{\omega} - 2(\vec{\omega} \cdot +\vec{n})\vec{n}$ + +\paragraph{Condition à la limite de notre exemple} +Pour commencer seule la paroi spéculaire est source de sensibilité géométrique. +Nous voyons que dans l'équation \ref{eq:cl_sensib_gen} le terme collisionnel +$\mathcal{C}_b[s]$ traduit la réflexion de la sensibilité incidente à la paroi +spéculaire. Ce terme est obligatoirement nul puisque il n'y a aucune autre +source qui pourrait émettre une sensibilité géométrique et aucune autre paroi +réfléchissante qui pourrait réfléchir la sensibilité émise par la paroi +spéculaire. + +Dans notre exemple le milieu est transparent, les termes $\mathcal{C}[L]$ et +$S$ sont donc nuls. La paroi spéculaire est froide, la source surfacique $S_b$ +qui dans cete exemple correspondrait à l'émission thermique de la paroi est +donc aussi nulle. +L'opérateur collisionnel de la surface $\mathcal{C}_b$ est indépendant de +$\PI$, la dérivée $\partial_{\PI} \mathcal{C}_b$ est donc nulle. Pour finir la +déformation géométrique de la paroi spéculaire est une translation, l'axe de +rotation $\vec{\gamma}$ est donc nul et toutes les dérivées angulaires n'ont +plus lieux d'être dans la condition aux limites. + +La condition à la limite de sensibilité de la paroi spéculaire de la boite +devient donc: +\begin{equation} +\begin{aligned} +s = & - \beta \partial_{1,\vec{u}} \mathcal{C}_b[L] \\ +& + \mathcal{C}_b[\partial_{1,\vec{\chi}}L - \beta \partial_{1,\vec{u}} L] +\end{aligned} +\end{equation} +avec +\begin{equation} +\beta \partial_{1,\vec{u}} \mathcal{C}_b [L] = \beta \left(\partial_{1,\vec{u}} +\rho(\vec{x},-\vec{\omega}) \right) \int_{H'} +\delta(\vec{\omega}'-\vec{\omega}_{spec}) L(\vec{x},\vec{\omega}',\PI) +d\vec{\omega}' +\end{equation} +En prennant en compte le fait que: +\begin{equation} +\int_{H'} \delta(\vec{\omega}' - \vec{\omega}_{spec} f(\vec{\omega}') +d\vec{\omega}' = f(\vec{\omega}_{spec} +\end{equation} +on trouve finalement: +\begin{equation} +\begin{aligned} +s(\vec{x},\vec{\omega},\PI) = & - \beta +\left(\partial_{1,\vec{u}}\rho(\vec{x},-\vec{\omega}) \right) +L(\vec{x},\vec{\omega}_{spec},\PI) \\ +& + \partial_{1,\vec{\chi}}L(\vec{x},\vec{\omega}_{spec},\PI) - \beta +\partial_{1,\vec{u}} L(\vec{x},\vec{\omega}_{spec},\PI) +\end{aligned} +\end{equation} +-------------------------------- FIN ANNEXE 1 ------------------------------------ \\ + <<copyright>>= /* Copyright (C) 2021