1 /*! 2 * \file UAnderson.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_UANDERSON_HXX 15 #define LIB_TFEL_MATH_UANDERSON_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 UAnderson 25 : public AndersonBase<Field,real> 26 { 27 //! constructor 28 UAnderson(const typename AndersonBase<Field,real>::Allocator); 29 //! Displacement fields for a new iteration 30 //! \param uO,uN Old and new displacement field 31 //! \param Df Rsidual force field 32 void newIter(Field*&uO,Field*&uN); 33 //! First Iteration of a new time step 34 //! \param uO,uN Old and new displacement field 35 //! \param Df Rsidual force field 36 void restart(Field*&uO,Field*&uN); 37 }; // end of struct UAnderson 38 39 } // end of namespace math 40 41 } // end of namespace tfel 42 43 #include"TFEL/Math/AccelerationAlgorithms/UAnderson.ixx" 44 45 #endif /* LIB_TFEL_MATH_UANDERSON_HXX */ 46