DG/HDG Splitting iTutorial


I found a small bug in the DG/HDG Splitting iTutorial (Unit 3.4). In input block 7 there is the function:

def SolveConvectionSteps(gfuvec, res, tau, steps): bfmixed.Apply (gfuvec, gfuL2.vec) VL2.SolveM(CoefficientFunction(1), gfuL2.vec) conv_applied = gfuL2.vec.CreateVector() for i in range(steps): convL2.Apply(gfuL2.vec,conv_applied) VL2.SolveM(CoefficientFunction(1), conv_applied) gfuL2.vec.data -= tau/steps * conv_applied #Redraw() bfmixedT.Apply (gfuL2.vec, res)

The two calls to SolveM give:

TypeError: SolveM(): incompatible function arguments. The following argument types are supported:
1. (self: ngsolve.comp.FESpace, vec: ngsolve.la.BaseVector, rho: ngsolve.fem.CoefficientFunction=None) → None

The error can be fixed by reversing the order of the arguments to SolveM or providing keywords like this:

VL2.SolveM(rho=CoefficientFunction(1), vec=conv_applied)

Edit: The same error is present in block 9 of the DG-method for convection (Unit 3.3)


These issues are fixed in the current iTutorials:
DG-method for convection (Unit 3.3) and DG/HDG Splitting iTutorial (Unit 3.4)