Mixed spaces Bilinearform

Hi everyone!

I was wondering how to create a BilinearForm with test and trial functions from different spaces.
In the code the MixedSpaces() option for the BilinearForm is marked as non operational and also implementation for skeleton terms is missing. Would the rest work? Is there any sense in extending the code or is there a work around using product spaces?

Cheers,
Paul

Hi Paul,

mixed spaces for the BilinearForm are functional. Even skeleton forms (at least for interior facets) are working. I guess only skeleton boundary forms and element_boundary forms that access neighboring elements are not implemented at the moment. A very simple (but not meaningful) example of what is working is here:

V1 = L2(mesh, dgjumps=True)
V2 = L2(mesh, order=2, dgjumps=True)
u = V1.TrialFunction()
v = V2.TestFunction()
a = BilinearForm(trialspace=V1,testspace=V2)
a+= (u-u.Other())*(v-v.Other())*dx(skeleton=True)
a.Assemble()

Best,
Christoph

Hi Christoph,
thanks!! I would need the skeleton boundary forms, I will see if I can get them working!
Best,
Paul

Hi Paul,

I see. It shouldn’t be a big deal if you take a look at the non-mixed-space implementation of skeleton boundary forms. There shouldn’t be any severe obstacle. It is just not implemented yet as it wasn’t needed so far.
If you succeeded with your own implementation, please make a merge/pull request on github. If you have problems, let us know. I am willing to take a closer look myself if problems occur.

Best,
Christoph

Hi Christoph,
amazing, thanks again! I think I got it working, I will do a few more tests and then make a pull request.
Best, Paul

Hi Christoph,
I have now submitted the pull request on github!
Cheers,
Paul