Bonjour à tous !
Dans le cadre de ma thèse, je code actuellement un algorithme de Newton-Raphson qui me permettrait, dans un plasma produit par laser, de calcul les densités de toutes les espèces en présence (espèces ionisées une fois, voire deux, dans le plasma + densité électronique). Cette algorithme est basé sur les lois de Saha-Eggert.
Bien évidemment, ceux qui connaissent l'algorithme savent que son point fort est une convergence relativement rapide et efficace, ce qui est néanmoins compensé par le choix de la condition initiale !
Ici, les paramètres injectés dans l'algorithme sont les fractions d'ions une fois et deux fois ionisés dans la vapeur, ainsi que la densité électronique de la vapeur, et celle du gaz ambiant (je travaille en présence d'un gaz ambiant).
Mes données initiales sont les suivantes :
Température du plasma = 3500 K
densité totale (vapeur + gaz ambiant) = 2.76
densité de la vapeur seule = 2.68
et mon point initial, pour l'instant est :
xe1 (fraction électronique dans la vapeur) = 0.5;
x1 (fraction d'ion II) = 0.49;
x2 (fraction d'ion III) = 0.01;
xe2 (fraction électronique du gaz ambiant) = 0.01
Je fais tourner le code, et il converge relativement vite (au bout de 5 ou 6 boucles, avec une précision de ). Voici les valeurs que j'obtiens :
xe1 = 0.156553385487195
x1 = 0.156553375426895
x2 = 5.030149886383476e-009
xe2 = -0.330156650454538
et voilà mon problème ! la quatrième valeur converge vers une valeur négative ! Ce qui est très pénible, et en plus non physique. J'ai testé plusieurs valeurs "à tâtons", toujours comprises entre 0 et 1 (puisque fraction de densité), et rien à faire, la convergence est là, mais vers une valeur négative.
Dans ce cas, dois-je considérer que l'algorithme est mal utilisé, ou bien dois-je considérer ce résultant étant nul, puisque non physique après convergence ? autrement dit, dois-je revoir la validité de l'algorithme, ou bien considérer xe2 = 0 ?
Le truc, c'est que quand dans la boucle, xe2 devient négatif, si j'impose la condition :
if xe2 <0
xe2 = 0
end
eh bien, toutes les autres grandeurs se mettent à diverger, bien évidemment ! Donc, comment faire ? pourriez-vous m'aider svp ?
Je vous remercie inifiniment !
-----