dune-pdelab 2.7-git
Loading...
Searching...
No Matches
inverse.hh
Go to the documentation of this file.
1// -*- tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=8 sw=2 sts=2:
3#ifndef DUNE_PDELAB_FUNCTION_INVERSE_HH
4#define DUNE_PDELAB_FUNCTION_INVERSE_HH
5
7
8namespace Dune {
9 namespace PDELab {
10
12
15 template<typename GF>
17 : public GridFunctionBase<typename GF::Traits,
18 InverseGridFunctionAdapter<GF> >
19 {
20 static_assert(GF::Traits::dimRange == 1, "Dimension of range must "
21 "be 1 to take the inverse");
22
23 typedef typename GF::Traits T;
25 Base;
26 typedef typename T::RangeFieldType RF;
27
28 GF& gf;
29
30 public:
31 typedef typename Base::Traits Traits;
32
34 : gf(gf_)
35 { }
36
37 void evaluate(const typename Traits::ElementType &e,
38 const typename Traits::DomainType &x,
39 typename Traits::RangeType &y) const {
40 gf.evaluate(e,x,y);
41 y = 1/y;
42 }
43
44 const typename Traits::GridViewType& getGridView() const {
45 return gf.getGridView();
46 }
47
48 template<typename Time>
49 void setTime(Time time) { gf.setTime(time); }
50 };
51
52 } // namspace PDELab
53} // namspace Dune
54
55#endif // DUNE_PDELAB_FUNCTION_INVERSE_HH
For backward compatibility – Do not use this!
Definition adaptivity.hh:28
T Traits
Export type traits.
Definition function.hh:193
leaf of a function tree
Definition function.hh:302
Take inverse of a GridFunction.
Definition inverse.hh:19
const Traits::GridViewType & getGridView() const
Definition inverse.hh:44
InverseGridFunctionAdapter(GF &gf_)
Definition inverse.hh:33
void setTime(Time time)
Definition inverse.hh:49
void evaluate(const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
Definition inverse.hh:37
Base::Traits Traits
Definition inverse.hh:31