Equation différentielle non linéaire

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Nanorock
Messages: 3
Enregistré le: 20 Mai 2008, 14:53

Equation différentielle non linéaire

par Nanorock » 20 Mai 2008, 15:30

Bien le bonjour !

J'ai une étude compliqué d'un système,
Un dépoussiéreur electro-magnétique:

// Etude physique \\ Pour les maths pure c'est plus bas ; )

On cherche à éliminer 80 à 99% des poussière entrant dans le conduit
en fonction de la longueur L du conduit
et de la tension du fils (compris entre 1 et 10 k Volts)

Des particules chargés entre dans un conduit de cheminé vertical (axe y)
avec une vitesse initial .

- Un conduit de cheminé de diamètre 2m
- un petit fil central de diamètre 2cm

On simplifie le système en l'assimilant à un condensateur , on trouve alors :

2[FONT=Arial];)[/FONT][FONT=Arial];)(0)[/FONT][FONT=Arial];)(r)[/FONT]*L
-----------=C
log(R2/R1)

et
Q
--------------=E(r)
r(t)*2[FONT=Arial];)[/FONT][FONT=Arial];)(0)[/FONT][FONT=Arial];)(r)[/FONT]*L

Dans un condensateur on sait que Q=CU
d'ou :

q*U
----------=E(r)
r*ln(R2/R1)

Ensuite en négligeant la force de gravité on trouve avec Lorentz:

F=q*E

q*U
------------=F
r(t)ln(R2/R1)

// Fin d'étude physique \\



Avec la seconde loi de Newton on trouve cette maudite équation différentielle

q*U
-------------= m r(t)''
r(t)*ln(R2/R1)


Avec
q=10^-14
m=10^-6
R2=1
R1=0.01
et je fixe U de façon arbitraire à 5000

Les conditions initiales sont
r(0) = p avec 0.01<p<1
r'(0)=0 La particule n'as pas de vitesse selon x au depart

Logiquement , la solution devrais au début partir de façon exponentielle puis diminuer.
Cette solution , r(t) représente la position de la particule par rapport au centre du conduit.

Si je trouvais la solution je pourrais calculer quand es-que r(t)=1 , en déduire t et grâce à la vitesse selon "y" trouver où la particule va frapper la paroi extérieur et y rester bloqué ! Je pourrai alors dimensionné la taille de mon conduit.

Et la j'ai cherché dans Matlab ou Maple , mais pas moyen de la résoudre correctement.
Je ne suis pas très bon avec les logiciels que je viens de cités j'ai pourtant essayé et trouvé des fonctions qui m'aurait paru convenir.

Donc voila je cherche de l'aide si quelqu'un pense voir une solution !
Ça fait déjà une semaine que je lutte ...
Passez une bonne journée !



JJa
Membre Relatif
Messages: 254
Enregistré le: 06 Mar 2008, 15:52

par JJa » 21 Mai 2008, 07:55

Bonjour Nanorock,

