commit 077d0899b6675b35f1e3d535b86ffcf57ad15169
parent 4954cee602921079d6d3f9cae665a641d8414d83
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 2 Nov 2022 17:29:17 +0100
Relecture de l'introduction à la section MC
Diffstat:
1 file changed, 28 insertions(+), 19 deletions(-)
diff --git a/src/sgs_compute_sensitivity_translation.nw b/src/sgs_compute_sensitivity_translation.nw
@@ -261,7 +261,7 @@ couplage du modèle de sensibilité avec le modèle de transfert radiatif et le
modèle de la dérivée spatiale (voir \citep{papier_sensib} qui considère les
dérivées spatiale et angulaire de la luminance comme des quantités de la
physique, au même titre que la sensibilité géométrique, et qui en décrit les
-modèles). Nous concluons alors que de résoudre ce problème de sensibilité
+modèles). Nous concluons alors que résoudre ce problème de sensibilité
géométrique dans la boite revient à résoudre un problème de transport couplé
qui dépend à la fois des source radiatives (à travers $L_{spec}$), des sources
de dérivées spatiales dans la direction $\vec{u}$ (à travers
@@ -269,9 +269,9 @@ $\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}$).
\paragraph{Les sources du problème couplé}
-Les sources radiatives ont été décrites dans la figure \ref{configuration}
+Les sources radiatives ont été décrites dans la figure \ref{fig: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é
+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
@@ -285,7 +285,7 @@ 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_duL_haut}, \ref{eq:cl_duL_droite}, \ref{eq:cl_dchiL_haut} et
\ref{eq:cl_dchiL_droite}.
\begin{equation}
@@ -333,7 +333,9 @@ par un échantillonnage des sources et des chemins qui les propageront vers le
récepteur.
\paragraph{}
-La mise en oeuvre proposée est particulière dans le sens où le chemin du
+Dans cette section nous écrivons la fonction [[realisation]] en charge
+d'échantillonner un chemin et d'en calculer le poids Monte-Carlo.
+La mise en oeuvre ici proposée est particulière dans le sens où le chemin du
problème couplé est d'abord échantillonné et conservé en totalité
(section~\ref{subsec:chemin}). Son poids n'est calculé qu'a posteriori à partir
du chemin ainsi construit (section~\ref{subsec:poids}). Cette proposition
@@ -342,13 +344,6 @@ courante du chemin ne sont que des données locales à chaque étape de la
construction du chemin; son poids étant mis à jour si nécessaire à chacune de
ces étapes.
-\paragraph{}
-La fonction en charge d'échantillonner un chemin et d'en calculer le poids est
-la fonction [[realisation]] qui a 3 arguments: une liste de poids Monte-Carlo
-renvoyés par la fonction ([[weights]]), un générateur de nombres aléatoires
-([[rng]]), et un pointeur vers les données qui décrivent notre système
-([[scene]]).
-
<<réalisation>>=
/* TODO move me */
@@ -359,20 +354,36 @@ struct sgs_scene {
static res_T
realisation
- (double weights[WEIGHTS_COUNT__],
- struct rng* rng,
- const struct sgs_scene* scene)
+ (struct rng* rng,
+ const struct sgs_scene* scene,
+ double weights[WEIGHTS_COUNT__])
{
<<variables locales>>
res_T res = RES_OK;
- <<échantilloner un chemin>>
- <<calculer le poid du chemin>>
+ <<échantilloner un chemin du problème couplé>>
+ <<calculer le poids du chemin>>
exit:
return res;
error:
goto exit;
+}
+@
+
+\paragraph{}
+Notre fonction de réalisation prends en entrée un générateur de nombres
+aléatoires ([[rng]]) et un pointeur vers les données du système ([[scene]]).
+Dans la variable [[weights]] seront renvoyés la liste des poids Monte-Carlo
+calculés par la fonction, à savoir le poids du chemin échantillonné et sa
+sensibilité à $\PI$.
+
+<<définition des constantes>>=
+enum {
+ WEIGHT /*0*/,
+ SENSIB /*1*/,
+ WEIGHTS_COUNT__ /*2*/
+};
@
\subsection{Le chemin}
@@ -444,8 +455,6 @@ de la direction d'émission $\vec{\omega}$ ([[dir_emit_s]]) avant de suivre un
chemin dans cette direction jusqu'à l'intersection avec une surface stockée
dans [[hit1]].
-POUET
-
<<échantillonner un chemin de dérivée spatiale>>=
/* Compute the specular direction */
reflect(dir_spec_s, dir_emit_s, normal_s);