]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Doc update and add function for the assemblage of a right hand side,
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 25 May 1998 14:37:35 +0000 (14:37 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 25 May 1998 14:37:35 +0000 (14:37 +0000)
git-svn-id: https://svn.dealii.org/trunk@351 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/numerics/vectors.h

index 33b4746180b93dc066bd1d158bf0ddde93478c02..d1012878a9c4e0b62a71607516e6cbafc8b5c01c 100644 (file)
@@ -95,8 +95,11 @@ enum NormType {
  *   called with a map of boundary functions in which all boundary indicators
  *   from zero to 254 (255 is used for other purposes, see the #Triangulation#
  *   class documentation) point to the function to be projected. The projection
- *   to the boundary takes place using a second quadrature formula given to
- *   the #project# function.
+ *   to the boundary takes place using a second quadrature formula on the
+ *   boundary given to the #project# function. The first quadrature formula is
+ *   used to compute the right hand side, while the global projection is done by
+ *   exact integration of the mass matrix instead of evaluating it by a quadrature
+ *   formula. This is faster in this case and more accurate.
  *
  *   The projection of the boundary values first, then eliminating them from
  *   the global system of equations is not needed usually. It may be necessary
@@ -133,6 +136,12 @@ enum NormType {
  *   too efficient, but sufficient in many cases and simple to implement. This
  *   detail may change in the future.
  *
+ * \item Creation of right hand side vectors:
+ *   The #create_right_hand_side# function computes the vector
+ *   $f_i = \int_\Omega f(x) \phi_i(x) dx$. This is the same as what the
+ *   #MatrixCreator::create_*# functions which take a right hand side do,
+ *   but without assembling a matrix.
+ *
  * \item Interpolation of boundary values:
  *   The #MatrixTools::apply_boundary_values# function takes a list
  *   of boundary nodes and their values. You can get such a list by interpolation
@@ -285,14 +294,27 @@ class VectorTools {
     static void project (const DoFHandler<dim>    &dof,
                         const ConstraintMatrix   &constraints,
                         const FiniteElement<dim> &fe,
-                        const Quadrature<dim>    &q,
                         const Boundary<dim>      &boundary,
+                        const Quadrature<dim>    &q,
                         const Function<dim>      &function,
                         dVector                  &vec,
                         const bool                enforce_zero_boundary = false,
                         const Quadrature<dim-1>  &q_boundary = QGauss2<dim-1>(),
                         const bool                project_to_boundary_first = false);
 
+                                    /**
+                                     * Create a right hand side vector.
+                                     *
+                                     * See the general documentation of this
+                                     * class for further information.
+                                     */                                      
+    static void create_right_hand_side (const DoFHandler<dim>    &dof,
+                                       const FiniteElement<dim> &fe,
+                                       const Quadrature<dim>    &q,
+                                       const Boundary<dim>      &boundary,
+                                       const Function<dim>      &rhs,
+                                       dVector                  &rhs_vector);
+    
                                     /**
                                      * Make up the list of node subject
                                      * to Dirichlet boundary conditions

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.