2.5. Conditions de Dirichlet#

Pour prendre en compte les éventuelles condition de Dirichlet, nous avons besoin d’une fonction de prototype suivant

def Dirichlet(msh, dim, physical_tag, g, triplets, B):

Cette fonction prend comme argument le Triplets triplets et le vecteur B du système linéaire et les modifie pour prendre en compte la condition de dirichlet \(u=\)g sur le domaine de dimension dim et de tag physique physical_tag. La technique utilisée pour forcer cette condition est celle vue en cours.

Pour cela, nous parcourons les noeuds I du domaine de Dirichlet. Puis, dans la liste des indices ligne de triplets, dès qu’un occurence à I est obtenu, la valeur de ce triplet est mise à \(0\). Il ne faut pas oublier, à la fin, d’ajouter un triplet (I,I,1) correspondant au terme diagonal et de modifier le coefficient B[I] = g(x,y).

Remark 2.18

Cette technique n’est peut être pas la plus optimale ! Mais elle a le mérite de fonctionner…