diff --git a/src/Solvers/petsc_solver_AMG_report.hpp b/src/Solvers/petsc_solver_AMG_report.hpp index 34d3d90c1a99b68af2e7512c84c56bd55ed2b236..c74b5766e2dabd2dc05ba4f3bded30c5b3c8f37f 100644 --- a/src/Solvers/petsc_solver_AMG_report.hpp +++ b/src/Solvers/petsc_solver_AMG_report.hpp @@ -95,6 +95,7 @@ class petsc_AMG_report Vcluster & v_cl = create_vcluster(); v_cl.max(time1); v_cl.max(time2); + v_cl.execute(); // Save the result AMG_time_err_coars tmp; diff --git a/src/Vector/Vector_util.hpp b/src/Vector/Vector_util.hpp index 87715957fe7b3e0fb4de8dc18aa327ecdbc4aa6a..75b014edcf23b55ca67066ae1f9488efa36034f9 100644 --- a/src/Vector/Vector_util.hpp +++ b/src/Vector/Vector_util.hpp @@ -23,6 +23,18 @@ template<typename copy_type, typename T, typename Ev, typename Eqs_sys, int sa> struct copy_ele_sca_array { + /*! \brief Constructor + * + * It define the copy parameters. + * + * \param key destination position + * \param grid_dst grid destination + * \param x Source vector + * \param lin_id source element inside the vector + * \param gs_size grid size + * \param base_id processor id start + * + */ template<typename Grid> inline static void copy(Grid & grid_dst, const grid_dist_key_dx<Eqs_sys::dims> & key, const Ev & x,size_t lin_id, size_t base_id, size_t gs_size) { grid_dst.template get<T::value>(key) = x(lin_id * Eqs_sys::nvar + base_id); @@ -41,6 +53,18 @@ struct copy_ele_sca_array template<typename copy_type, typename T, typename Ev, typename Eqs_sys> struct copy_ele_sca_array<copy_type,T,Ev,Eqs_sys,1> { + /*! \brief Constructor + * + * It define the copy parameters. + * + * \param key destination position + * \param grid_dst grid destination + * \param x Source vector + * \param lin_id source element inside the vector + * \param gs_size grid size + * \param base_id processor id start + * + */ template<typename Grid> inline static void copy(Grid & grid_dst, const grid_dist_key_dx<Eqs_sys::dims> & key, const Ev & x,size_t lin_id, size_t base_id, size_t gs_size) { for (size_t i = 0 ; i < std::extent<copy_type>::value ; i++) @@ -84,13 +108,15 @@ struct copy_ele //! source vector const Ev & x; - /*! \brief constructor + /*! \brief Constructor * * It define the copy parameters. * * \param key destination position * \param grid_dst grid destination - * \param v Source vector + * \param x Source vector + * \param lin_id source element inside the vector + * \param gs_size grid size * */ inline copy_ele(const grid_dist_key_dx<Eqs_sys::dims> & key, S & grid_dst, const Ev & x, size_t lin_id, size_t gs_size) @@ -109,7 +135,11 @@ struct copy_ele {std::cerr << "Error: " <<__FILE__ << ":" << __LINE__ << " Passing a temporal object";}; #endif - //! It call the copy function for each property + /*! \brief It call the copy function for each property + * + * \param t property id + * + */ template<typename T> inline void operator()(T& t) {