OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Functions
matrix_shop_cell.h File Reference

Matrix integration routines on cells for standard bilinear forms. More...

#include <appframe/app_shop.h>
#include <appframe/matrix_base.h>
Include dependency graph for matrix_shop_cell.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  AppShop
 Integration routines for matrices and residual for standard applications.
 
namespace  AppShop::Matrix
 Local integration routines for matrices.
 
namespace  AppShop::Matrix::Cell
 Integration of cell matrices.
 

Functions

template<int dim>
void AppShop::Matrix::Cell::mass (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const double a=1.)
 The mass matrix.
 
template<int dim>
void AppShop::Matrix::Cell::mass (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, const unsigned int component, const double a=1.)
 The mass matrix between different elements.
 
template<int dim>
void AppShop::Matrix::Cell::mass_scaled (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const std::vector< double > &a, bool divide)
 Mass matrix with varying coefficient.
 
template<int dim>
void AppShop::Matrix::Cell::mass_scaled (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, const unsigned int select, const std::vector< double > &factor, bool divide=false)
 Mass matrix with varying coefficient for different elements.
 
template<int dim>
void AppShop::Matrix::Cell::advection (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const std::vector< Point< dim > > &velocity)
 Linear advection in divergence form.
 
template<int dim>
void AppShop::Matrix::Cell::advection (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const VectorSlice< const std::vector< std::vector< double > > > &velocity, double factor=1.)
 Linear advection in divergence form.
 
template<int dim>
void AppShop::Matrix::Cell::div_primal (std::vector< MatrixBlock< FullMatrix< double > > > &M, const std::vector< unsigned int > &indices, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, double factor=1.)
 Cell matrix for divergence.
 
template<int dim>
void AppShop::Matrix::Cell::div (std::vector< MatrixBlock< FullMatrix< double > > > &M, const std::vector< unsigned int > &indices, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, double factor=1.)
 Cell matrix for divergence.
 
template<int dim>
void AppShop::Matrix::Cell::div_scaled (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, const std::vector< double > &factor)
 Same as div_cell(), but with a possibly varying coefficient.
 
template<int dim>
void AppShop::Matrix::Cell::di (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, unsigned int i)
 Directional derivative in direction i.
 
template<int dim>
void AppShop::Matrix::Cell::di_scaled (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest, unsigned int d, std::vector< double > &factor)
 Same as di_cell(), but with varying coefficient.
 
template<int dim>
void AppShop::Matrix::Cell::eps_div (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const FEValuesBase< dim > &fetest)
 Discretization for the transpose of the symmetric gradient.
 
template<int dim>
void AppShop::Matrix::Cell::laplacian (FullMatrix< double > &M, const FEValuesBase< dim > &fe, double nu=1.)
 Laplacian in weak form.
 
template<int dim>
void AppShop::Matrix::Cell::laplacian (FullMatrix< double > &M, const FEValuesBase< dim > &fe, Tensor< 2, dim > nu)
 Laplacian in weak form with a Tensor coefficient to allow anisotropic media

\[ (K \nabla u, \nabla v) \]

.

 
template<int dim>
void AppShop::Matrix::Cell::laplacian_scaled (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const std::vector< double > &nu, bool divide=false)
 Laplacian with varying coefficient.
 
template<int dim>
void AppShop::Matrix::Cell::laplacian_scaled (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const double nu, bool divide=false)
 Laplacian with constant coefficient.
 
template<int dim>
void AppShop::Matrix::Cell::div_div (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const double factor=1.)
 Second order divergence form for vector valued elements.
 

Detailed Description

Matrix integration routines on cells for standard bilinear forms.