Hello everyone ,
I am trying to calculate an integral on the dirichlet boundary, however for some reason I keep getting an error saying “Trialfunction does not support BND-forms, maybe a Trace() operator is misssing”
My geometry is and function space is:
[code] from netgen.geom2d import SplineGeometry
geo = SplineGeometry()
geo.AddRectangle( (0, 0), (0.41, 2), bcs = (“b”, “r”, “t”, “l”))
geo.AddCircle ( (0.2, 1.8), r=0.05, leftdomain=0, rightdomain=1, bc=“cyl”)
mesh = Mesh(geo.GenerateMesh(maxh=0.08))
mesh.Curve(3)
V = VectorH1(mesh,order=3, dirichlet=“t|cyl|l|r”)
Q = H1(mesh,order=2)
X = FESpace([V,Q])
u,p = X.TrialFunction()
v,q = X.TestFunction()
h = specialcf.mesh_size
n = specialcf.normal(2)[/code]
and I want to impose Dirichlet boundary conditions only on the “t” boundary weakly. For that I need to calculate following:
a += SymbolicBFI(-nu*InnerProduct(grad(u)*n,v)
-nu*InnerProduct(grad(v)*n,u)
+nu*alpha/h*InnerProduct(u,v),
definedon=mesh.Boundaries("t"))
but this calculation gives me the above-mentioned error.
Anyone can see what is going on here?
Thanks in advance.