OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
AppShop::Matrix::Face Namespace Reference

Integration of interior face matrices. More...

Functions

template<int dim>
void advection (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const VectorSlice< const std::vector< std::vector< double > > > &velocity, double factor=1.)
 Upwind flux at interior faces.
 
template<int dim>
void advection (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const std::vector< Point< dim > > &velocity)
 Upwind flux at interior faces.
 
template<int dim>
void u_times_n (std::vector< MatrixBlock< FullMatrix< double > > > &intint, std::vector< MatrixBlock< FullMatrix< double > > > &intext, std::vector< MatrixBlock< FullMatrix< double > > > &extint, std::vector< MatrixBlock< FullMatrix< double > > > &extext, const std::vector< unsigned int > &indices, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const FEFaceValuesBase< dim > &int_fetest, const FEFaceValuesBase< dim > &ext_fetest, double factor=1.)
 Normal flux.
 
template<int dim>
void u_times_n_scaled (FullMatrix< double > &intint, FullMatrix< double > &intext, FullMatrix< double > &extint, FullMatrix< double > &extext, const FEFaceValuesBase< dim > &int_fetest, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fetest, const FEFaceValuesBase< dim > &ext_fe, const std::vector< double > &int_factor, const std::vector< double > &ext_factor)
 Flux [n.u]{v}.
 
template<int dim>
void div_super (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &int_fetest, const FEFaceValuesBase< dim > &ext_fe, const FEFaceValuesBase< dim > &ext_fetest)
 Flux for superconvergent LDG.
 
template<int dim>
void u_ni (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const FEFaceValuesBase< dim > &int_fetest, const FEFaceValuesBase< dim > &ext_fetest, unsigned int i)
 Jump of u times normal vector component.
 
template<int dim>
void u_ni_scaled (FullMatrix< double > &intint, FullMatrix< double > &intext, FullMatrix< double > &extint, FullMatrix< double > &extext, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const FEFaceValuesBase< dim > &int_fetest, const FEFaceValuesBase< dim > &ext_fetest, unsigned int d, const std::vector< double > &int_factor, const std::vector< double > &ext_factor)
 Jump of u times normal vector component.
 
template<int dim>
void jump (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const double factor2)
 Jump of u.
 
template<int dim>
void jump_scaled (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const std::vector< double > &factor, const double factor2, bool divide=false)
 Jump of u.
 
template<int dim>
void ip (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, double penalty, double int_factor=1., double ext_factor=-1.)
 Flux for the interior penalty method for the Laplacian.
 
template<int dim>
void ip_scaled (FullMatrix< double > &Mii, FullMatrix< double > &Mie, FullMatrix< double > &Mei, FullMatrix< double > &Mee, const FEFaceValuesBase< dim > &int_fe, const FEFaceValuesBase< dim > &ext_fe, const std::vector< double > &factor, double penalty)
 Flux for the interior penalty method for the Laplacian with coefficient.
 

Detailed Description

Integration of interior face matrices.

Function Documentation

template<int dim>
void AppShop::Matrix::Face::advection ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const VectorSlice< const std::vector< std::vector< double > > > &  velocity,
double  factor = 1. 
)

Upwind flux at interior faces.

template<int dim>
void AppShop::Matrix::Face::advection ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const std::vector< Point< dim > > &  velocity 
)

Upwind flux at interior faces.

template<int dim>
void AppShop::Matrix::Face::div_super ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  int_fetest,
const FEFaceValuesBase< dim > &  ext_fe,
const FEFaceValuesBase< dim > &  ext_fetest 
)

Flux for superconvergent LDG.

template<int dim>
void AppShop::Matrix::Face::ip ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
double  penalty,
double  int_factor = 1.,
double  ext_factor = -1. 
)

Flux for the interior penalty method for the Laplacian.

With jumping coefficients if ext_factor is nonnegative. The penalty should be computed for coefficient 1.

template<int dim>
void AppShop::Matrix::Face::ip_scaled ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const std::vector< double > &  factor,
double  penalty 
)

Flux for the interior penalty method for the Laplacian with coefficient.

template<int dim>
void AppShop::Matrix::Face::jump ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const double  factor2 
)

Jump of u.

template<int dim>
void AppShop::Matrix::Face::jump_scaled ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const std::vector< double > &  factor,
const double  factor2,
bool  divide = false 
)

Jump of u.

template<int dim>
void AppShop::Matrix::Face::u_ni ( FullMatrix< double > &  Mii,
FullMatrix< double > &  Mie,
FullMatrix< double > &  Mei,
FullMatrix< double > &  Mee,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const FEFaceValuesBase< dim > &  int_fetest,
const FEFaceValuesBase< dim > &  ext_fetest,
unsigned int  i 
)

Jump of u times normal vector component.

template<int dim>
void AppShop::Matrix::Face::u_ni_scaled ( FullMatrix< double > &  intint,
FullMatrix< double > &  intext,
FullMatrix< double > &  extint,
FullMatrix< double > &  extext,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const FEFaceValuesBase< dim > &  int_fetest,
const FEFaceValuesBase< dim > &  ext_fetest,
unsigned int  d,
const std::vector< double > &  int_factor,
const std::vector< double > &  ext_factor 
)

Jump of u times normal vector component.

template<int dim>
void AppShop::Matrix::Face::u_times_n ( std::vector< MatrixBlock< FullMatrix< double > > > &  intint,
std::vector< MatrixBlock< FullMatrix< double > > > &  intext,
std::vector< MatrixBlock< FullMatrix< double > > > &  extint,
std::vector< MatrixBlock< FullMatrix< double > > > &  extext,
const std::vector< unsigned int > &  indices,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fe,
const FEFaceValuesBase< dim > &  int_fetest,
const FEFaceValuesBase< dim > &  ext_fetest,
double  factor = 1. 
)

Normal flux.

\[ -\left<\{u\}, [v n]\right> \]

template<int dim>
void AppShop::Matrix::Face::u_times_n_scaled ( FullMatrix< double > &  intint,
FullMatrix< double > &  intext,
FullMatrix< double > &  extint,
FullMatrix< double > &  extext,
const FEFaceValuesBase< dim > &  int_fetest,
const FEFaceValuesBase< dim > &  int_fe,
const FEFaceValuesBase< dim > &  ext_fetest,
const FEFaceValuesBase< dim > &  ext_fe,
const std::vector< double > &  int_factor,
const std::vector< double > &  ext_factor 
)

Flux [n.u]{v}.