Mise en œuvre pratique de la méthode RK4,4
pour l'oscillateur à pont de WIEN.

1. Les fichiers dont vous avez besoin.

1.1. Fichiers programme en C.

1.1.1. Les fichiers à télécharger.

         • Vous avez besoin des fichiers : rk4.c, rk4.h, que vous placerez (par exemple) dans votre répertoire "/home/travail"...
                - En mode console (sous Linux par exemple...) vous générerez le fichier objet : rk4.o .
                           • Frappez : dominique@pentiumdc:~/travail$ gcc -c rk4.c -o rk4.o
                           • Un "ls -1" donne : dominique@pentiumdc:~/travail$ ls -1
                                                            rk4.c
                                                            rk4.h
                                                            rk4.o
         • Vous chargerez dans le répertoire "/home/travail", le fichier "oscillateur_wien_RK4.c" que vous récupérerez sur la page "AOPRK4".
                - En mode console vous générerez le fichier objet : oscillateur_wien_RK4.o
                           • Frappez : dominique@pentiumdc:~/travail$ gcc -c oscillateur_wien_RK4.c -o oscillateur_wien_RK4.o
                           • Un "ls -1" donne : dominique@pentiumdc:~/travail$ ls -1
                                                            oscillateur_wien_RK4.c
                                                            oscillateur_wien_RK4.o
                                                            rk4.c
                                                            rk4.h
                                                            rk4.o
                - En mode console vous générerez le fichier exécutable : oscillateur_wien_RK4 (sans extension sous Linux, avec l'extension ".exe" sous Windows).
                           • Frappez : dominique@pentiumdc:~/travail$ gcc oscillateur_wien_RK4.o rk4.o -lm -o oscillateur_wien_RK4
                           • Un "ls -1l" donne : dominique@pentiumdc:~/travail$ ls -1l
                                                             total 32
                                                             -rwxr-xr-x 1 dominique dominique 11508 2017-01-16 23:16 oscillateur_wien_RK4
                                                             -rw-r--r-- 1 dominique dominique  2942 2017-01-16 23:08 oscillateur_wien_RK4.c
                                                             -rw-r--r-- 1 dominique dominique  2184 2017-01-16 23:13 oscillateur_wien_RK4.o
                                                             -rw-rw-r-- 1 dominique dominique  5130 oct.   9 13:58 rk4.c
                                                             -rw-rw-r-- 1 dominique dominique   211 2016-10-14 14:40 rk4.h
                                                             -rw-r--r-- 1 dominique dominique  7132 2016-10-27 01:06 rk4.o
Remarque : La ligne "-rwxr-xr-x 1 dominique dominique 11508 2017-01-16 23:16 oscillateur_wien_RK4", montre que l'on a affaire à un fichier exécutable, lors de l'édition de liens il ne faut pas oublier de faire référence à la librairie mathématique "-lm".

1.1.2. Rôle du fichier exécutable "oscillateur_wien_RK4".

         • Ce fichier permet de générer deux fichiers de données (les "tables de données") de noms respectifs :
                - oscillateur_wien_RK4_0.dta
                - oscillateur_wien_RK4_1.dta
         • Chaque fichier contient dix mille lignes donnant les quadruplets : {`t, u_0(t), u_1(t), Vs(t)`} ; où `tin[ 0, t_(Max)]` , et où `t` varie au pas `Deltat`.
Remarque :  La méthode RK4,4  s'applique uniquement  au potentiel de réaction, soit à `color(navy) (v_r(t) hArr u_0(t))` et `color(navy) (dotv_r(t) hArr u_1(t))`, aussi nous devons calculer le potentiel de sortie `v_s(t)` en prenant en compte le fonctionnement en régime linéaire et non linéaire, c'est l'origine de la donnée supplémentaire `color(navy) (Vs(t))`.
                - En mode console, on génére chaque fichier :
                           • Frappez : dominique@pentiumdc:~/travail$ ./oscillateur_wien_RK4 > oscillateur_wien_RK4_0.dta
                           • Un "ls -1" donne : dominique@pentiumdc:~/travail$ ls -1
                                                            oscillateur_wien_RK4
                                                            oscillateur_wien_RK4_0.dta
                                                            oscillateur_wien_RK4.c
                                                            oscillateur_wien_RK4.o
                                                            rk4.c
                                                            rk4.h
                                                            rk4.o
                           • Le programme exécutable oscillateur_wien_RK4 génére une "table de données", qu'a priori, il affiche directement dans l'écran, ici on la "redirige" (à cause du symbole >) vers le fichier (de texte) oscillateur_wien_RK4_0.dta .
                           • Ci-dessous un extrait du fichier oscillateur_wien_RK4_0.dta :
                       1 # Donnees relatives a l'osillateur de Wien :
                       2 # ----------------------------------------
                       3                0               0              50               0
                       4          2.5e-06     0.000125126         50.0988     0.000391353
                       5            5e-06     0.000250483         50.1841     0.000783425
                    ...                             ...
                   10001         0.024995         5.40646         12196.8              14
                   10002        0.0249975         5.43548         11028.2              14
                   10003            0.025         5.46164         9913.15              14

                           • On a bien dix mille lignes de données !                         
                           • Dans le code du programme  oscillateur_wien_RK4.c on observe les lignes suivantes :
                   /* Choix de R2
                      ----------- */
                      double R2 = 10000.0;
                      //double R2 = 12000.0;
                           • La ligne précédée de "//" ne sera pas compilée, ce qui veut dire ici que R2 = 10 kΩ ; on va soumettre à la méthode RK4,4 la première étude de l'oscillation électrique du montage à AOP...
         • Pour mener la deuxième étude relative à l'oscillation électrique du montage à AOP<, on doit donner à  R2 la valeur 12 kΩ.
                - On corrige le code source du fichier oscillateur_wien_RK4.c, il devient  pour la partie qui nous intéresse :
           //double R2 = 10000.0;
           double R2 = 12000.0;

                - On compile à nouveau ce programme pour obtenir une nouvelle version de l'exécutable oscillateur_wien_RK4
                - On génére la seconde "table de données" oscillateur_wien_RK4_1.dta.
Remarque : Je travaille un peu dans l'esprit de Monsieur John BURKARDT pour obtenir les "tables de données", bien entendu "on" pourrait sophistiquer davantage le programme...

1.2. Fichier d'exploitation graphique gnuplot®

1.2.1. Les fichiers à télécharger.

         • Vous chargerez dans votre répertoire "/home/travail", le fichier "oscillateur_wien_RK4.plt" que vous récupérerez sur la page "AOPRK4".
         • Il s'agit d'un script exploitable sous gnuplot®.

1.2.2. Rôle du fichier de script "oscillateur_wien_RK4.plt".

         • Le script est très compréhensible :
                - On trace un premier graphe : le potentiel de réaction `v_r(t)`.
                - On trace un deuxième graphe : le potentiel de sortie `v_s(t)`.
                - On trace un troisième graphe : le plan de phase , il s'agit du tracé de `dotv_r(t)`  en fonction de `v_r(t)`, en effet dans le triplet : {`t, u_0(t), u_1(t)`} ; on a : `u_0(t)= v_r(t))` et `u_1(t)=dotv_r(t)`.
Remarque : En fait on répétera l'opération, ce qui fait que l'on obtiendra six graphes ; la première série de trois graphes correspondant à R2 = 10 kΩ, la seconde série de trois graphes correspondant à R2 = 12 kΩ .

2. Résultats graphiques.

Remarque :  On ne traite ici qu'une série de trois graphes, et on choisit R2 = 10 kΩ.

2.1. Potentiel de réaction `v_r(t)`.

Potentiel de réaction R2=10kΩ

2.2. Potentiel de sortie `v_s(t)`.

Potentiel de sortie R2=10kΩ

2.3. Étude dans le plan de phase.

Plan de phase R2=10kΩ

2.4. Remarque.

         • Ces réalisations ont été faites (ici sous Linux) avec la version 4.2 "patch level 6" de gnuplot®


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