⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lightscatpro5.htm

📁 球形粒子Mie 散射用Matlab编写的Mie theory计算程序。在光子学中运用广泛
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Tmatrice</title>
<style type="text/css">
<!--
.Style1 {
	font-size: xx-large;
	font-weight: bold;
}
.Style2 {
	color: #000000;
	font-weight: bold;
}
-->
</style>
</head>

<body>
<p align="center"><br>
  <span class="Style1">Light Sca Pro - vs.5</span></p>
<p><br>
  Algorithme de la T-matrice pour le calcul de la diffusion de la lumi&egrave;re par des sph&egrave;res </p>
<p>Auteur : LECLER Sylvain <br>
  Contexte : th&egrave;se 2003-2005 <br>
  Diffusion de la lumi&egrave;re par des particules sub-longueur d'onde<br>
  Labo : Laboratoire des Syst&egrave;mes Photoniques<br>
  Encadrant : Yoshitate Takakura (LSIIT)<br>
  Directeur de th&egrave;se : Patrick Meyrueis<br>
  MAJ : 03/10/2006</p>
<p>Il manque encore &agrave; ce document :<br>
  -des exemples complets d'utilisation <br>
  -une description plus pr&eacute;cise des sorties</p>
<p>....................Version 5......................<br>
</p>
<p>Intro : <br>
  _______<br>
  Ces programmes cod&eacute;s sous Matlab 6.5 auront pour but de calculer le champ diffus&eacute; par un agr&eacute;gat de sph&egrave;res disjointes contenus dans un domaine spatial de rayon inf&eacute;rieur &agrave; 30 longueur d'onde. <strong>Ils n'ont pour l'instant &eacute;t&eacute; valid&eacute;s que pour, au mieux, des aggr&eacute;gats faits de 2 sph&egrave;res align&eacute;es sur l'axe z. </strong>L'algorithme utilise une m&eacute;thode modale dite de la T-matrice. Ces programmes ont &eacute;t&eacute; cod&eacute; par Sylvain Lecler lors de sa th&egrave;se au Laboratoire des Syst&egrave;mes Photoniques (Strasbourg) entre 2003 et 2005. <br>
</p>
<p>Plan<br>
  ____<br>
  1) <a href="#Origine">Origine de l'algorithme</a> (historique et article de ref)<br>
  2) <a href="#possibilites">Possibilit&eacute;s du programme</a> (ce qu'il fait, ses limitations)<br>
  3) <a href="#modemploi">Mode d'emploi</a> (comment l'utiliser)<br>
  4) <a href="#fichiers">R&ocirc;le de chaque fichier .m</a><br>
  5) <a href="#struct">Structure du programme</a><br>
  6) <a href="#var">Liste de variables</a>  <br>
  7) <a href="#rep">Contenus des diff&eacute;rents r&eacute;pertoires</a><br>
  8) <a href="#rmq">Remarques</a><br>
</p>
<p><a name="Origine"></a>1) Origine de l'algorithme :<br>
  ____________________________<br>
  A-La diffusion d'une onde incidente plane par une sph&egrave;re a &eacute;t&eacute; exprim&eacute;e de mani&egrave;re <br>
  analytique par Mie en 1908. </p>
<p>B-Waterman dans les ann&eacute;es 60 a &eacute;t&eacute; le premier a d&eacute;crire cette diffusion <br>
  par une matrice de transition (la T-matrice) qui relie des co&eacute;fficients<br>
  de d&eacute;composition de l'onde diffus&eacute;e exprim&eacute;e sur une base d'ondes sph&eacute;riques aux <br>
  co&eacute;fficients de d&eacute;composition de l'onde incidente sur la m&ecirc;me base. </p>
<p>C-Le calcul de cette matrice a ensuite &eacute;t&eacute; g&eacute;n&eacute;ralis&eacute; pour un nombre quelconque <br>
  de sph&egrave;res disjointes dans l'espace. Mishchenko est un de ceux qui a beaucoup<br>
  travaill&eacute; sur cet famille d'algorithmes dit de la T-matice. </p>
<p>D- Cette version du programme est inspir&eacute;e principalement de <br>
  la publi &quot;T matrice for electromagnetic scattering from an arbitrary<br>
  number of scarrerers and representations of E(3)&quot; de Bo Peterson et Staffan Strom, <br>
  publi&eacute; dans physical Review D Vol8 N10 nov1973<br>
