16#ifndef dealii_matrix_creator_h
17#define dealii_matrix_creator_h
29#ifdef DEAL_II_WITH_PETSC
42template <
typename number>
44template <
typename number>
47template <
int dim,
int spacedim>
49template <
int dim,
int spacedim>
58 class MappingCollection;
217 template <
int dim,
int spacedim,
typename SparseMatrixType>
223 SparseMatrixType & matrix,
233 template <
int dim,
int spacedim,
typename SparseMatrixType>
238 SparseMatrixType & matrix,
263 template <
int dim,
int spacedim,
typename SparseMatrixType>
269 SparseMatrixType & matrix,
281 template <
int dim,
int spacedim,
typename SparseMatrixType>
286 SparseMatrixType & matrix,
297 template <
int dim,
int spacedim,
typename SparseMatrixType>
303 SparseMatrixType & matrix,
312 template <
int dim,
int spacedim,
typename SparseMatrixType>
317 SparseMatrixType & matrix,
326 template <
int dim,
int spacedim,
typename SparseMatrixType>
332 SparseMatrixType & matrix,
343 template <
int dim,
int spacedim,
typename SparseMatrixType>
348 SparseMatrixType & matrix,
382 template <
int dim,
int spacedim,
typename number>
390 & boundary_functions,
392 std::vector<types::global_dof_index> & dof_to_boundary_mapping,
394 std::vector<unsigned int> component_mapping = {});
401 template <
int dim,
int spacedim,
typename number>
408 & boundary_functions,
410 std::vector<types::global_dof_index> & dof_to_boundary_mapping,
412 std::vector<unsigned int> component_mapping = {});
417 template <
int dim,
int spacedim,
typename number>
425 & boundary_functions,
427 std::vector<types::global_dof_index> & dof_to_boundary_mapping,
429 std::vector<unsigned int> component_mapping = {});
434 template <
int dim,
int spacedim,
typename number>
441 & boundary_functions,
443 std::vector<types::global_dof_index> & dof_to_boundary_mapping,
445 std::vector<unsigned int> component_mapping = {});
466 template <
int dim,
int spacedim,
typename SparseMatrixType>
472 SparseMatrixType & matrix,
482 template <
int dim,
int spacedim,
typename SparseMatrixType>
487 SparseMatrixType & matrix,
511 template <
int dim,
int spacedim,
typename SparseMatrixType>
517 SparseMatrixType & matrix,
529 template <
int dim,
int spacedim,
typename SparseMatrixType>
534 SparseMatrixType & matrix,
545 template <
int dim,
int spacedim,
typename SparseMatrixType>
551 SparseMatrixType & matrix,
560 template <
int dim,
int spacedim,
typename SparseMatrixType>
565 SparseMatrixType & matrix,
574 template <
int dim,
int spacedim,
typename SparseMatrixType>
580 SparseMatrixType & matrix,
591 template <
int dim,
int spacedim,
typename SparseMatrixType>
596 SparseMatrixType & matrix,
608 "You are providing either a right hand side function or a "
609 "coefficient with a number of vector components that is "
610 "inconsistent with the rest of the arguments. If you do "
611 "provide a coefficient or right hand side function, then "
612 "it either needs to have as many components as the finite "
613 "element in use, or only a single vector component. In "
614 "the latter case, the same value will be taken for "
615 "each vector component of the finite element.");
Abstract base class for mapping classes.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcComponentMismatch()
void create_boundary_mass_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim - 1 > &q, SparseMatrix< number > &matrix, 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 weight=0, std::vector< unsigned int > component_mapping={})
void create_mass_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim > &q, SparseMatrixType &matrix, const Function< spacedim, typename SparseMatrixType::value_type > *const a=nullptr, const AffineConstraints< typename SparseMatrixType::value_type > &constraints=AffineConstraints< typename SparseMatrixType::value_type >())
void create_laplace_matrix(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &dof, const Quadrature< dim > &q, SparseMatrixType &matrix, const Function< spacedim, typename SparseMatrixType::value_type > *const a=nullptr, const AffineConstraints< typename SparseMatrixType::value_type > &constraints=AffineConstraints< typename SparseMatrixType::value_type >())