@@ -36,8 +36,9 @@ namespace fem {
36
36
*
37
37
*/
38
38
template <CElement TElement, class TDerivedx , class TDerivedX >
39
- Matrix<TDerivedx::RowsAtCompileTime, TElement::kDims >
40
- DeformationGradient (Eigen::MatrixBase<TDerivedx> const & x, Eigen::MatrixBase<TDerivedX> const & GP)
39
+ auto DeformationGradient (
40
+ Eigen::MatrixBase<TDerivedx> const & x,
41
+ Eigen::MatrixBase<TDerivedX> const & GP) -> Matrix<TDerivedx::RowsAtCompileTime, TElement::kDims>
41
42
{
42
43
return x * GP;
43
44
}
@@ -65,8 +66,8 @@ template <
65
66
math::linalg::mini::CMatrix TMatrixGF,
66
67
math::linalg::mini::CMatrix TMatrixGP,
67
68
class ScalarType = typename TMatrixGF::ScalarType>
68
- math::linalg::mini::SVector<ScalarType, Dims>
69
- GradientSegmentWrtDofs (TMatrixGF const & GF, TMatrixGP const & GP, auto i)
69
+ auto GradientSegmentWrtDofs (TMatrixGF const & GF, TMatrixGP const & GP, auto i)
70
+ -> math::linalg::mini::SVector<ScalarType, Dims>
70
71
{
71
72
using namespace math ::linalg::mini;
72
73
SVector<ScalarType, Dims> dPsidx = Zeros<ScalarType, Dims, 1 >{};
@@ -123,8 +124,8 @@ template <
123
124
math::linalg::mini::CMatrix TMatrixGF,
124
125
math::linalg::mini::CMatrix TMatrixGP,
125
126
class ScalarType = typename TMatrixGF::ScalarType>
126
- math::linalg::mini::SVector<ScalarType, TElement:: kNodes * Dims>
127
- GradientWrtDofs (TMatrixGF const & GF, TMatrixGP const & GP)
127
+ auto GradientWrtDofs (TMatrixGF const & GF, TMatrixGP const & GP)
128
+ -> math::linalg::mini::SVector<ScalarType, TElement::kNodes * Dims>
128
129
{
129
130
auto constexpr kRows = TElement::kNodes * Dims;
130
131
using namespace math ::linalg::mini;
@@ -166,8 +167,8 @@ template <
166
167
math::linalg::mini::CMatrix TMatrixHF,
167
168
math::linalg::mini::CMatrix TMatrixGP,
168
169
class ScalarType = typename TMatrixHF::ScalarType>
169
- math::linalg::mini::SMatrix<ScalarType, Dims, Dims>
170
- HessianBlockWrtDofs (TMatrixHF const & HF, TMatrixGP const & GP, auto i, auto j)
170
+ auto HessianBlockWrtDofs (TMatrixHF const & HF, TMatrixGP const & GP, auto i, auto j)
171
+ -> math::linalg::mini::SMatrix<ScalarType, Dims, Dims>
171
172
{
172
173
using namespace math ::linalg::mini;
173
174
SMatrix<ScalarType, Dims, Dims> d2Psidx2 = Zeros<ScalarType, Dims, Dims>{};
@@ -228,8 +229,8 @@ template <
228
229
math::linalg::mini::CMatrix TMatrixHF,
229
230
math::linalg::mini::CMatrix TMatrixGP,
230
231
class ScalarType = typename TMatrixHF::ScalarType>
231
- math::linalg::mini::SMatrix<ScalarType, TElement:: kNodes * Dims, TElement:: kNodes * Dims>
232
- HessianWrtDofs (TMatrixHF const & HF, TMatrixGP const & GP)
232
+ auto HessianWrtDofs (TMatrixHF const & HF, TMatrixGP const & GP)
233
+ -> math::linalg::mini::SMatrix<ScalarType, TElement::kNodes * Dims, TElement::kNodes * Dims>
233
234
{
234
235
auto constexpr kRows = TElement::kNodes * Dims;
235
236
auto constexpr kCols = TElement::kNodes * Dims;
0 commit comments