2016-11-22 3 views
0

Je travaille sur la mise en œuvre du Alternating direction implicit method pour résoudre le modèle de diffusion de réaction FitzHugh–Nagumo. J'ai trouvé un exemple d'implémentation de Python dans un blog, mais je pense qu'il ya une erreur dans la méthode - dans le pochoir présenté ici: enter image description here devrait-il pas être la moitié de la taille de pas de temps à multiplier le terme réaction f?Méthode à direction alternée méthode implicite pour solveur de différences finies de pde en Python

+1

Vous obtiendrez peut-être plus de réponses sur http://math.stackexchange.com/, c'est plus un problème de maths. – Daneel

+1

Ou à http://scicomp.stackexchange.com, où il y a des experts pour l'informatique scientifique à grande échelle. - C'est aussi les facteurs 2 dans les dénominateurs 'D/(2 * dp^2)' qui semblent douteux, la page wikipédia liée semble le confirmer. - Et pourquoi y a-t-il un 'dt ', les autres termes sont tous des quotients de différence entiers, pas de facteurs infinitésimaux non liés. – LutzL

Répondre

1

Remplacement des quotients de différence par les quotients différentielles, on obtient

U_t = D/2 * U_xx + D/2 * U_yy + Δt*f 

dans les deux cas, ce qui est l'équation

U_t = D * (U_xx + U_yy) + f 

qui était la tâche initialement posée.

Ainsi, les coefficients doivent être 1/(Δt/2) comme il était à U_t, D/(Δp^2) à U_pp, p=x,y et 1 pour f.

Il semble que la formule est un mélange de celui avec des quotients de différence et l'étape suivante où il est multiplié par Δt/2.

Et dans cette formule suivante on n'a pas besoin de nouvelles constantes que fait α_p=σ_p, p=x,y et vous avez raison que le facteur de f devrait être Δt/2.