It turns out I was wrong in e3da110cb9.
The check should instead use the number of coefficient in the patch,
which will work both for mixed and regular problems.
The check against MLGN.size() is still needed as a secondary condition,
in case of dirichlet conditions in local axes (with extra nodes around).
for mixed discretizations there are additional fields present.
to avoid failing in this case, accept any vectors of sufficient size
instead of putting a requirement on the exact length.
Added: Method to check whether we have reaction forces in the model.
Added: SIMbase::getNoConstraints() and SAM::getNoConstraints().
Changed: Removed unused SAM-methods and de-virtualized some others.
Added: Implementation of ASMu2D::constrainNode searching for matching nodes.
This works (although not that efficiently) for interpolatory C0-points,
and is handy for doing adaptive analysis of the single-patch L-shape, etc.
The latter method can be used when the secondary solution depends on
the first primary solution vector only (which covers most cases).
Then the integrand can override the evalSol2 method instead of evalSol
such that they don't need to deal with the element-level extraction
of solution vectors themselves (the default evalSol will do it).
Also extended the doxy for the initElement and evalSol methods.
and we don't need a separate system vector type as
it is directly linked to the specified matrix type.
Added: Option to use UMFPACK in the L2-projection.
calculations when the Alpha function is a spline field, by passing Point
objects also including the spline parameters as argument instead of just
the Cartesian coordinates. Thereby avoiding the costly closestPoint calls.
before the finite element topology is generated for the patch.
Added: Method to print out patch-level element topology.
Added: Virtual method ASMbase::setGeometry.
This is used to signal to the integrand that we are going to
do numerical integration and not just result evaluation.
The initResultPoints call was added in commit 5f5d792 in 2016
to clear the principal stress values buffers, with the side effect
that global L2 projection failed for models with plasticity.
Changed: Made setPatchMaterial const to avoid const_casting elsewhere.
Changed: Minor doxy-issues for extractPatchSolution.
so we can output these to hdf5. these are required when doing reduced
order models. this makes it easy to obtain them without having to use
hackery every time.