[MatL] Add explicit template instantiation declarations.
Some fixes for conda build.
When building MaterialLib dynamically there are still undefined symbols at runtime:
$ objdump -t -C ~/.conda/envs/ogs-test/lib/libMaterialLib.so | ag ' . .*formKelvinVector
[NOTHING]
$ objdump -t -C ~/.conda/envs/ogs-test/lib/libThermoHydroMechanics.so | ag ' . .*formKelvinVector'
0000000000000000 *UND* 0000000000000000 Eigen::Matrix<double, MathLib::KelvinVector::kelvin_vector_dimensions(3), 1, 0, MathLib::KelvinVector::kelvin_vector_dimensions(3), 1> MaterialPropertyLib::formKelvinVector<3>(std::variant<double, Eigen::Matrix<double, 2, 1, 0, 2, 1>, Eigen::Matrix<double, 3, 1, 0, 3, 1>, Eigen::Matrix<double, 2, 2, 0, 2, 2>, Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&)
0000000000000000 *UND* 0000000000000000 Eigen::Matrix<double, MathLib::KelvinVector::kelvin_vector_dimensions(2), 1, 0, MathLib::KelvinVector::kelvin_vector_dimensions(2), 1> MaterialPropertyLib::formKelvinVector<2>(std::variant<double, Eigen::Matrix<double, 2, 1, 0, 2, 1>, Eigen::Matrix<double, 3, 1, 0, 3, 1>, Eigen::Matrix<double, 2, 2, 0, 2, 2>, Eigen::Matrix<double, 3, 3, 0, 3, 3>, Eigen::Matrix<double, 4, 1, 0, 4, 1>, Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Matrix<double, -1, -1, 0, -1, -1> > const&)
Therefore building it statically on Conda builds.
Related: https://github.com/conda-forge/staged-recipes/pull/26704
Edited by Lars Bilke