[boxAssembly] Setting Dirichlet BCs fails for explicit box assembly
For box, Dirichlet BCs are applied in BoxLocalAssemblerBase
res[scvI.dofIndex()][eqIdx] = this->curElemVolVars()[scvI].priVars()[pvIdx] - dirichletValues[pvIdx];
for (const auto& scvJ : scvs(this->fvGeometry()))
{
jac[scvI.dofIndex()][scvJ.dofIndex()][eqIdx] = 0.0;
if (scvI.localDofIndex() == scvJ.localDofIndex())
jac[scvI.dofIndex()][scvI.dofIndex()][eqIdx][pvIdx] = 1.0;
}
The offending line is jac[scvI.dofIndex()][scvJ.dofIndex()][eqIdx] = 0.0;
since in the explicit case, there are only diagonal entries in Jacobian. A dune-istl error will be raised.