</p>
<p><a name="possibilites"></a>2) Possibilit&eacute;s du programme :<br>
  ______________________________<br>
  2.1) Aggr&eacute;gats :<br>
  ---------------------<br>
  - Le programme est sens&eacute; calculer la diffusion de la lumi&egrave;re par une, deux ou N sph&egrave;res disjointes positionn&eacute;es de man&egrave;re quelconque dans l'espace dans un domaine spatial de rayon inf&eacute;rieur &agrave; 30 longueur d'onde. <strong>Il n'a pour l'instant &eacute;t&eacute; valid&eacute; que pour, au mieux, des aggr&eacute;gats faits de 2 sph&egrave;res align&eacute;es sur l'axe z. </strong>La translation les sph&egrave;res hors de l'axe z n'est pas encore fonctionnelle. <br>
  - Les sph&egrave;res peuvent &ecirc;tre dielectriques, avoir de l'absorption ou etre conductrices parfaites. Elles peuvent etre diff&eacute;rentes.<br>
  <br>
  2.2) Ondes Incidentes :<br>
  --------------------------------<br>
  L'onde incidente peut etre :<br>
  - plane et unitaire, de polarisation lin&eacute;aire TE ou TM, circulaire gauche ou droite <br>
  avec un vecteur d'onde dans le plan (Oxz)<br>
  - d&eacute;crite par ses coefficients de d&eacute;composition (quelconques).<br>
  <br>
  2.3) Grandeurs Physiques en sortie :<br>
  -----------------------------------------------------<br>
  Le programme permet d'obtenir en sortie au choix :<br>
  (pour, au choix, le champ incident, le champ diffus&eacute; ou le champ total)<br>
  - les 6 composantes du champ dans l'espace (rep&egrave;re cart&eacute;sien ou sph&eacute;rique) <br>
- le vecteur de poynting dans l'espace<br>
- l'intensit&eacute; et la norme du champ &eacute;lectrique
</p>
<p>(pour l'onde diffus&eacute;e) <br>
  - les &eacute;l&eacute;ments de Stokes (polarisation) dans l'espace<br>
  - le diagramme de diffusion I(theta), I(theta,phi)<br>
  - la fonction de phase f(theta, phi) <br>
  - la section efficace de diffusion, d'extinction ou de r&eacute;trodiffusion.<br>
  - la repr&eacute;sentation 3D des axes de polarisation fonction de la direction <br>
</p>
<p><a name="modemploi"></a>3) Mode d'emploi :<br>
  _________________</p>
<p>3.1) Utilisation avec interface<br>
  -----------------------------------------<br>
  - Lancer matlab (V6.5 pour l'interface).<br>
  - Se rendre dans le r&eacute;pertoire o&ugrave; est le programme en utilsant la commande &quot;cd&quot;.<br>
  - Taper &quot;diffusion&quot;, on vous propose d'utiliser l'interface (1) ou pas (0) .<br>
  - Taper &quot;1&quot; cela lance l'interface de travail<br>
  (si vous tapez &quot;0&quot; laissez vous guider, si vous taper &quot;enter&quot; sans avoir fait de choix le programme s'arrete).<br>
  - Entrer les param&egrave;tres d&eacute;crivant le syst&egrave;me<br>
  -onde incidente<br>
  -nature de l'aggr&eacute;gat diffusant<br>
  -donn&eacute;es souhait&eacute;es en sorties (facultatif).<br>
  - Cliquer sur &quot;calcul coeff&quot; pour calculer les coefficients de d&eacute;composition de l'onde difus&eacute;e projet&eacute;e sur une base d'ondes sph&eacute;riques.<br>
  - Choisir dans l'interface la forme d'autres r&eacute;sultats souhait&eacute;s en sorties.<br>
  - Cliquer sur &quot;exploitation&quot; pour visualiser les r&eacute;sultats demand&eacute;s.<br>
  - Il est ensuite possible au choix de demander d'autres r&eacute;sultats en sorties ou de calculer des coefficients de syst&egrave;mes diff&eacute;rents.</p>
<p> 3.2) Utilisation sans interface<br>
  -----------------------------------------<br>
  - Apr&egrave;s avoir tap&eacute; &quot;diffusion&quot; sous Matlab, choisissez &quot;0&quot; (sans interface).<br>
  - Laissez vous guider.<br>
  (Dans ce cas les donn&eacute;es d&eacute;crivant le probl&egrave;me sont entr&eacute;es dans un fichier du <br>
  type de &quot;donnees.m&quot; dont on va vous demander le nom. Ce fichier doit etre dans <br>
  le r&eacute;pertoire courant. Donnez le nom entre apostrophes et avec le &quot;.m&quot;, par d&eacute;faut, <br>
  si vous ne donnez aucun nom de fichier, le fichier &quot;donnees.m&quot; sera utilis&eacute;).<br>
  - Les grandeurs de sorties seront : P_i, P_s, P_o, data,T.</p>
<p>3.3) Comment &eacute;crire un script<br>
  ------------------------------------------<br>
  De mani&egrave;re g&eacute;n&eacute;rale chaque fonction cod&eacute;e pourra etre utilis&eacute;e seule, sans<br>
  interfaces graphiques, cela est pratique pour &eacute;crire des scripts faisant un grand <br>
  nombre de calculs.<br>
  Prendre exemple sur les scripts regroup&eacute;s dans le r&eacute;pertoire script.<br>
  <br>
  Principe :<br>
  - Lancer &quot;donnees.m&quot; pour d&eacute;finir les param&egrave;tres par d&eacute;fauts (source, agr&eacute;gat,choix<br>
  du post-traitement).<br>
  - Modifier les param&egrave;tres qui n'ont pas la valeur souhait&eacute;e.<br>
  - Faire une boucle sur un ou plusieurs param&egrave;tres que vous souhait&eacute;s faire varier.<br>
  - Lancer &quot;T1.m&quot; pour calculer les coefficients de l'onde diffus&eacute;e.<br>
  - Lancer &quot;PostTraitement.m&quot; pour calculer les grandeurs physiques souhait&eacute;es.<br>
  - Ecrire la fonction d'affichage de vos r&eacute;ultats.</p>
