dune-pdelab  2.4.1
diffusionparam.hh
Go to the documentation of this file.
1 #ifndef DUNE_PDELAB_DIFFUSIONPARAM_HH
2 #define DUNE_PDELAB_DIFFUSIONPARAM_HH
3 #warning This file is deprecated and will be removed after the Dune-PDELab 2.4 release, use convectiondiffusionparameter.hh and the implementation therein instead!
4 
5 #include <iostream>
6 #include <dune/common/deprecated.hh>
7 
9 
10 namespace Dune {
11  namespace PDELab {
15 
20  enum Type {
22  Neumann = 0,
25  };
26 
28  static bool isDirichlet (Type i)
29  {
30  return (i == Dirichlet);
31  }
33  static bool isNeumann (Type i)
34  {
35  return (i == Neumann);
36  }
37  };
38 
42  template<typename K, typename A0, typename F, typename B, typename G, typename J>
43  class DUNE_DEPRECATED_MSG("Deprecated in Dune-PDELab 2.4, use the parameter class ConvectionDiffusionModelProblem instead!") ConvectionDiffusion_Diffusion_Adapter
44  {
45  typedef typename F::Traits::RangeFieldType RF;
46  typedef typename F::Traits::GridViewType GV;
47 
49 
50  public:
52 
54  DUNE_DEPRECATED_MSG("Deprecated in Dune-PDELab 2.4, use the parameter class ConvectionDiffusionModelProblem instead!")
55  ConvectionDiffusion_Diffusion_Adapter (const K& k_, const A0& a0_, const F& f_, const B& b_, const G& g_, const J& j_) :
56  k__(k_), a0__(a0_), f__(f_), b__(b_), g__(g_), j__(j_)
57  {}
58 
60  typename Traits::PermTensorType
61  A (const typename Traits::ElementType& e, const typename Traits::DomainType& x) const
62  {
63  typename K::Traits::RangeType tensor(0.0);
64  k__.evaluate(e,x,tensor);
65  return tensor;
66  }
67 
69  typename Traits::RangeType
70  b (const typename Traits::ElementType& e, const typename Traits::DomainType& x) const
71  {
72  typename Traits::RangeType v(0.0);
73  return v;
74  }
75 
77  typename Traits::RangeFieldType
78  c (const typename Traits::ElementType& e, const typename Traits::DomainType& x) const
79  {
80  typename A0::Traits::RangeType y;
81  a0__.evaluate(e,x,y);
82  return y;
83  }
84 
86  typename Traits::RangeFieldType
87  f (const typename Traits::ElementType& e, const typename Traits::DomainType& x) const
88  {
89  typename F::Traits::RangeType y;
90  f__.evaluate(e,x,y);
91  return y;
92  }
93 
95  BCType
96  bctype (const typename Traits::IntersectionType& is, const typename Traits::IntersectionDomainType& x) const
97  {
98  typename B::Traits::RangeType bctype;
102  }
103 
105  typename Traits::RangeFieldType
106  g (const typename Traits::ElementType& e, const typename Traits::DomainType& x) const
107  {
108  typename G::Traits::RangeType y;
109  g__.evaluate(e,x,y);
110  return y;
111  }
112 
114  typename Traits::RangeFieldType
115  j (const typename Traits::IntersectionType& is, const typename Traits::IntersectionDomainType& x) const
116  {
117  typename J::Traits::RangeType y;
118  j__.evaluate(*(is.inside()),is.geometryInInside().global(x),y);
119  return y;
120  }
121 
123  typename Traits::RangeFieldType
124  o (const typename Traits::IntersectionType& is, const typename Traits::IntersectionDomainType& x) const
125  {
126  return 0.0;
127  }
128 
129  private:
130  const K& k__;
131  const A0& a0__;
132  const F& f__;
133  const B& b__;
134  const G& g__;
135  const J& j__;
136  };
138  }
139 }
140 
141 #endif // DUNE_PDELAB_DIFFUSIONPARAM_HH
Traits::RangeFieldType g(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
Dirichlet boundary condition value.
Definition: diffusionparam.hh:106
Traits::PermTensorType A(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
tensor diffusion coefficient
Definition: diffusionparam.hh:61
static bool isNeumann(Type i)
Test for Neumann boundary condition.
Definition: diffusionparam.hh:33
Definition: adaptivity.hh:27
Dune::FieldVector< RF, GV::dimensionworld > RangeType
range type
Definition: convectiondiffusion.hh:65
Traits::RangeFieldType c(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
sink term
Definition: diffusionparam.hh:78
traits class for two phase parameter class
Definition: convectiondiffusion.hh:41
Definition: convectiondiffusionparameter.hh:65
Parameter class for solving the linear convection-diffusion equation.
Definition: convectiondiffusionparameter.hh:85
Type
Definition: convectiondiffusionparameter.hh:65
static bool isDirichlet(Type i)
Test for Dirichlet boundary condition.
Definition: diffusionparam.hh:28
GV::Traits::template Codim< 0 >::Entity ElementType
grid types
Definition: convectiondiffusion.hh:71
Traits::RangeFieldType j(const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &x) const
Neumann boundary condition.
Definition: diffusionparam.hh:115
const Entity & e
Definition: localfunctionspace.hh:111
Definition: convectiondiffusionparameter.hh:65
BCType bctype(const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &x) const
boundary condition type function
Definition: diffusionparam.hh:96
Group types and methods to specify the boundary condition of a diffusion problem. ...
Definition: diffusionparam.hh:18
RF RangeFieldType
Export type for range field.
Definition: convectiondiffusion.hh:62
GV::Intersection IntersectionType
Definition: convectiondiffusion.hh:72
Wrap intersection.
Definition: geometrywrapper.hh:56
ConvectionDiffusionParameterTraits< GV, RF > Traits
Definition: diffusionparam.hh:51
Type
Enum for the Boundary condition type of a diffusion problem.
Definition: diffusionparam.hh:20
Traits::RangeFieldType o(const typename Traits::IntersectionType &is, const typename Traits::IntersectionDomainType &x) const
outflow boundary condition
Definition: diffusionparam.hh:124
Dune::FieldVector< DomainFieldType, dimDomain > DomainType
domain type
Definition: convectiondiffusion.hh:56
Neumann boundary condition (prescribed flux)
Definition: diffusionparam.hh:22
Dirichlet boundary condition (prescribed value)
Definition: diffusionparam.hh:24
Traits::RangeType b(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
velocity field
Definition: diffusionparam.hh:70
Dune::FieldMatrix< RangeFieldType, dimDomain, dimDomain > PermTensorType
permeability tensor type
Definition: convectiondiffusion.hh:68
Dune::FieldVector< DomainFieldType, dimDomain-1 > IntersectionDomainType
domain type
Definition: convectiondiffusion.hh:59
Traits::RangeFieldType f(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
source term
Definition: diffusionparam.hh:87
Adapter to get ConvectionDiffusion parameter object from the old style separate parameter grid functi...
Definition: diffusionparam.hh:43