deal.II version GIT relicensing-3509-g790ffced1c 2025-06-14 07:20: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
tensor_product_matrix_creator.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/quadrature.h>
#include <deal.II/dofs/dof_handler.h>
#include <deal.II/fe/fe.h>
#include <deal.II/fe/fe_dgq.h>
#include <deal.II/fe/fe_q.h>
#include <deal.II/fe/fe_tools.h>
#include <deal.II/fe/fe_values.h>
#include <deal.II/fe/mapping_q1.h>
#include <deal.II/grid/grid_generator.h>
#include <deal.II/grid/tria.h>
#include <set>

Go to the source code of this file.

Namespaces

namespace  TensorProductMatrixCreator
 
namespace  TensorProductMatrixCreator::internal
 

Enumerations

enum  TensorProductMatrixCreator::LaplaceBoundaryType { TensorProductMatrixCreator::dirichlet , TensorProductMatrixCreator::neumann , TensorProductMatrixCreator::internal_boundary }
 

Functions

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)
 
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)
 
template<typename Number = double>
FullMatrix< Number > TensorProductMatrixCreator::create_1d_cell_mass_matrix (const FiniteElement< 1 > &fe, const Number &h, const std::pair< bool, bool > include_endpoints={true, true}, std::vector< unsigned int > numbering=std::vector< unsigned int >())
 
template<typename Number = double>
FullMatrix< Number > TensorProductMatrixCreator::create_1d_cell_laplace_matrix (const FiniteElement< 1 > &fe, const Number &h, const std::pair< bool, bool > include_endpoints={true, true}, std::vector< unsigned int > numbering=std::vector< unsigned int >())
 
template<typename Number = double>
FullMatrix< Number > TensorProductMatrixCreator::create_1D_discretization_matrix (FullMatrix< Number > &cell_matrix, const unsigned int &n_cells, const unsigned int &overlap, const std::pair< bool, bool > include_endpoints={true, true})
 
template<typename Number = double>
FullMatrix< Number > TensorProductMatrixCreator::create_1d_ghost_penalty_matrix (const FiniteElement< 1 > &fe, const Number h, std::vector< Number > coefficients=std::vector< Number >())
 Create a 1D ghost penalty matrix for a given finite element. Ghost penalty is used for stabilization in cutFEM, see step-85. Implemented only for FE_Q.
 
template<typename Number = double>
FullMatrix< Number > TensorProductMatrixCreator::create_1d_ghost_penalty_matrix (const std::vector< Polynomials::Polynomial< double > > &polynomial_basis_derivative, const unsigned int overlap=1)
 Create a 1D ghost penalty matrix.
 
template<typename Number >
void TensorProductMatrixCreator::internal::clear_row_and_column (const unsigned int n_dofs_1D_with_overlap, const unsigned int n, FullMatrix< Number > &matrix)
 
template<typename Number >
std::tuple< FullMatrix< Number >, FullMatrix< Number >, boolTensorProductMatrixCreator::internal::create_reference_mass_and_stiffness_matrices (const FiniteElement< 1 > &fe, const Quadrature< 1 > &quadrature)