Use of Other raises exception

More
2 years 10 months ago #4167 by pumpkinpieter
Hi there,

As part of a bilinear form, am hoping to compute an integral along a curve interior to the domain, and on this curve I want to integrate the product of a coefficient function (which has different values on both sides of the curve) and an expression involving proxy functions. Here's an example:
Code:
import ngsolve as ng import netgen.geom2d as geom2d # Double triangle geo = geom2d.SplineGeometry() ptlist = [(0,0), (1,0), (2,0), (1,1)] pts = [geo.AppendPoint(*p) for p in ptlist] geo.Append(['line', pts[0], pts[1]], bc='bt_l', leftdomain=1) geo.Append(['line', pts[1], pts[2]], bc='bt_r', leftdomain=2) geo.Append(['line', pts[2], pts[3]], bc='r_side', leftdomain=2) geo.Append(['line', pts[3], pts[0]], bc='l_side', leftdomain=1) geo.Append(['line', pts[3], pts[1]], bc='mid', leftdomain=2, rightdomain=1); geo.SetMaterial(1, 'left_material') geo.SetMaterial(2, 'right_material') mesh = ng.Mesh(geo.GenerateMesh(maxh=1)) fes = ng.H1(mesh, order=1, dgjumps=True) n = ng.specialcf.normal(mesh.dim) K = ng.CoefficientFunction([1,2]) dr = ng.ds(definedon=mesh.Boundaries('l_side|mid|bt_l'), skeleton=1) u,v = fes.TnT() A0 = ng.BilinearForm(fes, check_unused=False) A0 += v * (ng.grad(u)* K - ng.grad(u.Other()) * K.Other()) * n * dr

When I run this code, I get the exception
Code:
--------------------------------------------------------------------------- NgException Traceback (most recent call last) <ipython-input-475-f418f38f1ba8> in <module> ----> 1 A0.Assemble(), A1.Assemble() NgException: other mir not set, pls report to developersin Assemble BilinearForm 'biform_from_py'

Any help getting it so that I can do this integral would be much appreciated.

Thanks,
Pieter
Time to create page: 0.097 seconds