The HybridSolver constructors have ess_attr as an optional argument. If it is not provided, MixedLaplacianSolver::Init will not initialize ess_edofs_, so it is a zero-length Array<int>. But then in HybridSolver::CollectEssentialDofs it is assumed that this Array has length num_multiplier_dofs_, so you get a failed assert in MFEM.
There are several ways to fix this, but in practice I think we are always passing ess_attr to the solver constructors, so maybe the simplest solution is to just require this argument rather than having it be optional.
The
HybridSolverconstructors haveess_attras an optional argument. If it is not provided,MixedLaplacianSolver::Initwill not initializeess_edofs_, so it is a zero-lengthArray<int>. But then inHybridSolver::CollectEssentialDofsit is assumed that this Array has lengthnum_multiplier_dofs_, so you get a failed assert in MFEM.There are several ways to fix this, but in practice I think we are always passing
ess_attrto the solver constructors, so maybe the simplest solution is to just require this argument rather than having it be optional.