@@ -1982,12 +1982,12 @@ _solve()
19821982
19831983 {
19841984 TimeStart = platform::getRealTime ();
1985- Timer::Action ta1 (tstat, " LinearSystemSolve " );
1985+ Timer::Action ta1 (tstat, " LinearSystemSolve1 " );
19861986 m_linear_system.applyLinearSystemTransformationAndSolve ();
19871987 }
19881988
1989- elapsedTime = platform::getRealTime () - elapsedTime ;
1990- _printArcaneFemTime (" [ArcaneFem-Timer] solving-linear-system" , elapsedTime);
1989+ elapsedTime = platform::getRealTime () - TimeStart ;
1990+ _printArcaneFemTime (" [ArcaneFem-Timer] solving-linear-system-1 " , elapsedTime);
19911991
19921992 // Call again the solver to check it is valid to call it
19931993 // several times. The second time we only call solve() without
@@ -1998,6 +1998,22 @@ _solve()
19981998 Timer::Action ta1 (tstat, " LinearSystemSolve2" );
19991999 m_linear_system.solve ();
20002000 }
2001+ elapsedTime = platform::getRealTime () - TimeStart;
2002+ _printArcaneFemTime (" [ArcaneFem-Timer] solving-linear-system-2" , elapsedTime);
2003+
2004+ // Call again the solver to check it is valid to call it
2005+ // several times. The thrid time reapply trasformations
2006+ // first on matrix, then on rhs, then call solve()
2007+ info () << " Calling again apply transformation and solve" ;
2008+ {
2009+ TimeStart = platform::getRealTime ();
2010+ Timer::Action ta1 (tstat, " LinearSystemSolve3" );
2011+ m_linear_system.applyMatrixTransformation ();
2012+ m_linear_system.applyRHSTransformation ();
2013+ m_linear_system.solve ();
2014+ }
2015+ elapsedTime = platform::getRealTime () - TimeStart;
2016+ _printArcaneFemTime (" [ArcaneFem-Timer] solving-linear-system-3" , elapsedTime);
20012017
20022018 // Re-Apply boundary conditions because the solver has modified the value
20032019 {
0 commit comments