This PR aims to transition from 3D/2D to 1D basis evaluation matrices for hexahedral and quadrilateral elements.
To experiment with this new feature, users can activate it by setting options["sum_factorization"] = True or using the command line interface. It's important to note, however, that this modification does not fully implement sum factorization nor does it offer immediate performance improvements. These enhancements are part of our roadmap and will be addressed in an upcoming PR.
Some current limitations:
FFCx does not automatically verify if the provided dofmap is in tensor product order. For an example of this, refer to the 'mass_action.py' demo.
At present, only Lagrange elements are equipped with tensor factors.
A significant portion of this work was carried out in collaboration with @mscroggs.
coverage: 80.35% (+0.4%) from 79.915%
when pulling e37d847a2abebda8730861c0b8f5c92afe79d2a3 on igor/sum-factorization
into 1523d2de7b02f6339eb28ce58f1c72e044dc1acf on main.
This PR aims to transition from 3D/2D to 1D basis evaluation matrices for hexahedral and quadrilateral elements.
To experiment with this new feature, users can activate it by setting
options["sum_factorization"] = True
or using the command line interface. It's important to note, however, that this modification does not fully implement sum factorization nor does it offer immediate performance improvements. These enhancements are part of our roadmap and will be addressed in an upcoming PR.Some current limitations:
A significant portion of this work was carried out in collaboration with @mscroggs.