deal.II version GIT relicensing-2171-g98af52917d 2024-11-23 14:40:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Namespaces | Enumerations | Functions
TensorProductMatrixCreator Namespace Reference

Namespaces

namespace  internal
 

Enumerations

enum  LaplaceBoundaryType { dirichlet , neumann , internal_boundary }
 

Functions

template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > create_laplace_tensor_product_matrix (const FiniteElement< 1 > &fe, const Quadrature< 1 > &quadrature, const ::ndarray< LaplaceBoundaryType, dim, 2 > &boundary_ids, const ::ndarray< double, dim, 3 > &cell_extent, const unsigned int n_overlap=1)
 
template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > create_laplace_tensor_product_matrix (const typename Triangulation< dim >::cell_iterator &cell, const std::set< types::boundary_id > &dirichlet_boundaries, const std::set< types::boundary_id > &neumann_boundaries, const FiniteElement< 1 > &fe, const Quadrature< 1 > &quadrature, const ::ndarray< double, dim, 3 > &cell_extent, const unsigned int n_overlap=1)
 

Detailed Description

A namespace with functions that create input for certain standard matrices for the classes TensorProductMatrixSymmetricSum and TensorProductMatrixSymmetricSumCollection.

Enumeration Type Documentation

◆ LaplaceBoundaryType

Boundary type that can be used in create_laplace_tensor_product_matrix();

Enumerator
dirichlet 
neumann 
internal_boundary 

Definition at line 48 of file tensor_product_matrix_creator.h.

Function Documentation

◆ create_laplace_tensor_product_matrix() [1/2]

template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > TensorProductMatrixCreator::create_laplace_tensor_product_matrix ( const FiniteElement< 1 > &  fe,
const Quadrature< 1 > &  quadrature,
const ::ndarray< LaplaceBoundaryType, dim, 2 > &  boundary_ids,
const ::ndarray< double, dim, 3 > &  cell_extent,
const unsigned int  n_overlap = 1 
)

Create 1d mass matrix and 1d derivative matrix for a scalar constant-coefficient Laplacian for a dim dimensional Cartesian cell. Its boundary types can be specified with boundary_ids. The cell extent (including the cell extent of each neighbor) can be specified via cell_extent. With n_overlap, an overlap with neighboring cells can be specified. The default value is one, which correspond to all matrix entries restricted to the cell-local DoFs.

Definition at line 175 of file tensor_product_matrix_creator.h.

◆ create_laplace_tensor_product_matrix() [2/2]

template<int dim, typename Number >
std::pair< std::array< FullMatrix< Number >, dim >, std::array< FullMatrix< Number >, dim > > TensorProductMatrixCreator::create_laplace_tensor_product_matrix ( const typename Triangulation< dim >::cell_iterator &  cell,
const std::set< types::boundary_id > &  dirichlet_boundaries,
const std::set< types::boundary_id > &  neumann_boundaries,
const FiniteElement< 1 > &  fe,
const Quadrature< 1 > &  quadrature,
const ::ndarray< double, dim, 3 > &  cell_extent,
const unsigned int  n_overlap = 1 
)

Same as above but the boundary IDs are extracted from the given cell and are mapped to the boundary type via the sets dirichlet_boundaries and neumann_boundaries.

Definition at line 305 of file tensor_product_matrix_creator.h.