If you want to take some more inspiration using mesh_loop, ScratchData, and FEInterfaceData, you could take a look at this:
https://github.com/dealii/dealii/blob/master/tests/meshworker/scratch_data_08.cc
where the FEInterfaceValues which is now included in ScratchData is used to solve SIPG on locally refined grids, with just this:
for (unsigned int q = 0; q < p.size(); ++q)
for (unsigned int i = 0; i < n_dofs; ++i)
for (unsigned int j = 0; j < n_dofs; ++j)
{
face_matrix(i, j) +=
(-fev.jump_gradient(i, q) * n[q] * fev.average(j, q) -
fev.average(i, q) * fev.jump_gradient(j, q) * n[q] +
gh * fev.jump(i, q) * fev.jump(j, q)) *
JxW[q];
}
};
:)
Ps: I am planning to extend FEInterfaceValues to be able to extract function values and gradients, so that it can also be used easily with the automatic differentiation tools that
we have, or to easily write a posteriori error estimators… If anybody is looking for a starter project, this may be a very nice one.
L.
> To unsubscribe from this group and stop receiving emails from it, send an email to
dealii+un...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/9340f75c-a631-46e0-ac2e-400c6d14ff57o%40googlegroups.com.