<p>3.4) Comment d&eacute;crire une onde incidente quelconque <br>
  ----------------------------------------------------------------------------<br>
  - Ecrire une fonction &quot;.m&quot; du type : <br>
  [Nbspheres,R,n2,ConducInf,sigma2,d,eta,psi]=f(lambda)<br>
- Donnez le nom du fichier .m ou .mat d&eacute;crivant votre agr&eacute;gat dans l'interface.</p>
<p>En cas de probl&egrave;me, un protocole de tests existe : <a href="./prog/TestProg.htm">TestProg.htm</a></p>
<p><a name="fichiers"></a>4) R&ocirc;le de chaque fichier .m :<br>
_______________________________<br>
Pour avoir le prototype de chaque fonction, utiliser la fonction matlab <em>help</em> suivi du nom de la fonction.<br>
Les fonctions ont &eacute;t&eacute; regroup&eacute;es en trois groupes correspondant aux 3 parties de la structure du programme. </p>
<p><strong>Groupe 1 : Lancement, interface et r&eacute;cup&eacute;ration des donn&eacute;es </strong><br>
- diffusion.m : d&eacute;marrage du logiciel<br>
Il se fait 
en mode ligne de commande sous Matlab et propose d&egrave;s le d&eacute;but de lancer l'interface graphique.<br>
  <br>
  Dans le r&eacute;pertoire &quot;prog&quot; :<br>
  - interface_coeff.m : interface graphique permettant d'entrer les caract&eacute;ristiques <br>
  du syst&egrave;me. (lanc&eacute; par diffusion.m)<br>
- interface_coeff.fig : fichier g&eacute;n&eacute;r&eacute; par matlab et utilis&eacute; par interface_coeff.m<br>
- interface_Post_Traitement.m : interface graphique permettant de choisir le post-traitement (lanc&eacute; par diffusion.m)<br>
- interface_Post_Traitement.fig : fichier g&eacute;n&eacute;r&eacute; par matlab et utilis&eacute; par interface_Post_Traitement.fig<br>
- callback_interface.m : g&egrave;re les actions &agrave; mener quand la personne lance le calcul depuis l'interface<br>
- acquisition_coeff.m : r&eacute;cup&egrave;re les donn&eacute;es concernant le syst&egrave;me dans l'interface<br>
- acquisition_post.m : r&eacute;cup&egrave;re les donn&eacute;es concernant l'exploitation des r&eacute;sultats dans l'interface<br>
- donnees.m : contient les valeurs par d&eacute;faut utilis&eacute;s par le programme<br>
- exclu.m : Gere l'exclusion des choix dans l'interface (utilis&eacute; dans les callback de certains objets de l'interface)</p>
<p><strong>Groupe 2 : Calcul de la T-matrice et des coefficients de d&eacute;composition des ondes</strong><br>
- T1.m : programme central lanc&eacute; apr&egrave;s l'acquisition des donn&eacute;es de l'interface<br>
- DecompositionOndePlane : calcul des coefficients de l'onde incidente quand celle-ci est plane monochromatique <br>
- T1sphere.m : calcule la T-matrice dans le cas de la diffusion par une sph&egrave;re<br>
- T2spheres.m : calcule la T-matrice dans le cas de la diffusion par deux sph&egrave;res<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -