dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
GenericEllipticProblem< GV, RF > Class Template Reference

Public Types

typedef Dune::PDELab::ConvectionDiffusionParameterTraits< GV, RF > Traits
 
typedef Dune::PDELab::ConvectionDiffusionParameterTraits< GV, RF > Traits
 
typedef Dune::PDELab::ConvectionDiffusionParameterTraits< GV, RF > Traits
 
typedef Dune::PDELab::ConvectionDiffusionParameterTraits< GV, RF > Traits
 

Public Member Functions

Traits::PermTensorType A (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 tensor diffusion coefficient
 
Traits::RangeType b (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 velocity field
 
Traits::RangeFieldType c (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 sink term
 
Traits::RangeFieldType f (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 source term
 
BCType bctype (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 boundary condition type function
 
Traits::RangeFieldType g (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 Dirichlet boundary condition value.
 
Traits::RangeFieldType j (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 flux boundary condition
 
Traits::RangeFieldType o (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 outflow boundary condition
 
Traits::PermTensorType A (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 tensor diffusion coefficient
 
Traits::RangeType b (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 velocity field
 
Traits::RangeFieldType c (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 sink term
 
Traits::RangeFieldType f (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 source term
 
BCType bctype (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 boundary condition type function
 
Traits::RangeFieldType g (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 Dirichlet boundary condition value.
 
Traits::RangeFieldType j (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 flux boundary condition
 
Traits::RangeFieldType o (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 outflow boundary condition
 
Traits::PermTensorType A (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 tensor diffusion coefficient
 
Traits::RangeType b (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 velocity field
 
Traits::RangeFieldType c (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 sink term
 
Traits::RangeFieldType f (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 source term
 
BCType bctype (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 boundary condition type function
 
Traits::RangeFieldType g (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 Dirichlet boundary condition value.
 
Traits::RangeFieldType j (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 flux boundary condition
 
Traits::RangeFieldType o (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 outflow boundary condition
 
Traits::PermTensorType A (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 tensor diffusion coefficient
 
Traits::RangeType b (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 velocity field
 
Traits::RangeFieldType c (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 sink term
 
Traits::RangeFieldType f (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 source term
 
BCType bctype (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 boundary condition type function
 
Traits::RangeFieldType g (const typename Traits::ElementType &e, const typename Traits::DomainType &xlocal) const
 Dirichlet boundary condition value.
 
Traits::RangeFieldType j (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 flux boundary condition
 
Traits::RangeFieldType o (const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &xlocal) const
 outflow boundary condition
 

Static Public Member Functions

static constexpr bool permeabilityIsConstantPerCell ()
 tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.
 
static constexpr bool permeabilityIsConstantPerCell ()
 tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.
 
static constexpr bool permeabilityIsConstantPerCell ()
 tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.
 
static constexpr bool permeabilityIsConstantPerCell ()
 tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.
 

Detailed Description

template<typename GV, typename RF>
class GenericEllipticProblem< GV, RF >

Parameter class for the stationary convection-diffusion equation of the following form:

\begin{align*}
  \nabla\cdot(-A(x) \nabla u + b(x) u) + c(x)u &=& f \mbox{ in } \Omega,  \ \
                                             u &=& g \mbox{ on } \partial\Omega_D (Dirichlet)\ \
               (b(x,u) - A(x)\nabla u) \cdot n &=& j \mbox{ on } \partial\Omega_N (Flux)\ \
                       -(A(x)\nabla u) \cdot n &=& o \mbox{ on } \partial\Omega_O (Outflow)
\end{align*}

Note:

The template parameters are:

Parameter class for the stationary convection-diffusion equation of the following form:

\begin{align*}
  \nabla\cdot(-A(x) \nabla u + b(x) u) + c(x)u &=& f \mbox{ in } \Omega,  \ \
                                             u &=& g \mbox{ on } \partial\Omega_D (Dirichlet)\ \
               (b(x,u) - A(x)\nabla u) \cdot n &=& j \mbox{ on } \partial\Omega_N (Flux)\ \
                       -(A(x)\nabla u) \cdot n &=& o \mbox{ on } \partial\Omega_O (Outflow)
\end{align*}

Note:

The template parameters are:

Examples
recipe-geometry-grid.cc, recipe-linear-system-assembly.cc, recipe-linear-system-solution-istl.cc, and recipe-linear-system-solution-pdelab.cc.

Member Typedef Documentation

◆ Traits [1/4]

template<typename GV , typename RF >
typedef Dune::PDELab::ConvectionDiffusionParameterTraits<GV,RF> GenericEllipticProblem< GV, RF >::Traits

◆ Traits [2/4]

template<typename GV , typename RF >
typedef Dune::PDELab::ConvectionDiffusionParameterTraits<GV,RF> GenericEllipticProblem< GV, RF >::Traits

◆ Traits [3/4]

template<typename GV , typename RF >
typedef Dune::PDELab::ConvectionDiffusionParameterTraits<GV,RF> GenericEllipticProblem< GV, RF >::Traits

◆ Traits [4/4]

template<typename GV , typename RF >
typedef Dune::PDELab::ConvectionDiffusionParameterTraits<GV,RF> GenericEllipticProblem< GV, RF >::Traits

Member Function Documentation

◆ A() [1/4]

template<typename GV , typename RF >
Traits::PermTensorType GenericEllipticProblem< GV, RF >::A ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

◆ A() [2/4]

template<typename GV , typename RF >
Traits::PermTensorType GenericEllipticProblem< GV, RF >::A ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

tensor diffusion coefficient

◆ A() [3/4]

template<typename GV , typename RF >
Traits::PermTensorType GenericEllipticProblem< GV, RF >::A ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

tensor diffusion coefficient

◆ A() [4/4]

template<typename GV , typename RF >
Traits::PermTensorType GenericEllipticProblem< GV, RF >::A ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

tensor diffusion coefficient

◆ b() [1/4]

template<typename GV , typename RF >
Traits::RangeType GenericEllipticProblem< GV, RF >::b ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

◆ b() [2/4]

template<typename GV , typename RF >
Traits::RangeType GenericEllipticProblem< GV, RF >::b ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

velocity field

◆ b() [3/4]

template<typename GV , typename RF >
Traits::RangeType GenericEllipticProblem< GV, RF >::b ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

velocity field

◆ b() [4/4]

template<typename GV , typename RF >
Traits::RangeType GenericEllipticProblem< GV, RF >::b ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

velocity field

◆ bctype() [1/4]

template<typename GV , typename RF >
BCType GenericEllipticProblem< GV, RF >::bctype ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

◆ bctype() [2/4]

template<typename GV , typename RF >
BCType GenericEllipticProblem< GV, RF >::bctype ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

boundary condition type function

◆ bctype() [3/4]

template<typename GV , typename RF >
BCType GenericEllipticProblem< GV, RF >::bctype ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

boundary condition type function

◆ bctype() [4/4]

template<typename GV , typename RF >
BCType GenericEllipticProblem< GV, RF >::bctype ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

boundary condition type function

◆ c() [1/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::c ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

◆ c() [2/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::c ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

sink term

◆ c() [3/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::c ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

sink term

◆ c() [4/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::c ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

sink term

◆ f() [1/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::f ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

◆ f() [2/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::f ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

source term

◆ f() [3/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::f ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

source term

◆ f() [4/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::f ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

source term

◆ g() [1/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::g ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

◆ g() [2/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::g ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

Dirichlet boundary condition value.

◆ g() [3/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::g ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

Dirichlet boundary condition value.

◆ g() [4/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::g ( const typename Traits::ElementType e,
const typename Traits::DomainType xlocal 
) const
inline

Dirichlet boundary condition value.

◆ j() [1/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::j ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

◆ j() [2/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::j ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

flux boundary condition

◆ j() [3/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::j ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

flux boundary condition

◆ j() [4/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::j ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

flux boundary condition

◆ o() [1/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::o ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

◆ o() [2/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::o ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

outflow boundary condition

◆ o() [3/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::o ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

outflow boundary condition

◆ o() [4/4]

template<typename GV , typename RF >
Traits::RangeFieldType GenericEllipticProblem< GV, RF >::o ( const typename Traits::IntersectionType is,
const typename Traits::IntersectionDomainType xlocal 
) const
inline

outflow boundary condition

◆ permeabilityIsConstantPerCell() [1/4]

template<typename GV , typename RF >
static constexpr bool GenericEllipticProblem< GV, RF >::permeabilityIsConstantPerCell ( )
inlinestaticconstexpr

tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.

Examples
recipe-geometry-grid.cc, recipe-linear-system-assembly.cc, recipe-linear-system-solution-istl.cc, and recipe-linear-system-solution-pdelab.cc.

◆ permeabilityIsConstantPerCell() [2/4]

template<typename GV , typename RF >
static constexpr bool GenericEllipticProblem< GV, RF >::permeabilityIsConstantPerCell ( )
inlinestaticconstexpr

tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.

◆ permeabilityIsConstantPerCell() [3/4]

template<typename GV , typename RF >
static constexpr bool GenericEllipticProblem< GV, RF >::permeabilityIsConstantPerCell ( )
inlinestaticconstexpr

tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.

◆ permeabilityIsConstantPerCell() [4/4]

template<typename GV , typename RF >
static constexpr bool GenericEllipticProblem< GV, RF >::permeabilityIsConstantPerCell ( )
inlinestaticconstexpr

tensor diffusion constant per cell? return false if you want more than one evaluation of A per cell.


The documentation for this class was generated from the following files: