La simulation Monte Carlo permet de résoudre des problèmes de physique qui ne peuvent pas l'être de manière analytique.
Exemple: si tu veux savoir comment un faisceau fin, etc est absorbé dans un milieu homogène (ex de l'eau) c'est simple:
I=Io exp(-µx), ou Io est le nombre de photons avant, I le nombre de photons après, x l'épaisseur traversée et µ une constante du milieu (plus µ augmente, plus le faisceau est absorbé).
Problème: si tu veux connaître l'absorption dans un patient, composé de muscles, d'os, de poumon, tous d'absorption variable, ca ne se modélise pas simplement. La simulation consiste à générer des photons, leur faire traverser le milieu et 'voir' ce qui se passe. Bien sur, tout ça est régi par les proba d'interaction, qui sont connues. Donc si tu génères 'assez' de photons, ça converge vers la solution, le comportement de ton faisceau. Tout le problème est de générer 'assez' de photons, ce qui sous entend des calculs très longs.
D'ou:
Programmation balèze:
coder le milieu de propagation
coder les interactions
coder l'info recueillie en sortie.
En fait, il existe des programmes écrits par des groupes (style univ américaines) qui sont des standards: tu as le moteur principal, a toi de coder la géométrie et ce que tu veux en sortie.
Par exemple, on a SimSet (univ de washington) qui tourne sur Sun, Windows, 'unix', mais pas sur Mac.
Ici, 2 remarques:
1) Si on veut accélérer le temps de calcul, le cluster semble une bonne option, et l'AppleSeed est plug and play (enfin presque) d'ou le portage sur mac. En plus, les macs sont pas mal pour le calcul brut.
2) AppleSeed fonctionne actuellement sous Os 9, mais ça va changer dès que Absoft livrera son environnement Fortran et C sous Os X. Pour parallèliser (par exemple avec MPI) faut des librairies, qui sont actuellement écrites pour Os 9. Ca devrait évoluer vite.
C'est pas tout très clair dans ma tête, mais ça devrait marcher... Enfin, on va essayer...
A +
------------------
Manu