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