As discussed, there are a bunch of implemented utility functions for MatrixFunctions I extended where appropriate to VectorFunctions too.
https://github.com/stefanhiemer/topoptlab/blob/feature/inverse-homogenization/topoptlab/symbolic/matrix_utils.py
https://github.com/stefanhiemer/topoptlab/blob/feature/inverse-homogenization/topoptlab/symbolic/scalar_utils.py
I suggest mainly the integrate, simplify, _apply_elementwise and related functions. Simplifications could be done more efficient as it is pretty brute-force now and the Piecewise-branch selection is not yet fool-proof, but still an improvement over the current state. tests can be found under
https://github.com/stefanhiemer/topoptlab/blob/feature/inverse-homogenization/tests/symbolic/test_matrix_utils.py
If you need any help, I could invest some more time after the 19th.
As discussed, there are a bunch of implemented utility functions for MatrixFunctions I extended where appropriate to VectorFunctions too.
https://github.com/stefanhiemer/topoptlab/blob/feature/inverse-homogenization/topoptlab/symbolic/matrix_utils.py
https://github.com/stefanhiemer/topoptlab/blob/feature/inverse-homogenization/topoptlab/symbolic/scalar_utils.py
I suggest mainly the integrate, simplify, _apply_elementwise and related functions. Simplifications could be done more efficient as it is pretty brute-force now and the Piecewise-branch selection is not yet fool-proof, but still an improvement over the current state. tests can be found under
https://github.com/stefanhiemer/topoptlab/blob/feature/inverse-homogenization/tests/symbolic/test_matrix_utils.py
If you need any help, I could invest some more time after the 19th.