Ngsxfem for space-time

Hi all,

I’m attempting to solve a system using an HDG scheme, where my test and trial variables live in different space-time spaces. Here’s a quick break down of how my spaces are defined:

mesh = Make1DMesh(n=53n0, mapping=lambda x:-28+53x)
V = VectorL2(mesh, order=order, dgjumps = True)
W = L2(mesh, order=order, dgjumps = True)
M = FacetFESpace(mesh, order = 0, dirichlet=“.*”, dgjumps = True)

#create space-time fes spaces

k_t = 1
tfe = ScalarTimeFE(k_t)
tfe0 = ScalarTimeFE(k_t-1)
tfe1 = ScalarTimeFE(0)

st_fesV = tfe * V
st_fesV0 = tfe0 * V
st_fesV1 = tfe1 * V

st_fesW = tfe * W
st_fesW0 = tfe0 * W
st_fesW1 = tfe1 * W

st_fesM = tfe * M
st_fesM0 = tfe0 * M
st_fesM1 = tfe1 * M

fes = FESpace([st_fesV, st_fesV, st_fesV, st_fesV, st_fesV, st_fesW, st_fesW, st_fesW, st_fesM, st_fesM, st_fesM])

fesW = FESpace([st_fesV, st_fesV, st_fesV0, st_fesV1, st_fesV, st_fesV, st_fesW, st_fesW, st_fesW0, st_fesW1, st_fesM, st_fesM, st_fesM0, st_fesM1])

fes0 = FESpace([V,V,V,V,V,W,W,W,M,M,M])

The bilinear form is then defined as:

a = BilinearForm(testspace = fesW, trialspace = fes)

And differential symbols are defined:

dxt = dxtref(mesh, time_order = 2*k_t)
dxold = dmesh(mesh, tref = 0)
dxnew = dmesh(mesh, tref = 1)

dxtf = dxtref(mesh, time_order = 2*k_t, element_boundary=True)
dxoldf = dmesh(mesh, tref = 0, element_boundary=True)
dxnewf = dmesh(mesh, tref = 1, element_boundary=True)

where the last 3 differential symbols are used for terms involving facet jumps. When I attempt to solve the system using:

Newton(a, gfu, inverse=‘umfpack’, maxerr=1e-8, printing=False)

my kernel repeatedly dies. Am I missing some sort of flag somewhere? I would appreciate any direction in this situation.


Dear Diana,

Sorry for the late reply. Somehow I overlooked this one.

I guess we haven’t been working with implicit solutions of nonlinear problems lately and I guess that there are a few cases that may just not yet be implemented.

If you could pin a down a bit more on which integrators are missing, I may be able to provide more insight. Some of the features of DG-facet-terms and nonlinear assemble may already be missing in ngsolve.

Perhaps you can also boil the problem down to a less complex (e.g. scalar) one, first, as well and attach a minimal example next time?


P.S.: Why are you using HDG if you use dgjumps=True at the same time?