1 /*!
2  * \file   FAnderson.hxx
3  * \brief
4  * \author Étienne Castelier
5  * \date   10 oct. 2016
6  * \copyright Copyright (C) 2006-2018 CEA/DEN, EDF R&D. All rights
7  * reserved.
8  * This project is publicly released under either the GNU GPL Licence
9  * or the CECILL-A licence. A copy of thoses licences are delivered
10  * with the sources of TFEL. CEA or EDF may also distribute this
11  * project under specific licensing conditions.
12  */
13 
14 #ifndef LIB_TFEL_MATH_FANDERSON_HXX
15 #define LIB_TFEL_MATH_FANDERSON_HXX
16 
17 #include"TFEL/Math/AccelerationAlgorithms/AndersonBase.hxx"
18 
19 namespace tfel{
20 
21   namespace math{
22 
23     template<typename Field,typename real>
24     struct FAnderson
25       : public AndersonBase<Field,real>
26     {
27       //! constructor
28       FAnderson(const typename AndersonBase<Field,real>::Allocator);
29       //! Displacement fields for a new iteration
30       //! \param uO,uN Old and new displacement field
31       void newIter(Field*&uO,Field*&uN,Field*&Df);
32       //! First Iteration of a new time step
33       //! \param uO,uN Old and new displacement field
34       void restart(Field*&uO,Field*&uN,Field*&Df);
35     }; // end of struct FAnderson
36 
37   } // end of namespace math
38 
39 } // end of namespace tfel
40 
41 #include"TFEL/Math/AccelerationAlgorithms/FAnderson.ixx"
42 
43 #endif /* LIB_TFEL_MATH_FANDERSON_HXX */
44