Méthode de relaxation pour un EDP
relax(A, B, C, D, E, S, U, rjac)
multigrid(M, ncycle)
Renvoie une matrice carrée dans laquelle l'emplacement d'un élément dans la matrice correspond à son emplacement dans une zone carrée, et la valeur d'un élément est une approximation de la solution de l'équation différentielle partielle (EDP) de Poisson
en ce point. La fonction relax résout l'équation de Poisson en utilisant sur la grille la méthode de surrelaxation de Gauss-Seidel modifiée.
La fonction multigrid résout l'équation dans le cas particulier où toutes les conditions aux limites dans U sont égales à zéro, à l'aide de la méthode multigrid.
Si vos conditions aux limites sont constantes et égales sur les quatre côtés, transformez l'équation pour parvenir à des conditions aux limites égales à zéro sur tous les côtés et utilisez la fonction multigrid, car elle est plus facile et plus rapide à configurer.
L'équation de Poisson se réduit à l'équation de Laplace si ρ = 0.
Si vous essayez de résoudre une équation différentielle partielle parabolique ou hyperbolique, ou un système d'équations différentielles partielles, utilisez numol.
Arguments
A, B, C, D, E sont des matrices carrées réelles de même taille contenant les coefficients de l'approximation du laplacien discrétisé pour la fonction u aux quatre voisins les plus proches et au point d'approximation.
S est une matrice carrée contenant le terme source à chaque point du domaine carré.
U est une matrice carrée contenant les valeurs limites le long des côtés de la zone et les hypothèses initiales de la solution dans la zone.
rjac est une valeur réelle 0 < rjac < 1, le rayon spectral de l'itération de Jacobi. Il contrôle la convergence de l'algorithme de relaxation.
La valeur optimale de rjac dépend des détails de votre problème, mais r est une bonne valeur de départ, où n correspond au nombre de points dans chaque direction de la grille :
M est une matrice carrée à 1 + 2n lignes dont les éléments correspondent au terme source au point correspondant du domaine carré.
ncycle est le nombre entier de cycles à chaque niveau de l'itération multigrid.
Une valeur ncycle égale à 2 donne généralement une bonne approximation de la solution.
Est-ce que cela a été utile ?