State equation#
from ngsolve import *
from netgen.occ import *
from ngsolve.webgui import Draw
Exercise 7.#
geo = OCCGeometry(Circle((0.5, 0.5), 0.5).Face(), dim=2)
mesh = Mesh(geo.GenerateMesh(maxh=0.1))
mesh.Curve(5)
Draw(mesh)
BaseWebGuiScene
f0 = exp(-7**2*((x-0.5)**2 + (y-0.5)**2))
fes = H1(mesh, order=3, dirichlet=".*")
print(fes.ndof)
print(mesh.ne)
u, v = fes.TnT()
a = BilinearForm(fes)
a+=grad(u)*grad(v)*dx
a+=u*v*dx
a.Assemble()
f = LinearForm(fes)
f+=f0*v*dx
f.Assemble()
gfu = GridFunction(fes)
gfu.vec.data = a.mat.Inverse(freedofs = fes.FreeDofs(), inverse="sparsecholesky") * f.vec
Draw(f0, mesh, "f0")
Draw(100*gfu, mesh)
754
157
BaseWebGuiScene