je n'ai pas vérifié ta mise en équation. Donc on part de ton équation en supposant qu'elle est correcte :
q*U
-------------= m r(t)''
r(t)*ln(R2/R1)
Pour faciliter les écritures posons m*ln(R2/R1)/(q*U) = 2 k²
Tu peux calculer la valeur numérique de k.
1/r = 2 k² r''
r'/r = 2 k² r'' r' que l'on intègre :
ln(r) = k² (r')² + C
avec les conditions : r(0) = p et r'(0)=0 on trouve C = ln(p) donc :
ln(r/p) = k² (r')²
Posons y² = ln(r(t)/p)
pour t=0, r=p donc y=0
r = p*exp(y²) que l'on dérive :
r' = 2*p*exp(y²)*y*y'
ln(r/p) = k² (r')² = y² = 4*k² p² exp(2*y²)*y²*(y')²
1 = 4*k² p² exp(2*y²)*(y')²
la racine carrée donne :
1 = (+ou-)2*k*p*exp(y²)*y'
Tu dois choisir le signe + ou - selon les conditions physiques : selon que r(t) est croissant ou décroissant.
Dans le cas de r(t) croissant, y(t) est croissant, y' est positif, donc c'est le signe plus. Etudions ce cas là (l'étude avec le signe moins se ferait de façon similaire) :
1 = 2*k*p*exp(y²)*y' = 2*k*p*exp(y²)*dy/dt
dt = 2*k*p*exp(y²)*dy
t = 2*k*p*Somme(exp(y²)*dy) +constante
Considérons une variable u allant de u=0 à u=y
t est donné par l'intégrale définie (de telle sorte que la constante d'intégration est incluse dans l'intégrale définie, avec y=0 pour t=0) :
t = 2*k*p*Somme pour u=0 à u=y de (exp(u²)*du)
Cette intégrale ne s'exprime pas avec les fonctions usuelles. Il faut faire appel soit à une série infinie, soit à une fonction spéciale (la fonction de Dawson). Ceci donnerait la formule analytique de t en fonction de y.
Il faudrait ensuite calculer la fonction réciproque pour obtenir y en fonction de t, puis r(t) = p*exp(y²)
On voit que c'est possible en théorie, mais compliqué formellement.
En pratique, ce sera donc par du calcul numérique que l'on obtiendra le résultat.
(Sauf erreur, tout ceci est à vérifier, bien entendu. De plus, il faut déterminer du point de vue physique les sens de variation, les signes, etc.)

Nanorock
Messages: 3
Enregistré le: 20 Mai 2008, 14:53

par Nanorock » 21 Mai 2008, 21:26

[FONT=Times New Roman]Tout d'abord un grand merci pour vous être préoccupé de mon problème !

J'ai lu attentivement vos démarches , multiplier par r'(t) c'est une super astuce que je n'avais pas pensé.
Ensuite,
J'ai vérifier les calculs , et ils me semblent correct !

J'ai hésité sur le y' de
r = p*exp(y²) que l'on dérive :
r' = 2*p*exp(y²)*y*y'
Honte à moi ;o)

Le système physique est symétrique , une étude d'un coté (ici positif) suffit.
Donc effectivement :

t = 2*k*p*Somme pour u=0 à u=y de (exp(u²)*du)

Je dispose de Maple qui possède Dawson's integral !
Seulement je ne sait pas comment on utilise cette outils :hein:
De même malheureusement pour les series infinie

Actuellement étant donnée que je n'arrive pas à résoudre cette équation ,
J'ai tenté de la resoudre en écrivant un programme ,
avec 3 boucle intégré qui me font varié , la tension d'alimentation , la masse de la particule et enfin la position initial de la particule.
Dans le cœur de programme
je calcul r''(t) = chiffre
J'en déduit r'(t)= chiffre * deltaT + r'(t)
Ensuite r(t)= (Chiffre/2) * deltaT² + r'(t)*deltaT + p

Et on recommence l'opération

Avec deltaT mon pas de temps pour approximer la solution.
Mais c'est une methode bien trop barbare qui nécessite une puissance
de calcul énorme. U varie de 1000 à 10000 , m de 10^-4 à 10^-7 et enfin p de 0.01 à 1. Même mon quad coeur ne m'assure pas d'avoir toues les solutions d'ici une semaine ! :p


En tous les cas merci beaucoup pour votre aide !
[/FONT]

JJa
Membre Relatif
Messages: 254
Enregistré le: 06 Mar 2008, 15:52

par JJa » 22 Mai 2008, 08:04

Bonjour,

Avec la fonction de Dawson, on a :
t = 2*k*p*exp(y²)*Daw(y)
et y = racine carrée[ln(r(t)/p)]
Un logiciel pocédant la fonction de Dawson implémentée permet donc de calculer t en fonction de r : on se donne r , on calcule y, puis t.
- Souvent, en physique, il est possible de trouver une forme simplifiée (approximative) dont le calcul est beaucoup plus facile. Mais pour savoir si c'est possible et avec quelle précision, il faut connaitre les domaines de variation des fonctions. Dans le cas présent, pour savoir si on peut remplacer Daw(y) par une fonction plus simple, il faudrait connaitre entre quelles valeurs y varie, c'est à dire entre quelles valeurs (r/p) varie.
De cette façon, il serait peut-être possible de trouver une fonction relativement simple donnant approximativement r en fonction de t avec une précision suffisante.
- D'un autre point de vue, la résolution par calcul numérique est généralement préférée en pratique. Le principe de ton programme me semble bien compliqué ! Il doit être beaucoup plus simple et plus rapide d'utiliser la relation suivante, pour calculer r' correspondant à une valeur r :
r' = (1/k)*racine carrée[ln(r/p)]
ce qui donne l'incrément de déplacement pour un incrément de temps dt :
dr = (r')*dt
D'où la nouvelle valeur (r+dr) correspondant à (t+dt)
et ainsi de suite.
Au départ, il faut remarquer que r'=0. Par conséquent, on doit démarrer avec :
r'' = 1/(2*p*k²)
donc d(r') = dt/(2*p*k²)
La succession des incréments est :
t[0]=0 ; r[0]=p ; r'[0]=0 ; r''[0]=1/(2*p*k²)
t[1]=dt ; r[1]=p ; r'[1]=r''[0]*dt=dt/(2*p*k²)
t[2]=2*dt ; r[2]=p+r'[1]*dt ; r'[2]=(1/k)*racine carrée[ln(r[2]/p)]
et ainsi de suite... r[n+1]= r[n]+(1/k)*dt*racine carrée[ln(r[n]/p)]
avec les notations : r[n]= r(t[n]) et t[n]=n*dt
Le calcul devrait être assez rapide.

JJa
Membre Relatif
Messages: 254
Enregistré le: 06 Mar 2008, 15:52

par JJa » 22 Mai 2008, 08:13

Petite remarque au sujet de :
<< multiplier par r'(t) c'est une super astuce...>>
C'est tout à fait classique en mécanique : du point de vue physique, c'est le passage de l'équation du mouvement à l'équation de l'énergie :
m*r'*r'' est la dérivée de (1/2)*m*(r')² qui est l'énergie de m à la vitesse r'.

Nanorock
Messages: 3
Enregistré le: 20 Mai 2008, 14:53

par Nanorock » 25 Mai 2008, 09:54

En tout les cas , je te remercie énormément pour toute l'aide que tu m'as apporté !
Je vais refaire un programme correct , et je te tiens au courant des résultats.

Merci et encore merci ! :happy: :happy:

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 40 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite