[Maple et intégrales] accelerer le calcul d'une anim ???

Forum d'archive d'entraide mathématique
Anonyme

[Maple et intégrales] accelerer le calcul d'une anim ???

par Anonyme » 30 Avr 2005, 15:56

Bonjour à tous,
je suis actuellement en traind découvrir la physique quantique (1a d'école
d'ingé) et j'ai recemment voulu, en tte insouciance, modèliser l'évolution
d'un paquet d'onde psi(x,t) d'une particule qui rencontre une marche de
potentiel (cas basique du cours)
Or mais voilà, maple rame beaucoup... (genre 10min pour afficher une courbe
à t fixé alors que je souhaitais fair une anim en faisant varier t...).
J'ai déjà posté sur fr.sci.physqiue où je n'ai, pour l'insatnt, pas eu
d'écho.
Ce problème concernant plus les procédures Maple que le "fond" du problème,
je me suis permis de le poster également sur ce forum...


Ci-dessous, un apreçu de mon implémentation maple, si qqun ds ce forum
pouvait me donner un coup de main et me dire comment comment accelerer les
procédures je l'en remercie d'avance

@++
Pierre


-- Implémentation Maple --

Données : notre particule de masse m et d'NRJ E est soumise au potentiel 0
pour x0 (on suppose V0>E)
J'ai noté hb la constante h_barre qui vaut h / (2*Pi)

> g:=k->2*exp(-(k-k0)**2);


g(k) est le coefficient affecté à la fonction d'onde k
On a une répartition gaussienne centrée en k0

phi1 := (x, k) -> subs(k2 = sqrt(k0 - k ),

A(k) (k - I k2) exp(-I k x)
A(k) exp(I k x) + ---------------------------)
k + I k2



A(k) k
phi2 := (x, k) -> subs(k2 = sqrt(k0² - k² ), 2 ----------------- exp(-k2
x))
k +
I k2

Je définis mes 2 fonctions d'ondes sur les domaines ] -inf,0 ] et [ 0,+inf
[ (les coef étant calculés pour avoir la continuité en 0)
On peut donc définir une fonction d'onde sur R entier par :

> phi:=(x,k)->piecewise(x psi1:=(x,t)->evalf(int(phi1(x,k)*exp(-I*(hb/2*m)*k^2*t),k=0..kmax));
> psi2:=(x,t)->evalf(int(phi2(x,k)*exp(-I*(hb/2*m)*k^2*t),k=0..kmax));


De même que precedemment, on réunit les deux focntions :

> psi:=(x,t)->piecewise(x p:=(x,t)->abs(psi(x,t))^2;


Et on lance un graphe

> plot(p(x,0),x=-20..5);


Et c'est là que ca prends du temps...
G bien essayé de tripatouiller les options de plot (notament numpoints=2),
mais ca n'a rien changé.
Si le problème venait de ma façon de programmer, je pense que c'est dans la
définit de psi1 et psi2 : maple recalcule surement les integrales pour
chaque point (x,t)
Comment éviter ça ???
Merci d'avance !



 

Retourner vers ♲ Grenier mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 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