Analiză de element finit – exemplu 1

De la YO3ITI
Versiunea din 1 iunie 2020 15:47, autor: Yo3iti (Discuție | contribuții) (Yo3iti a redenumit pagina Pentru un polinom în Analiză de element finit – exemplu 1)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Salt la: navigare, căutare

Analiza de element finit pentru o regiune definită de expresia unde și . Se încarcă pachetul pentru analiza de element finit: <syntaxhighlight lang="Mathematica"> Needs["NDSolve`FEM`"] </syntaxhighlight> Se definește regiunea supusă analizei; vom folosi semnul de negare pentru a realiza o intersecție cu planul definit. Fără acest semn, regiunea de interes va fi un segment de cerc, ceea ce nu ne dorim: <syntaxhighlight lang="Mathematica"> Ω = ImplicitRegion[((x - 5)^2 + (y - 5)^2 <= 9), {{x, 0, 5}, {y, 0, 10}}]; </syntaxhighlight>

implicit region segment cerc

<syntaxhighlight lang="Mathematica"> Ω = ImplicitRegion[! ((x - 5)^2 + (y - 5)^2 <= 9), {{x, 0, 5}, {y, 0, 10}}]; </syntaxhighlight> Se generează imaginea: <syntaxhighlight lang="Mathematica"> RegionPlot[Ω, AspectRatio -> Automatic] </syntaxhighlight>

implicit region omega

Se definește un operator Laplace și se aplică un algoritm FEA cu un criteriu de convergență Dirichlet: <syntaxhighlight lang="Mathematica"> op = -Laplacian[u[x, y], {x, y}] - 20; Subscript[Γ, D] = {DirichletCondition[u[x, y] == 0, x == 0 && 8 <= y <= 10], DirichletCondition[u[x, y] == 100, (x - 5)^2 + (y - 5)^2 == 3^2]}; </syntaxhighlight> Se rezolvă pentru criteriul de convergență ales; se generează imaginea pe intervalul <syntaxhighlight lang="Mathematica"> ufun = NDSolveValue[{op == 0, Subscript[Γ, D]}, u, {x, y} ∈ Ω] ContourPlot[ufun[x, y], {x, y} ∈ Ω, ColorFunction -> "Temperature", AspectRatio -> Automatic] </syntaxhighlight>

implicit region thermal