Uses super side-ranked parts at domain boundaries. The "side_node_ordinals" call has been moved to Master Element, returning a pointer to the ordinals for a particular side instead of copying the ordinals into a vector. All of the promotion logic is now done on part names rather than in the assembly.
More things are working (due to super sides). Periodic BCs and turbulence averaging now work properly.
Added some additional checking for parts that aren't (currently) promote-able.
Added an option to use a reduced (linear) basis for geometric calculations when the promoted element geometry remains linear. Off by default: activate with " use_reduced_geometric_basis: yes" under the polynomial order specification. Doesn't speed up calculations as much as I expected, but it is significant for high polynomial orders in 3D.
Static condensation and the SGL quadrature assembly are still in progress. The ElementCondenser class has a routine to compute the condensed elemental LHS/RHS given the full elemental LHS/RHS, as well another routine to compute the update to the interior dofs given the updated LHS/RHS. The SGL quadrature is still only available for pure heat conduction, but it should be a little faster now (especially in 2D).
Updated the estimate for linear system size in the case of high order. Also added edge, face, and element ranked fields to the field size memory calculation. Estimate for the higher order system will sometimes underpredict the total size.