Rheolef  7.1
an efficient C++ finite element environment
field_seq_visu_gnuplot_internal.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_SEQ_FIELD_VISU_GNUPLOT_INTERNAL_H
2 #define _RHEOLEF_SEQ_FIELD_VISU_GNUPLOT_INTERNAL_H
23 //
24 // gnuplot geo visualisation
25 //
26 // author: Pierre.Saramito@imag.fr
27 //
28 // date: 16 sept 2011
29 //
30 #include "rheolef/field.h"
31 #include "rheolef/fem_on_pointset.h"
32 
33 namespace rheolef {
34 
35 template <class T>
36 odiststream& visu_gnuplot (odiststream& ops, const geo_basic<T,sequential>& omega);
37 
38 // ----------------------------------------------------------------------------
39 // bounds: for curved geometries, need to commpute it on the fly
40 // ----------------------------------------------------------------------------
41 template <class T>
42 struct bound_type {
43 // data:
46 // cstor:
47  bound_type() : xmin(), xmax(), umin(), umax() {}
48 // modifier:
49  void update (const point_basic<T>& x, const T& u) {
50  for (size_t i = 0; i < 3; i++) {
51  xmin[i] = std::min(xmin[i], x[i]);
52  xmax[i] = std::max(xmax[i], x[i]);
53  }
54  umin = std::min(umin, u);
55  umax = std::max(umax, u);
56  }
57 };
58 template<class T>
59 void
60 put (
61  std::ostream& gdat,
62  const geo_basic<T,sequential>& omega,
63  const geo_element& K,
64  const field_basic<T,sequential>& uh,
65  const fem_on_pointset<T>& fops,
66  size_t my_order,
67  bound_type<T>& bbox);
68 
69 } // namespace rheolef
70 #endif // _RHEOLEF_SEQ_FIELD_VISU_GNUPLOT_INTERNAL_H
Expr1::float_type T
Definition: field_expr.h:261
This file is part of Rheolef.
void put(std::ostream &out, std::string name, const tiny_matrix< T > &a)
Definition: tiny_lu.h:155
odiststream & visu_gnuplot(odiststream &, const field_basic< T, sequential > &)
void update(const point_basic< T > &x, const T &u)
Definition: leveque.h:25