Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
iofem.h
Go to the documentation of this file.
1# ifndef _RHEO_IOFEM_H
2# define _RHEO_IOFEM_H
23
24/*Class:iofem
25NAME: @code{iofem} - input and output finite element manipulators
26@clindex iofem
27DESCRIPTION:
28 @noindent
29 This class implements some specific finite element manipulators.
30 For a general presentation of stream manipulators, reports
31 to class @code{iostream}.
32
33VALUATED MANIPULATORS:
34 @table @code
35@cindex origin
36@cindex normal
37@findex origin
38@findex normal
39 @itemx origin
40 @itemx normal
41 set a cutting plane for visualizations and post-processing.
42 @example
43 cout << cut << origin(point(0.5, 0.5, 0.5)) << normal(point(1,1,0) << uh;
44 @end example
45@cindex topography
46@findex topography
47 @itemx topography
48 specifies the topography field when representing a bidimensionnal
49 field in tridimensionnal elevation.
50 @example
51 cout << topography(zh) << uh;
52 @end example
53 This manipulator takes an agument that specifies a scalar field value
54 @code{zh} for the elevation, while @code{uh} is the scalar field
55 to represent. Then, the z-elevation takes zh(x,y)+uh(x,y).
56 @end table
57
58AUTHOR:
59 Pierre.Saramito@imag.fr
60DATE: 4 february 1997
61End: */
62
63#include "rheolef/iorheobase.h"
64#include "rheolef/field.h"
65namespace rheolef {
66
67class iofem {
68public:
69 // ------------------------------------------------------
70 // options associated to a value
71 // ------------------------------------------------------
72#define o_scalar(t, a) iorheobase_def_scalar_macro (iofem,t, a)
73 o_scalar (field_sequential, topography)
74 o_scalar (point, origin)
76 o_scalar (point_basic<size_t>, resolution)
77# undef o_scalar
78
79 // ------------------------------------------------------
80 // 3) flags access
81 // ------------------------------------------------------
82public:
83 // basics members
84 iofem();
85 ~iofem();
86
87 static long flags (std::ios& s);
88 static long flags (std::ios& s, long f);
89 static long setf (std::ios& s, long add_f);
90 static long setf (std::ios& s, long add_f, long field);
91 static long unsetf (std::ios& s, long del_f);
92
93protected:
94 // ------------------------------------------------------
95 // memory handler
96 // ------------------------------------------------------
97protected:
98 // local memory handler
99 static iofem* get_pointer (std::ios& s);
100};
101#define o_scalar(t, a) iorheobase_manip_scalar_macro (iofem,t, a, o)
102 o_scalar (field_sequential, topography)
103 o_scalar (point, origin)
105 o_scalar (point_basic<size_t>, resolution)
106# undef o_scalar
107}// namespace rheolef
108# endif /* _RHEO_IOFEM_H */
see the field page for the full documentation
see the point page for the full documentation
static iofem * get_pointer(std::ios &s)
Definition iofem.cc:66
o_scalar(field_sequential, topography) o_scalar(point
static long unsetf(std::ios &s, long del_f)
static long setf(std::ios &s, long add_f, long field)
static long flags(std::ios &s)
static long setf(std::ios &s, long add_f)
static long flags(std::ios &s, long f)
#define o_scalar(t, a)
Definition iorheo.cc:54
This file is part of Rheolef.
details::field_expr_v2_nonlinear_terminal_function< details::normal_pseudo_function< Float > > normal()
normal: see the expression page for the full documentation
Definition cavity_dg.h:29