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: 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
Q
Méthode à direction alternée méthode implicite pour solveur de différences finies de pde en Python
0
A
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
.
Vous obtiendrez peut-être plus de réponses sur http://math.stackexchange.com/, c'est plus un problème de maths. – Daneel
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