• 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".
• 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
• 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...
-----------
*/
double
R2 =
10000.0;
//double
R2
= 12000.0;
• 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...
• 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®.
• 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Ω .
Remarque : On ne traite ici qu'une série de trois graphes, et on choisit R2 = 10 kΩ.
• Ces réalisations ont été faites (ici sous Linux) avec la version 4.2 "patch level 6" de gnuplot®