]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Document the default argument for the coefficient 4816/head
authorDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sun, 13 Aug 2017 18:26:41 +0000 (20:26 +0200)
committerDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sun, 13 Aug 2017 23:06:28 +0000 (01:06 +0200)
include/deal.II/numerics/matrix_tools.h
tests/numerics/create_mass_matrix_constraints_02b.cc

index a2377cbd4a4941b60065dd8cb26530d62696f483..d66f20b16727f3d7cdfbc904427add4dd2a602db 100644 (file)
@@ -220,6 +220,9 @@ namespace MatrixCreator
    * Assemble the mass matrix. If no coefficient is given (i.e., if the
    * pointer to a function object is zero as it is by default), the
    * coefficient is taken as being constant and equal to one.
+   * In case you want to specify @p constraints and use the default argument
+   * for the coefficient you have to specify the (unused) coefficient argument as
+   * <code>(const Function<spacedim,number> *const)nullptr</code>.
    *
    * If the library is configured to use multithreading, this function works
    * in parallel.
@@ -255,6 +258,9 @@ namespace MatrixCreator
    * Assemble the mass matrix and a right hand side vector. If no coefficient
    * is given (i.e., if the pointer to a function object is zero as it is by
    * default), the coefficient is taken as being constant and equal to one.
+   * In case you want to specify @p constraints and use the default argument
+   * for the coefficient you have to specify the (unused) coefficient argument as
+   * <code>(const Function <spacedim,number> *const)nullptr</code>.
    *
    * If the library is configured to use multithreading, this function works
    * in parallel.
@@ -287,7 +293,7 @@ namespace MatrixCreator
                            SparseMatrix<number>     &matrix,
                            const Function<spacedim,number> &rhs,
                            Vector<number>           &rhs_vector,
-                           const Function<spacedim,number> *const a = 0,
+                           const Function<spacedim,number> *const a = nullptr,
                            const ConstraintMatrix   &constraints = ConstraintMatrix());
 
   /**
@@ -308,7 +314,7 @@ namespace MatrixCreator
   void create_mass_matrix (const hp::DoFHandler<dim,spacedim>    &dof,
                            const hp::QCollection<dim>    &q,
                            SparseMatrix<number>     &matrix,
-                           const Function<spacedim,number> *const a = 0,
+                           const Function<spacedim,number> *const a = nullptr,
                            const ConstraintMatrix   &constraints = ConstraintMatrix());
 
   /**
@@ -333,7 +339,7 @@ namespace MatrixCreator
                            SparseMatrix<number>     &matrix,
                            const Function<spacedim,number> &rhs,
                            Vector<number>           &rhs_vector,
-                           const Function<spacedim,number> *const a = 0,
+                           const Function<spacedim,number> *const a = nullptr,
                            const ConstraintMatrix   &constraints = ConstraintMatrix());
 
 
@@ -348,6 +354,9 @@ namespace MatrixCreator
    *
    * @arg @p weight: an optional weight for the computation of the mass
    * matrix. If no weight is given, it is set to one.
+   * In case you want to specify @p component_mapping and use the default argument
+   * for the coefficient you have to specify the (unused) coefficient argument as
+   * <code>(const Function <spacedim,number> *const)nullptr</code>.
    *
    * @arg @p component_mapping: if the components in @p boundary_functions and
    * @p dof do not coincide, this vector allows them to be remapped. If the
@@ -382,7 +391,7 @@ namespace MatrixCreator
                                     const std::map<types::boundary_id, const Function<spacedim,number>*> &boundary_functions,
                                     Vector<number>           &rhs_vector,
                                     std::vector<types::global_dof_index> &dof_to_boundary_mapping,
-                                    const Function<spacedim,number> *const a = 0,
+                                    const Function<spacedim,number> *const a = nullptr,
                                     std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
 
   /**
@@ -396,7 +405,7 @@ namespace MatrixCreator
                                     const std::map<types::boundary_id, const Function<spacedim,number>*> &boundary_functions,
                                     Vector<number>           &rhs_vector,
                                     std::vector<types::global_dof_index> &dof_to_boundary_mapping,
-                                    const Function<spacedim,number> *const a = 0,
+                                    const Function<spacedim,number> *const a = nullptr,
                                     std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
 
   /**
@@ -409,13 +418,16 @@ namespace MatrixCreator
                                     const std::map<types::boundary_id, const Function<spacedim,number>*> &boundary_functions,
                                     Vector<number>           &rhs_vector,
                                     std::vector<types::global_dof_index> &dof_to_boundary_mapping,
-                                    const Function<spacedim,number> *const a = 0,
+                                    const Function<spacedim,number> *const a = nullptr,
                                     std::vector<unsigned int> component_mapping = std::vector<unsigned int>());
 
   /**
    * Assemble the Laplace matrix. If no coefficient is given (i.e., if the
    * pointer to a function object is zero as it is by default), the
    * coefficient is taken as being constant and equal to one.
+   * In case you want to specify @p constraints and use the default argument
+   * for the coefficient you have to specify the (unused) coefficient argument as
+   * <code>(const Function<spacedim> *const)nullptr</code>.
    *
    * If the library is configured to use multithreading, this function works
    * in parallel.
@@ -450,6 +462,9 @@ namespace MatrixCreator
   /**
    * Assemble the Laplace matrix and a right hand side vector. If no
    * coefficient is given, it is assumed to be constant one.
+   * In case you want to specify @p constraints and use the default argument
+   * for the coefficient you have to specify the (unused) coefficient argument as
+   * <code>(const Function<spacedim> *const)nullptr</code>.
    *
    * If the library is configured to use multithreading, this function works
    * in parallel.
index aa80f0217568da42eb789860b4a0d8b174ae91d7..fb709fa9771162b52fb86e417c18c75e2ecd6e00 100644 (file)
@@ -102,9 +102,8 @@ check ()
                       quadrature, matrix_ref);
   constraints.condense(matrix_ref);
 
-  const Function<dim> *const dummy = nullptr;
   MatrixTools::create_mass_matrix (mapping, dof, quadrature, matrix,
-                                   dummy, constraints);
+                                   (const Function <dim> *const)nullptr, constraints);
 
   // compute reference: need to cancel constrained entries as these will in
   // general get different values

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.