4 #ifndef DUNE_GRID_IO_FILE_VTK_FUNCTION_HH
5 #define DUNE_GRID_IO_FILE_VTK_FUNCTION_HH
9 #include <dune/common/exceptions.hh>
10 #include <dune/common/fvector.hh>
12 #include <dune/geometry/type.hh>
13 #include <dune/geometry/referenceelements.hh>
36 template<
class Gr
idView >
42 typedef typename GridView::template Codim< 0 >::Entity
Entity;
46 virtual int ncomps ()
const = 0;
57 const Dune::FieldVector<ctype,dim>& xi)
const = 0;
60 virtual std::string
name ()
const = 0;
86 template<
typename GV,
typename V>
120 const Dune::FieldVector<ctype,dim>& xi)
const
122 return v[mapper.
map(e)*ncomps_+mycomp_];
126 virtual std::string
name ()
const
149 int ncomps=1,
int mycomp=0 )
156 if (v.size()!=(
unsigned int)(mapper.
size()*ncomps_))
157 DUNE_THROW(IOError,
"P0VTKFunction: size mismatch");
189 template<
typename GV,
typename V>
223 const Dune::FieldVector<ctype,dim>& xi)
const
228 for (
int i=0; i<e.template count<dim>(); ++i)
230 Dune::FieldVector<ctype,dim> local =
231 Dune::ReferenceElements<ctype,dim>::general(gt)
234 if (local.infinity_norm()<
min)
236 min = local.infinity_norm();
240 return v[mapper.
map(e,imin,
dim)*ncomps_+mycomp_];
244 virtual std::string
name ()
const
267 int ncomps=1,
int mycomp=0 )
274 if (v.size()!=(
unsigned int)(mapper.
size()*ncomps_))
275 DUNE_THROW(IOError,
"P1VTKFunction: size mismatch");
286 #endif // DUNE_GRID_IO_FILE_VTK_FUNCTION_HH
virtual int ncomps() const =0
virtual ~VTKFunction()
virtual destructor
Definition: function.hh:63
Definition: function.hh:41
Base::Entity Entity
Definition: function.hh:108
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:178
The dimension of the grid.
Definition: common/gridview.hh:120
Grid::ctype ctype
type used for coordinates in grid
Definition: common/gridview.hh:117
virtual std::string name() const
get name
Definition: function.hh:244
A base class for grid functions with any return type and dimension.
Definition: function.hh:37
Take a vector and interpret it as cell data for the VTKWriter.
Definition: function.hh:87
virtual ~P1VTKFunction()
destructor
Definition: function.hh:279
int size() const
Return total number of entities in the entity set managed by the mapper.
Definition: mcmgmapper.hh:181
virtual double evaluate(int comp, const Entity &e, const Dune::FieldVector< ctype, dim > &xi) const
evaluate
Definition: function.hh:222
GridView::ctype ctype
Definition: function.hh:40
virtual ~P0VTKFunction()
destructor
Definition: function.hh:161
Base::ctype ctype
Definition: function.hh:109
virtual std::string name() const =0
get name
Mapper for multiple codim and multiple geometry types.
GridView::template Codim< 0 >::Entity Entity
Definition: function.hh:42
virtual double evaluate(int comp, const Entity &e, const Dune::FieldVector< ctype, dim > &xi) const
evaluate
Definition: function.hh:119
virtual std::string name() const
get name
Definition: function.hh:126
virtual double evaluate(int comp, const Entity &e, const Dune::FieldVector< ctype, dim > &xi) const =0
evaluate single component comp in the entity e at local coordinates xi
virtual int ncomps() const
return number of components
Definition: function.hh:216
virtual int ncomps() const
return number of components
Definition: function.hh:113
int map(const EntityType &e) const
Map entity to array index.
Definition: mcmgmapper.hh:153
Base::Entity Entity
Definition: function.hh:211
P1VTKFunction(const GV &gv, const V &v_, const std::string &s_, int ncomps=1, int mycomp=0)
construct from a vector and a name
Definition: function.hh:266
P0VTKFunction(const GV &gv, const V &v_, const std::string &s_, int ncomps=1, int mycomp=0)
construct from a vector and a name
Definition: function.hh:148
int min(const DofVectorPointer< int > &dofVector)
Definition: dofvector.hh:352
Base::ctype ctype
Definition: function.hh:212
Take a vector and interpret it as point data for the VTKWriter.
Definition: function.hh:190