Dear all,
usingmake_seg_mesh from ngsolve-src/py_tutorials/TensorProduct/make_seg_mesh.py, I tried the following example:
from make_seg_mesh import *
import numpy as np
import matplotlib as mpl
from ngsolve import *
ngsglobals.msg_level = 0
m2 = SegMesh(10,0,1,0)
m2.dim = 1
mesh = Mesh(m2)
Y = L2(mesh, order=1) # space can be fixed for the whole routine
#Z = FacetFESpace(mesh, order=0,dirichlet = [1,2])
#X = FESpace([Y,Z])
u = GridFunction(Y)
print("Size of u.vec = " + str(u.vec.size)) # returns 20, each element has two degrees of freedom
u.Set(x)
print(u.vec) # Strange result
To my understanding, I am creating an L^2-Space of order one with 10 elements, so each element has two degrees of freedom (1d), one on the left, one on the right. Thus u.vec.size is 20.
However, I would expect that every second entry in this vector corresponds to the same (physical) vertex point and thus, calling u.Set(x), i would expect a result like, e.g.
0
0.05
0.05
0.15
0.15
…
however, instead I get
0.05
0.15
0.25
0.35
0.45
0.55
0.65
0.75
0.85
0.95
0.05
0.05
0.05
0.05
0.05
0.05
0.05
0.05
0.05
0.05
I this a misunderstanding or is there something wrong with .Set(x) in 1d?
thanks,
Jan
Attachment: DG_1d_test.py