1 2 3 4 5 6 7 8 9

ou

u' = FF1(u,up,t)

up' = FF2(u,up,t).

Le coeur du programme est donc une boucle:

for(itt=1;itt<ittmax;itt++)
{
/* Runge Kutta 4*/
du1 =dt*FF1(u,up,t);
dup1=dt*FF2(u,up,t);
du2 =dt*FF1(u+du1/2,up+dup1/2,t+dt/2);
dup2=dt*FF2(u+du1/2,up+dup1/2,t+dt/2);
du3 =dt*FF1(u+du2/2,up+dup2/2,t+dt/2);
dup3=dt*FF2(u+du2/2,up+dup2/2,t+dt/2);
du4 =dt*FF1(u+du3,up+dup3,t+dt);
dup4=dt*FF2(u+du3,up+dup3,t+dt);
u =u +(du1 /6 +du2 /3 +du4 /6);
up=up+(dup1/6 +dup2/3 +dup4/6);
t=t+dt;
}


Exemple de RUN:


printf(" Resolution du pendule force\n");
printf("2\n");
printf(" d udu\n");
printf(" --- + lbd-- + k sin(u) - omega sin(u) cos(u)\n");
printf("2dt\n");
printf(" dt\n");

printf("

avec

lbd=.30;

k=(2*Pi)*(2*Pi);


Quelques exemples

On impose au temps t=0 un déplacement sans vitesse

u=.2;

\n");

up=.0;

Dans la simulation, le paramètre de contrôle w/w0varie lentement et linéairement en fonction du temps
de telle manière que l'évolution de l'oscillateur peut être comprise en partie par une analyse quasi

statique.

7

5 Décembre 1997introduction

[CONVERTED BY MYRMIDON]