4 #ifndef DUNE_PDELAB_VTKEXPORT_HH 5 #define DUNE_PDELAB_VTKEXPORT_HH 11 #include <dune/common/shared_ptr.hh> 13 #include<dune/grid/io/file/vtk/vtkwriter.hh> 23 :
public Dune::VTKFunction<typename T::Traits::GridViewType>
25 typedef typename T::Traits::GridViewType::Grid::ctype DF;
26 enum {n=T::Traits::GridViewType::dimension};
27 typedef typename T::Traits::GridViewType::Grid::template Codim<0>::Entity Entity;
48 const std::vector<std::size_t> &remap_ =
50 : t(stackobject_to_shared_ptr(t_)), s(s_), remap(remap_)
68 const std::vector<std::size_t> &remap_ =
70 : t(t_), s(s_), remap(remap_)
78 virtual double evaluate (
int comp,
const Entity&
e,
const Dune::FieldVector<DF,n>& xi)
const 80 typename T::Traits::DomainType x;
81 typename T::Traits::RangeType y;
83 for (
int i=0; i<n; i++)
86 return y[remap[comp]];
89 virtual std::string
name ()
const 95 std::shared_ptr<const T> t;
97 std::vector<std::size_t> remap;
119 (
const std::shared_ptr<GF> &gf,
const std::string &
name,
120 const std::vector<std::size_t> &remap =
122 {
return std::make_shared<VTKGridFunctionAdapter<GF> >(gf,
name, remap); }
143 (
const GF &gf,
const std::string &name,
144 const std::vector<std::size_t> &remap =
146 {
return std::make_shared<VTKGridFunctionAdapter<GF> >(stackobject_to_shared_ptr(gf),
name, remap); }
165 (
const std::shared_ptr<const GF> &gf,
const std::string &name,
166 const std::vector<std::size_t> &remap =
168 {
return std::make_shared<VTKGridFunctionAdapter<GF> >(gf,
name, remap); }
174 template<
typename G,
typename FEM>
176 :
public Dune::VTKFunction<G>
178 typedef typename G::ctype DF;
179 enum {n=G::dimension};
180 typedef typename G::template Codim<0>::Entity Entity;
192 virtual double evaluate (
int comp,
const Entity&
e,
const Dune::FieldVector<DF,n>& xi)
const 194 return fem.getOrder(e);
197 virtual std::string
name ()
const virtual double evaluate(int comp, const Entity &e, const Dune::FieldVector< DF, n > &xi) const
Definition: vtkexport.hh:192
Definition: vtkexport.hh:175
Definition: adaptivity.hh:27
virtual int ncomps() const
Definition: vtkexport.hh:73
virtual double evaluate(int comp, const Entity &e, const Dune::FieldVector< DF, n > &xi) const
Definition: vtkexport.hh:78
const Entity & e
Definition: localfunctionspace.hh:111
std::vector< T > rangeVector(T begin, T passed_the_end, T increment=1)
Generate a vector with a range of numbers.
Definition: range.hh:22
VTKGridFunctionAdapter(const T &t_, std::string s_, const std::vector< std::size_t > &remap_=rangeVector(std::size_t(T::Traits::dimRange)))
construct a VTKGridFunctionAdapter
Definition: vtkexport.hh:47
virtual std::string name() const
Definition: vtkexport.hh:197
std::shared_ptr< VTKGridFunctionAdapter< GF > > makeVTKGridFunctionAdapter(const std::shared_ptr< GF > &gf, const std::string &name, const std::vector< std::size_t > &remap=rangeVector(std::size_t(GF::Traits::dimRange)))
construct a VTKGridFunctionAdapter
Definition: vtkexport.hh:119
VTKGridFunctionAdapter(const std::shared_ptr< const T > &t_, std::string s_, const std::vector< std::size_t > &remap_=rangeVector(std::size_t(T::Traits::dimRange)))
construct a VTKGridFunctionAdapter
Definition: vtkexport.hh:67
VTKFiniteElementMapAdapter(const FEM &fem_, std::string s_)
Definition: vtkexport.hh:183
virtual std::string name() const
Definition: vtkexport.hh:89
const std::string s
Definition: function.hh:1102
wrap a GridFunction so it can be used with the VTKWriter from dune-grid.
Definition: vtkexport.hh:22
virtual int ncomps() const
Definition: vtkexport.hh:187