From 1ab5297e964f8710e8c9144b03b7d12b71e4cc37 Mon Sep 17 00:00:00 2001 From: VEZINET Didier Date: Wed, 27 Nov 2019 12:10:43 +0100 Subject: [PATCH] [Issue288] Files removed --- Debug_JINTRACMesh.pdf | Bin Debug_JINTRACMesh.svg | 21 ------- TODO_EndOfVisit_20181212.txt | 118 ----------------------------------- XICS_mask.npz | Bin 4287706 -> 0 bytes tofu/version.py | 2 +- 5 files changed, 1 insertion(+), 140 deletions(-) delete mode 100644 Debug_JINTRACMesh.pdf delete mode 100644 Debug_JINTRACMesh.svg delete mode 100644 TODO_EndOfVisit_20181212.txt delete mode 100644 XICS_mask.npz diff --git a/Debug_JINTRACMesh.pdf b/Debug_JINTRACMesh.pdf deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/Debug_JINTRACMesh.svg b/Debug_JINTRACMesh.svg deleted file mode 100644 index 890803549..000000000 --- a/Debug_JINTRACMesh.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - diff --git a/TODO_EndOfVisit_20181212.txt b/TODO_EndOfVisit_20181212.txt deleted file mode 100644 index a2e89a891..000000000 --- a/TODO_EndOfVisit_20181212.txt +++ /dev/null @@ -1,118 +0,0 @@ -Salut Laura, - -Alors les prochaines étapers que je vois (ton avis est évidemment bienvenu): - - -######################### -* Function principale (kIn kOut, indout, vect): -x - Terminer proprement l'optimisation CPU -x - Comprendre et terminer optimisation / profilage mémoire (résidu?) -x - Terminer parallélisation -x - La connecter à la partie orientée objet, en sortant les calculs - preliminaires (limites des boites...) qui ne changeront pas si la - caméra bouge et qu'on refait le calcul (pour optimisation de la - position) - - -######################### -* Autres fonctions nécessaire (inspirées de la principale): - -x 0/ Calculer, pour N points (R,Z) (donc cercle plat en 3D), le point le - long de la LOS le plus proche du cercle: (projection de la ligne - (hyperbole) ou en 3D pbm 4d), retourner k et distance - -x 0.1/ Same as 0/ but give back bool when dist < eps => True - (eps as parameter). - -x 1/ Calculer uniquement kIn / kOut pour N (~1-100) polygones - (ex.: des surfaces de flux) - TODO: pas de structs !! - -x 2/ Calculer, pour N polygones, et lorsque les lignes de visée ne les - traversent pas, la distance la plus courte d entre une ligne et un - polygone (et le paramètre k du point associé sur la ligne). - Retourner d=0 si la ligne traverse (i.e. si il existe un kIn et/ou - un kout) - > parametres entrées: (nvert, poly, vin, lims si lin, los_origin, - los_direction) - - >> Only did it for toroidal polygons... is it really necessary ? - - o Interface Python: - qui appelle une des deux (si il existe un parametre epislon) - x vectoriser à plusieurs polys - x version true/false si >0 et < eps (tableau booleen nlos*npoly) - o Interface Python : - qui appelle une des deux avex une variable pour choisir si LOS/poly ou l'inverse - x plein LOS, plein poly, pour chaque ligne: tableau d'indice (de taille nlos) - indiquant le poly pourlequel la LOS est le plus proche. (min(distance) mais - pour laquelle la LOS ne passe pas à l'intérieur). - Poly sont ordonnees : du plus petit au plus grand - x plein LOS, plein poly, pour chaque poly: tableau d'indice (de taille npoly) - indiquant la LOS pourlequel le poly est le plus proche. (min(distance) mais - pour laquelle la LOS ne passe pas à l'intérieur). - -> 2.1/ Ask Didier (vignetting algo ?) - > In : (list los_orig, list los_dirc, list contour3d, ncontour, list nvert...) - > Out : (list bool[ncontour * nlos]) - > contour 'simple' 3d = sans recoupe. - > 1. bbox - los - triangulation du polygon - - 3/ Calculer, pour N points de l'espace (~10-100) s'il sont visibles par - M autres points (~10^4-10^6), dans une configuration donnée (ex.: des - points le long d'une trajectoire dans la chambre à vide, on veut savoir - quels sont les points du plasma - échantilloné - qui rayonnent - dessus). Retourner un tableau 2D (N,M) de booleens. Je calculerai - l'angle solide et le vecteur directeur vectoriellement ensuite en me - basant sur ce booleen. Un fonction qui retourne ce tableau est donc - suffisante. - - 4/ Idem, mais pour N polygons 3D plans (ou quasi-plans), attention, le - polygone a un sens (i.e.: une face visible, l'autre ne compte pas), - seuls les points du bon coté doivent être comptés comme le voyant - - Eventuellement retourner plutot un tableau d'entier (flags) avec - code (0=pas vu, 1=partiellement, 2=entier), avec tests sur le centre - de masse et les sommets) - - Non-prioritaire : mattre un flag pour désactiver le calcul - d'un seul côté - - 5/ Idem mais calculer aussi l'angle solide associé et le vecteur - directeur vers le centre de masse du polygon - Prioritaire : uniquement pour les polygones vu en entier - - 6/ Pour les fonction 3/ et 5/, dans le cas ou le champ par lequel on - eut multiplier l'angle solide est axisymmétrique (toroidalement - invariant), on peut le multiplier par l'intégrale toroidale de l'angle - solideau lieu de faire un calcul détaillé dans tout le volume. Dans ce - cas, le calcul doit aller plus vite et économiser pas mal de mémoire - puisqu'on écrase sur une dimension). Il fut alors: - - Echantilloner le volume qui nous intéresse (fonction - sample_V() existante, s'en inspirer), en faisant une boucle sur - le grand rayon R (car c'est lui qui détermine le nombre - d'échantillonages toroidaux), c'est cette boucle supérieure - que l'on pourra ensuite parallliser.. - - En déduire un échantillonage (phi,Z), pour chaque point de - l'échantillonage voir si le point / polygone est visible, le - cas échéant calculer l'angle solide (et le vecteur ? à - discuter), puis l'intégrer sur phi. - - A la fin on obtient une carte 2D (R,Z) de l'angle solide - intégré en phi - - 7/ Faire la même chose que 5/ mais en intercalant un nombre arbitraire - d'ouvertires polygonles et de grilles polygonales, calculer l'angle - solide correspondant à l'intersection de tous ces polygones vu du - plasma (i.e. : les photons doivent passer à travers toutes les - ouvertures / griles avant d'atteindre les détecteurs). - - 7/ On va commencer à gérer: - - Les réflexions (spéculaires et diffusives) - - Les réflexions sur un cristal à simple ou double courbure - (pour les spectromètres) - - - 8/ S'attaquer aux maillages (an 2) - -J'arrive ;-) -A toute -Didier diff --git a/XICS_mask.npz b/XICS_mask.npz deleted file mode 100644 index 6f349523fff06f9a23e5f1c81f7de1a20497fbc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4287706 zcmeF(!HT5^UdG`r6a?2^KwL#32m`~6xO3x1l-am&C2^8r1j!7E2%=ua+>f{8&TFu$ zx+`_MJM~p3?<6_DubzULuI_XG>GwRpuBvqCh{uU^0X>8oG$g9Cv(GmK2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAVA<61a7Wjgbf4;5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK;UhGo43E~djtp&AV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfWTD<++4*9BM1;6K!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7e?%N4kJxi8%- zCqRGz0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly 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 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfWTD=+;}5EfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oQL|0$24%S&Sh-fB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5;&h`^0E0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5;&7c3C@LoQ|#AV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+z*Py{cq2f7009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5O~1?SM^6(j3GdP009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ 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