Le principe de FERMAT
appliqué au calcul du chemin d’un rayon lumineux
dans une fibre optique à gradient d’indice linéaire.

1. Position du problème.

         • En utilisant le calcul variationnel (c’est également le principe de FERMAT), on souhaite déterminer le chemin d’un rayon lumineux injecté dans le cœur, suivant l’axe de symétrie, et dans le plan méridien, d’une fibre optique à gradient d’indice linéaire.

Injection, de la lumière dans le coeur de la fibre optique...

         • Le rayon lumineux est "injecté" dans la fibre au point O qui appartient à l'axe de symétrie de la fibre optique de forme cylindrique, et dans le plan (xOz).
         • Dans l'air, d'indice optique n0, le rayon fait l'angle θ0 avec l'axe de symétrie de la fibre optique.
         • Dans le cœur de la fibre optique dont l'indice optique au voisinage de l'axe de symétrie de cette même fibre est n1, le rayon lumineux fait l'angle θ1.
         • Suivant l'axe des abscisses Ox, l'indice optique du cœur de la fibre optique, est une "fonction linéaire" d'équation : `n(x)=n_1(1-(Delta|x|)/r_0)`.
                - Où `Delta` est la variation relative d'indice, avec : `Delta=(n_1-n_2)/(n_1)` , où `r_0` est le rayon du cœur de la fibre optique.
         • On donne les caractéristiques optiques de la fibre : n1 = 1,50, `Delta`= 1 %, on en déduit n2 = 1,485.
         • On donne les caractéristiques géométriques de la fibre optique :
                - Diamètre du cœur : 50 µm (r0 = 25 µm), diamètre extérieur de la gaine (d'indice n2 constant) : 125 µm.

Gradient d'indice linéaire

Remarque : Ce graphe a été tracé à l'aide du logiciel gnuplot®.

2. Mise en œuvre du calcul variationnel (ou du principe de FERMAT)
    pour déterminer le chemin du rayon lumineux.

2.1. La contrainte.

         • On souhaite que la durée de parcours du rayon lumineux suivant son chemin soit extrémale (ici minimale) pour passer d'un point `M_1(x_1,z_1)` à un point `M_2(x_2,z_2)`.

Chemin élémentaire suivi par la lumière...

         • Pour parcourir l'abscisse curviligne élémentaire `ds`, le rayon lumineux met la durée `dt` telle que : `dt=(ds)/v_varphi`, où `v_varphi` est la vitesse de phase de l'onde associée au rayon lumineux.
              - Or `v_varphi=c/n`, où `c` est la célérité de la lumière dans le vide, et `n` l'indice optique de la substance au point considéré.
         • Il vient : `dt=n/cds`, avec ici `ds=sqrt(dx^2+dz^2)`, soit `ds=sqrt(1+dotx^2)dz`, où `dotx=(dx)/dz`, avec `n(x)=n_1(1-(Delta|x|)/r_0)`.
              - Soit : `dt=n_1/c (1-(Delta|x|)/r_0)sqrt(1+dotx^2)dz`.
         • La durée du parcours entre les points `M_1` et `M_2` est égale à : `t_2-t_1=int_(z_1)^(z_2) n_1/c (1-(Delta|x|)/r_0)sqrt(1+dotx^2)dz`, cette durée doit être extrémale (ici minimale) ; c'est cette contrainte qui constitue le principe de FERMAT.
         • La solution de ce problème peut être obtenue à partir des résultats du calcul des variations, car ici on doit trouver le chemin (le parcours du rayon lumineux) qui rend cette intégrale extrémale.

2.2. Les résultats issus du calcul variationnel.

         • Dans l'intégrale précédente, la quantité : `n_1/c (1-(Delta|x|)/r_0)sqrt(1+dotx^2)`, est la fonctionnelle de cette intégrale.
         • Cette fonctionnelle s'écrit de manière générale `F(z,x,dotx)`, où `z` est la variable d'intégration.
         • On observe ici que la fonctionnelle ne dépend pas explicitement de la variable d'intégration `z`, ce qui aura une "heureuse conséquence"…
         • On écrit alors : `color(navy)(F(x,dotx)=n_1/c (1-(Delta|x|)/r_0)sqrt(1+dotx^2))`.
         • EULER a démontré que pour rendre l'intégrale extrémale, sa fonctionnelle devait vérifier : `ul((delF(z,x,dotx))/(delx)-(d((delF(z,x,dotx))/(deldotx)))/dz=0)`.

2.3. L'équation de BELTRAMI.

         • BELTRAMI a également démontré que si la fonctionnelle ne dépendait pas explicitement de la variable d'intégration, alors elle vérifiait l'équation suivante :
                `ul(F(x,dotx)-dotx (delF(x,dotx))/(deldotx)=C_0)`, où `C_0` est une constante d'intégration définie par une condition initiale.

2.4. Résolvons alors notre problème.

2.4.1. L'équation à résoudre.

         • Ici : `(delF(x,dotx))/(deldotx)=n_1/c (1-(Delta|x|)/r_0) dotx/sqrt(1+dotx^2)`.
         • L'équation de BELTRAMI nous conduit à écrire : `n_1/c (1-(Delta|x|)/r_0) (sqrt(1+dotx^2)- dotx^2/sqrt(1+dotx^2))=C_0`, soit `n_1/c ((1-(Delta|x|)/r_0))/sqrt(1+dotx^2)=C_0`.

2.4.2. Détermination de la constante d'intégration.

         • Supposons que l'injection du rayon lumineux se fasse à l'origine O, sous un angle `theta_1` mesuré dans la fibre optique, par rapport à son axe de symétrie.

Injection de la lumière sur la face d'entrée de la fibre...

              - Au point O de coordonnées : `x=0`, `z=0`, dans le cœur de la fibre, on peut écrire : `dx/dz=tan(theta_1)`, d'où `dotx=tan(theta_1)`.
              - Il vient : `(n_1/c)/sqrt(1+tan^2(theta_1))=C_0 `, soit  `ul(C_0=n_1/c cos(theta_1))`.

2.4.3. Équation du chemin suivi par le rayon lumineux.

         • Finalement nous devons résoudre : `((1-(Delta|x|)/r_0))/sqrt(1+dotx^2)=cos(theta_1)`.
         • Soit encore : `(1-(Delta|x|)/r_0)^2=cos^2(theta_1)(1+dotx^2)`, d'où `dotx^2=((1- (Delta|x|)/r_0)/cos(theta_1))^2-1`.
         • La condition d'injection de la lumière à l'entrée O dans le cœur de la fibre, impose : `0<=x` et `0<=dotx`.
              - Aussi on cherche à résoudre : `dotx=sqrt(((1- (Delta|x|)/r_0)/cos(theta_1))^2-1)`.
              - Tout cela n'a de sens que si : `color(red)(0<=((1- (Delta|x|)/r_0)/cos(theta_1))^2-1)`, soit `color(red)(|x|/r_0<=(1-cos(theta_1))/Delta)`.
              - On souhaite que le rayon soit guidé dans le cœur de la fibre, ce qui impose de vérifier : `|x/r_0|<=1`, soit encore, `1-Delta<=cos(theta_1)`.
         • Alors `color(navy)(theta_1in[0,theta_(1_lim)])`, avec `color(navy) ul(theta_(1_lim)=arccos(1-Delta))`.
              - Cette dernière relation définit la condition de guidage de la lumière dans le cœur de la fibre optique.
              - Notons que l'on aura un extrémum lorsque (`dotx=0`), et  `x` sera alors égal à : `|x_e|=r_0/Delta (1-cos(theta_1))`.
         • Écrivons maintenant : `u=(1- (Delta|x|)/r_0)/cos(theta_1)`, alors `dotu=-Delta/(r_0cos(theta_1)) sgn(x)dotx`, avec `dotu=(du)/(dz)`.
              - Avec : `sign(x)=-1` si `x<0`, `sign(x)=0` si `x=0`, `sign(x)=1` si `0<x`.
         • Compte tenu ici de la condition d'injection de la lumière `sign(x)=1`, et `dotu=-Delta/(r_0cos(theta_1)) dotx`, d'où `dotx=-(r_0cos(theta_1))/Delta dotu`.
              - Il vient : `-(r_0cos(theta_1))/Delta dotu=sqrt(u^2-1)`, soit  `dotu=-Delta/(r_0cos(theta_1))sqrt(u^2-1)`, et `(du)/sqrt(u^2-1)=-Delta/(r_0cos(theta_1))dz`.
              - L'intégration conduit à : `argch(u)=-Delta/(r_0cos(theta_1))z+C_1`, où `C_1` est une constante d'intégration.
              - Alors : `u=ch(C_1-Delta/(r_0cos(theta_1))z)`, et `(1- (Delta|x|)/r_0)/cos(theta_1)=ch(C_1-Delta/(r_0cos(theta_1))z)`, avec ici `|x|=x`.
              - Il vient : `x=r_0/Delta (1-cos(theta_1)ch(C_1-Delta/(r_0cos(theta_1))z))`.
              - La condition initiale au point O, nous donne : `x=0`, et `z=0` ; il vient `(1-cos(theta_1)ch(C_1))=0`, soit `C_1=argch(1/cos(theta_1))`.
         • On obtient finalement l'expression de  : `x=r_0/Delta (1-cos(theta_1)ch(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z))`.
         • Et l'expression de : `dotx=sh(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z)`.

2.4.4. Discutons.

         • Cherchons la valeur `z_e` pour laquelle `|x|=|x_e|` alors `x` passe par un extrémum, et `dotx=0 rArr sh(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z_e)=0`.
              - Alors : `ul(z_e=(r_0cos(theta_1))/Delta argch(1/cos(theta_1)))`.
         • Cherchons l'expression de `dotx` en `z=0`, nous devrions trouver `tan(theta_1)` !
Rappel : `argch(y)=ln(y+sqrt(y^2-1))` ; nous posons ici `y=1/cos(theta_1)`.
              - On a : `dotx(0)=sh(argch(1/cos(theta_1)))`, soit `dotx(0)= (e^(ln(y+sqrt(y^2-1))) -e^(-ln(y+sqrt(y^2-1))))/2`, puis `dotx(0)= (y+sqrt(y^2-1) -1/(y+sqrt(y^2-1)))/2`, et `dotx(0)=(y^2+ysqrt(y^2-1)-1)/(y+sqrt(y^2-1))`.
              - `dotx(0)=(1/cos^2(theta_1)+tan(theta_1)/cos(theta_1)-1)/(1/cos(theta_1)+tan(theta_1))`, puis `dotx(0)=(tan^2(theta_1)+tan(theta_1)/cos(theta_1))/(1/cos(theta_1)+tan(theta_1))`, soit `dotx(0)=tan(theta_1)` !
Notons : `color(navy) (tan(theta_1)=sh(argch(1/cos(theta_1))))`.
         • Cherchons la valeur `z_(Lamda/2)` pour laquelle `dotx(z_(Lamda/2))=-tan(theta_1)` ; le rayon lumineux fait l'angle `-theta_1` par rapport à la direction de l'axe de symétrie de la fibre optique.
              - On a : `dotx(z_(Lamda/2))=sh(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z_(Lamda/2))`, on doit résoudre `sh(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z_(Lamda/2))=-tan(theta_1)`.
              -Soit : `sh(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z_(Lamda/2))=-sh(argch(1/cos(theta_1)))`, il vient `z_(Lambda/2)=2(r_0cos(theta_1))/Delta argch(1/cos(theta_1))`, soit encore `ul(z_(Lamda/2)=2z_e)`.
         • Calculons : `x(z_(Lambda/2))=r_0/Delta (1-cos(theta_1)ch(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))2(r_0cos(theta_1))/Delta argch(1/cos(theta_1))))`.
              - `x(z_(Lambda/2))=r_0/Delta (1-cos(theta_1)ch(-argch(1/cos(theta_1)))`, `x(z_(Lambda/2))=r_0/Delta (1-cos(theta_1)ch(argch(1/cos(theta_1)))`, et `x(z_(Lambda/2))=0` !
         • Étude de : `x(z)` pour `zin[0,z_(Lamda/2)]` :

Tableau de variation
Tableau de variation

Représentation graphique

Étude analytique du chemin du rayon lumineux

Remarque : Ce graphe a été tracé à l'aide du logiciel gnuplot® ; ici les échelles sur l'axe des abscisses et l'axe des cotes sont différentes ! C'est pourquoi, à l'origine O, l'angle entre l'axe des cotes (c'est aussi l'axe de symétrie de la fibre optique) et le rayon lumineux semble erroné...

2.4.5. Conséquences.

         • Le rayon lumineux va "osciller" autour de l'axe de symétrie de la fibre optique.
         • Pour construire le chemin suivi par le rayon il faut prolonger ce graphe.
Remarque : Posons `z_Lamda=2z_(Lambda/2)`.
              - Pour `zin[0,z_(Lambda/2)]`, on tracera `x(z)=r_0/Delta (1-cos(theta_1)ch(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z))`.
              - Pour `zin[z_(Lambda/2),z_Lambda]`, on tracera `-x(z-z_(Lambda/2))` ; c'est la fonction `x(z)` "retardée" de `z_(Lambda/2)` et changée de signe.
              - Pour `zin[z_Lambda,3z_(Lambda/2)]`, on tracera `x(z-z_Lambda))`.
              - Pour `zin[3z_(Lambda/2),2z_Lambda]`, on tracera `-x(z-3z_(Lambda/2))` .etc.
         • Le rayon lumineux suit un chemin périodique, de période spatiale `Lambda=z_Lambda`, avec `Lamda=4(r_0cos(theta_1))/Delta argch(1/cos(theta_1))`.
         • Pour générer le graphe de `x(z)`, on programme en langage C la fonction `x(z)` pour `zin[0,z_(Lambda/2)]` et on prend en compte la méthode à mettre en œuvre pour prolonger le graphe.
         • Je vous propose de consulter un document html que j'ai rédigé à votre intention et qui traite de la "Programmation  de l'équation du chemin suivi par la lumière pour la fibre optique à gradient d'indice linéaire.", rendez-vous à la page "GILBEL"...

2.4.6. Quelques commentaires.

         • Le chemin suivi par le rayon lumineux est périodique, et pour `zin[0,z_(Lamda/2)]` on a  : `color(navy) ul(x(z)=r_0/Delta (1-cos(theta_1)ch(argch(1/cos(theta_1)) -Delta/(r_0cos(theta_1))z)))`, fonction que l'on prolonge comme nous l'avons montré.
              - Nous obtenons bien ici l'expression analytique du chemin suivi par le rayon lumineux.
              - L'amplitude est égale à : `color(navy) ul(r_0/Delta (1-cos(theta_1)))`, et la période spatiale à : `color(navy) ul(Lamda=4(r_0cos(theta_1))/Delta argch(1/cos(theta_1)))`.
         • Comme le montre les figures des paragraphes 1. et 2.4.2., on injecte le rayon lumineux sur la face d'entrée de la fibre optique.
              - Cette même face d'entrée est "plongée" dans l'air d'indice `n_0` ; et on y vérifie la loi de DESCARTES : `n_0sin(theta_0)=n_1sin(theta_1)`.
              - La condition de guidage de la lumière dans le cœur de la fibre optique impose `theta_1<=arccos(1-Delta)`.
              - Aussi l'angle `theta_0` doit-il vérifier : `sin(theta_0)<=n_1/n_0 sin(arccos(1-Delta))`, et `color(navy) (theta_0in[0,theta_(0_lim)])` avec `color(navy) ul(theta_(0_lim)=arcsin(n_1/n_0 sin(arccos(1-Delta))))`.
              - Cette dernière relation définit la condition d'injection de la lumière sur la face d'entrée de la fibre optique.
         • Application numérique : Avec `Delta= 1  %`, `n_1=1,5` et `n_2=1,485`, il vient :
              - `theta_(0_lim)=arcsin(n_1/n_0 sin(arccos(1-Delta)))` ; ici `theta_(0_lim)=0.21321280348  rd`, soit `theta_(0_lim)=12°12'58''`.
              - `theta_(1_lim)=arccos(1-Delta)` ; ici `theta_(1_lim)=0.14154  rd`, soit `theta_(1_lim)=8°06'34''`.

2.4.7. Représentation graphique.

         • La figure suivante représente le chemin suivi par la lumière  dans le cœur de la fibre optique pour :
              - En rouge : `color(red)(theta_1=3°)`, en vert : `color(green)(theta_1=5°)`, en bleu : `color(blue)(theta_1=8°06'34'')`.

Chemins suivis par la lumière selon Beltrami.

Remarque : Ces graphes ont été tracés à l'aide du logiciel gnuplot® ; ici les échelles sur l'axe des abscisses et l'axe des cotes sont différentes ! C'est pourquoi, à l'origine O, l'angle entre l'axe des cotes (c'est aussi l'axe de symétrie de la fibre optique) et le rayon lumineux semble erroné...

3. Mise en œuvre du calcul variationnel
    et de la méthode de RUNGE-KUTTA RK4,4
    pour déterminer numériquement le chemin du rayon lumineux.

3.1. Remarque.

         • Ici, nous ne "profitons plus" de la relation de BELTRAMI, mais nous allons développer la relation de EULER pour obtenir un système d'équations différentielles ordinaires (EDO) du premier ordre , que nous intégrerons "numériquement" en mettant en œuvre la méthode de RUNGE-KUTTA d'ordre quatre (RK4,4).
         • La méthode de RUNGE-KUTTA RK4,4 est une méthode numérique permettant de résoudre dans le cas le plus général, un système d'équations différentielles ordinaires (EDO) du premier ordre par approximation. Cette méthode a été mise au point par les mathématiciens Carl RUNGE et Martin Wilhelm KUTTA.
              - Rappelons qu'une équation différentielle ordinaire (EDO) de degré n, est de la forme : `F(x,y(x),doty(x),ddoty(x),...,y^((n)) (x))=0`, où `y^((n)) (x)` est la derivée n-ième de `y(x)` par rapport à `x`.
              - Pour une équation différentielle ordinaire du premier ordre, on calcule la solution de l'équation différentielle par itération, le raffinement de la méthode conduit à une erreur d'ordre quatre.
              - Lorsque l'on a affaire à une équation différentelle ordinaire d'ordre n supérieur ou égal à deux, on peut la décomposer en un système de n équations différentielles ordinaires du premier ordre. On constitue alors un espace vectoriel des solutions, de dimension fini ; on dit que l'équation différentielle ordinaire de degré n est une fonction à valeur vectorielle. Bien entendu, la méthode de RUNGE-KUTTA RK4,4 s'applique à chaque composante vectorielle.

3.2. Mise en forme des équations.

         •  La relation de EULER : `(delF(x,dotx))/(delx)-(d((delF(x,dotx))/(deldotx)))/(dz)=0`.
         •  Expression analytique de la fonctionnelle : `F(x,dotx)=n_1/c (1-(Delta|x|)/r_0)sqrt(1+dotx^2)`, qui ne dépend pas ici explicitement de la variable `z`.
         •  Nous avons vu que si la fonctionnelle ne dépendait pas explicitement de la variable (ici `z`), alors la relation de EULER s'exprimait sous la forme :
                `color(navy) ((delF(x,dotx))/(delx)-dotx (del^2 F(x,dotx))/(delx deldotx)-ddotx (del^2F(x,dotx))/(del dotx^2)=0)`.
              - Avec : `(delF(x,dotx))/(delx)=-n_1/c Delta/r_0 sqrt(1+dotx^2)sgn(x)` ; `(delF(x,dotx))/(deldotx)=n_1/c (dotx(1-(Delta|x|)/r_0))/sqrt(1+dotx^2` ; `(del^2F(x,dotx))/(delxdeldotx)=-n_1/c Delta/r_0 (dotxsgn(x))/sqrt(1+dotx^2)` ; `(del^2F(x,dotx))/(deldotx^2)=n_1/c  ((1-(Delta|x|)/r_0))/((1+dotx^2)sqrt(1+dotx^2))`.
         • On doit donc résoudre : `-n_1/c Delta/r_0 (dotxsgn(x))/sqrt(1+dotx^2)+n_1/c Delta/r_0 (dotx^2 sgn(x))/sqrt(1+dotx^2)-n_1/c  (ddotx(1-(Delta|x|)/r_0))/((1+dotx^2)sqrt(1+dotx^2))=0`.
         • Après simplification, il vient : `color(navy) ul(ddotx=-Delta/r_0 ((1+dotx^2)sgn(x))/(1-(Delta|x|)/r_0))`.
              - Nous avons affaire à une équation différentielle ordinaire du second ordre.

3.3. Mise en œuvre de la méthode de RUNGE-KUTTA RK4,4.

3.3.1. Écriture du système d'équations différentielles ordinaires du premier ordre.

         • Nous ramenons cette équation différentielle du second ordre, à un système de deux équations différentielles du premier ordre
         • Posons : `ul(x=u_0)`, et `(du_0)/(dz)=u_1` ; on en déduit `u_1=(dx)/(dz)`, soit `ul(dotx=u_1)` et `(du_1)/(dz)=(d dotx)/(dz)`, soit `ul(ddotx=(du_1)/(dz))`.
         • L'équation différentielle du second ordre s'écrit alors : `(du_1)/(dz)=-Delta/r_0 ((1+u_1^2)sgn(u_0))/(1-(Delta|u_0|)/r_0)`.
         • Nous devons donc résoudre le systèmes de deux équations différentielles ordinaires du premier ordre suivant :
                `color(navy)((du_0)/(dz)=u_1)`
                `color(navy)((du_1)/(dz)=-Delta/r_0 ((1+u_1^2)sgn(u_0))/(1-(Delta|u_0|)/r_0))`
              - Où : `u_0=u_0(z)` et `u_1=u_1(z)` sont des fonctions de la variable `z`.
Remarque : On a affaire à un système d'équations couplées.

3.3.2. Conditionnement du calcul.

         • Dans la méthode de RUNGE-KUTTA RK4,4, on programme le système des deux équations différentielles ordinaires du premier ordre, et l'on précise les conditions initiales (ici au nombre de deux).
         • À l'entrée de la fibre optique, au point O, `z=0`, et `x=0 rArr u_0(0)=0`, et `(dx)/(dz)=tan(theta_1) rArr u_1(0)=tan(theta_1)`.
         • On choisit  `theta_1<=theta_(1_lim)` ; cette "heureuse" hypothèse résulte du calcul mené avec la méthode de BELTRAMI...
         • `z` prend ses valeurs dans l'intervalle `[0, z_(Max)]`, et varie au pas `Deltaz`.
         • L'algorithme de la méthode de RUNGE-KUTTA RK4,4 élabore une "table de données" constituée de n lignes contenant chacune le triplet : {`z, u_0(z), u_1(z)`}.
              - On résoud bien notre problème sous forme numérique, et l'exploitation de la "table de données" permet ici de tracer les chemins suivis par la lumière dans le cœur de la fibre optique.

3.3.3. Représentation graphique.

         • On choisit `theta_1<=theta_(1_lim)`, on impose `u_0(0)=0` et  `u_1(0)=tan(theta_1)`.
         • Ici `z_(Max)=1700` µm, le pas est égal à `Deltaz=0,17` µm, la variation relative d'indice est égale à `Delta=1 %`, le rayon du cœur de la fibre optique est égal à `r_0= 25` µm.
              - On obtient alors une "table de données" formée de dix mille lignes, constituées chacune du triplet : {`z,u_0(z),u_1(z)`}.
              - On donne à `theta_1` différentes valeurs :
              - En rouge : `color(red)(theta_1=3°)`, en vert : `color(green)(theta_1=5°)`, en bleu : `color(blue)(theta_1=8°06'34'')`.

Chemins des rayons lumineux (suivant RK4,4).

Remarque : Ces graphes ont été tracés à l'aide du logiciel gnuplot® ; ici les échelles sur l'axe des abscisses et l'axe des cotes sont différentes ! C'est pourquoi, à l'origine O, l'angle entre l'axe des cotes (c'est aussi l'axe de symétrie de la fibre optique) et le rayon lumineux semble erroné…
         • Les graphes obtenus par intégration numérique de l'équation différentielle ordinaire du second ordre par la méthode de RUNGE-KUTTA RK4,4, sont identiques à ceux obtenus de manière analytique par intégration de l'équation de BELTRAMI !

3.3.4. Étude dans le plan de phase.

         • Il s'agit du tracé de `dotx(z)`  en fonction de `x(z)`, en effet dans le triplet : {`z, u_0(z), u_1(z)`} ; on a : `u_0(z)= x(z)` et `u_1(z)=dotx(z)`.
              - On donne à `theta_1` différentes valeurs :
              - En rouge : `color(red)(theta_1=3°)`, en vert : `color(green)(theta_1=5°)`, en bleu : `color(blue)(theta_1=8°06'34'')`.

Étude dans le plan de phase (RK4,4).

         • Il est évident ici que les chemins suivis par la lumière sont bien périodiques dans l'espace, mais ils ne sont certainement pas sinusoïdaux !

4. Intérêt pratique et remerciements.

4.1. Intérêt pratique.

         • Dans la mesure où l'on cherche à connaître le chemin suivi par la lumière dans le cœur de la fibre optique, l'utilisation de la méthode de RUNGE-KUTTA RK4,4 nous facilite les calculs, en effet, on ne procède qu'à des dérivations qui conduisent à établir un système des deux équations différentielles ordinaires du premier ordre, et l'on procède alors à l'intégration numérique.
         • Cependant, il faut formuler correctement le problème. Formulation qui nous impose ici d'utiliser le calcul variationnel, qui se révèle être un outil d'investigation "puissant"...

4.2. Remerciements.

        • J'adresse mes plus vifs remerciements à Monsieur John BURKARDT, Chercheur invité du Département Informatique Scientifique, Florida State University (FSU) : John BURKARDT.
        • Monsieur John BURKARDT met à notre disposition, le code source écrit en C, de la méthode de RUNGE-KUTTA RK4,4, sous le vocable rk4.c, et un fichier d'en-tête rk4.h.
              - Deux algorithmes sont développés  :
                  • "RK4 takes one Runge-Kutta step for a scalar ODE", qui permet de résoudre une équation différentielle ordinaire du premier ordre.
                  • "RK4VEC takes one Runge-Kutta step for a vector ODE", qui permet de résoudre un système de n équations différentielles ordinaires du premier ordre, l'équation différentielle ordinaire d'ordre n à l'origine de ce système de n équations différentielles ordinaires du premier ordre, est "bien" une fonction à valeur vectorielle.
        • Monsieur John BURKARDT met également à notre disposition, le code source écrit en C, de deux exemples permettant de tester les deux algorithmes proposés, sous le vocable rk4_prb.c.
              - Les trois fichiers peuvent être téléchargés à l'URL : <https://people.sc.fsu.edu/~jburkardt/c_src/rk4/rk4.html>.
        • Pour ma part, je vous propose de consulter un document html que j'ai rédigé à votre intention et qui traite de la "Mise en œuvre pratique de la méthode RK4,4 pour la fibre optique à gradient d'indice linéaire.", rendez-vous à la page "GILRK4"...
        • Cette page n'aurait pas pu être composée sans les "outils" fournis par AsciiMath, à l'URL : <http://asciimath.org/>.
        • Cette page a pu être développée et affichée correctement grâce à l'utilisation du réseau de distribution de contenu MathJax (CDN). Toute la documentation relative à MathJax est accessible à l'URL : <http://docs.mathjax.org/en/latest/index.html>.
        • Les graphes ont été tracés à l'aide du logiciel gnuplot®, dont la documentation est accessible à l'URL : <http://www.gnuplot.info/>.
Retour à la page principale...


Copyright© 2016-2017 [ DR ] Tous droits réservés.