From: heister Date: Sun, 17 Feb 2013 14:35:08 +0000 (+0000) Subject: merge from mainline X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02648607c737c9d8be32c74901c88c31e0881c7e;p=dealii-svn.git merge from mainline git-svn-id: https://svn.dealii.org/branches/branch_unify_linear_algebra@28440 0785d39b-7218-0410-832d-ea1e28bc413d --- 02648607c737c9d8be32c74901c88c31e0881c7e diff --cc deal.II/examples/step-40/step-40.cc index 25994894d5,3529e209f9..4fce77cb12 --- a/deal.II/examples/step-40/step-40.cc +++ b/deal.II/examples/step-40/step-40.cc @@@ -248,10 -233,9 +248,9 @@@ namespace Step4 locally_relevant_solution.reinit (mpi_communicator, locally_owned_dofs, locally_relevant_dofs); - locally_relevant_solution = 0; system_rhs.reinit (mpi_communicator, - dof_handler.n_dofs(), - dof_handler.n_locally_owned_dofs()); + locally_owned_dofs); + system_rhs = 0; // The next step is to compute hanging node and boundary value diff --cc deal.II/include/deal.II/grid/grid_generator.h index d3b955ed27,b92327f0bf..0deceace4b --- a/deal.II/include/deal.II/grid/grid_generator.h +++ b/deal.II/include/deal.II/grid/grid_generator.h @@@ -69,52 -62,32 +62,32 @@@ public * * @image html hyper_cubes.png * - * See also - * subdivided_hyper_cube() for a - * coarse mesh consisting of - * several cells. See - * hyper_rectangle(), if - * different lengths in different - * ordinate directions are - * required. - * - * @note The triangulation needs to be - * void upon calling this - * function. + * See also subdivided_hyper_cube() for a coarse mesh consisting of several + * cells. See hyper_rectangle(), if different lengths in different ordinate + * directions are required. + * + * @note The triangulation needs to be void upon calling this function. */ template - static void hyper_cube (Triangulation &tria, + static void hyper_cube (Triangulation &tria, const double left = 0., const double right= 1.); /** - * Same as hyper_cube(), but - * with the difference that not - * only one cell is created but - * each coordinate direction is - * subdivided into - * @p repetitions cells. Thus, - * the number of cells filling - * the given volume is + * Same as hyper_cube(), but with the difference that not only one cell is + * created but each coordinate direction is subdivided into @p repetitions + * cells. Thus, the number of cells filling the given volume is * repetitionsdim. * - * If spacedim=dim+1 the same - * mesh as in the case - * spacedim=dim is created, but - * the vertices have an - * additional coordinate =0. So, - * if dim=1 one obtains line - * along the x axis in the xy - * plane, and if dim=3 one - * obtains a square in lying in - * the xy plane in 3d space. - * - * @note The triangulation needs - * to be void upon calling this - * function. + * If spacedim=dim+1 the same mesh as in the case spacedim=dim is created, + * but the vertices have an additional coordinate =0. So, if dim=1 one + * obtains line along the x axis in the xy plane, and if dim=3 one obtains a + * square in lying in the xy plane in 3d space. + * + * @note The triangulation needs to be void upon calling this function. */ template - static void subdivided_hyper_cube (Triangulation &tria, + static void subdivided_hyper_cube (Triangulation &tria, const unsigned int repetitions, const double left = 0., const double right= 1.); @@@ -296,9 -207,9 +207,9 @@@ template static void - parallelogram(Triangulation &tria, + parallelogram(Triangulation &tria, - const Point (&corners)[dim], - const bool colorize=false); + const Point (&corners)[dim], + const bool colorize=false); /** diff --cc deal.II/include/deal.II/lac/petsc_parallel_vector.h index 37096c1657,ffbdd25986..bb549a72c8 --- a/deal.II/include/deal.II/lac/petsc_parallel_vector.h +++ b/deal.II/include/deal.II/lac/petsc_parallel_vector.h @@@ -508,9 -525,9 +525,11 @@@ namespace PETScWrapper const int ierr = VecCopy (v.vector, vector); AssertThrow (ierr == 0, ExcPETScError(ierr)); - + if (ghosted) + update_ghost_values(); + + if (has_ghost_elements()) + update_ghost_values(); return *this; }