@@ -93,19 +93,19 @@ PBAT_HOST_DEVICE void ProjectBlockNeoHookean(
93
93
#pragma nv_diag_suppress 174
94
94
#endif
95
95
// Compute deviatoric+hydrostatic elasticity
96
- SMatrix<ScalarType, 3 , 3 > F = (xc.Slice <3 , 3 >(0 , 1 ) - Repeat<1 , 3 >(xc.Col (0 ))) * DmInv;
96
+ SMatrix<ScalarType, 3 , 3 > F = (xc.template Slice <3 , 3 >(0 , 1 ) - Repeat<1 , 3 >(xc.Col (0 ))) * DmInv;
97
97
ScalarType CD = Norm (F);
98
98
SMatrix<ScalarType, 3 , 4 > gradCD{};
99
- gradCD.Slice <3 , 3 >(0 , 1 ) = (F * DmInv.Transpose ()) / (CD /* + 1e-8*/ );
100
- gradCD.Col (0 ) = -(gradCD.Col (1 ) + gradCD.Col (2 ) + gradCD.Col (3 ));
101
- ScalarType CH = Determinant (F) - gammaSNHc;
99
+ gradCD.template Slice <3 , 3 >(0 , 1 ) = (F * DmInv.Transpose ()) / (CD /* + 1e-8*/ );
100
+ gradCD.Col (0 ) = -(gradCD.Col (1 ) + gradCD.Col (2 ) + gradCD.Col (3 ));
101
+ ScalarType CH = Determinant (F) - gammaSNHc;
102
102
SMatrix<ScalarType, 3 , 3 > PH{};
103
103
PH.Col (0 ) = Cross (F.Col (1 ), F.Col (2 ));
104
104
PH.Col (1 ) = Cross (F.Col (2 ), F.Col (0 ));
105
105
PH.Col (2 ) = Cross (F.Col (0 ), F.Col (1 ));
106
106
SMatrix<ScalarType, 3 , 4 > gradCH{};
107
- gradCH.Slice <3 , 3 >(0 , 1 ) = PH * DmInv.Transpose ();
108
- gradCH.Col (0 ) = -(gradCH.Col (1 ) + gradCH.Col (2 ) + gradCH.Col (3 ));
107
+ gradCH.template Slice <3 , 3 >(0 , 1 ) = PH * DmInv.Transpose ();
108
+ gradCH.Col (0 ) = -(gradCH.Col (1 ) + gradCH.Col (2 ) + gradCH.Col (3 ));
109
109
#if defined(CUDART_VERSION)
110
110
#pragma nv_diag_default 174
111
111
#endif
0 commit comments