iofem.h
Go to the documentation of this file.
# ifndef _RHEO_IOFEM_H
# define _RHEO_IOFEM_H
/*Class:iofem
NAME: @code{iofem} - input and output finite element manipulators
@clindex iofem
DESCRIPTION:
@noindent
This class implements some specific finite element manipulators.
For a general presentation of stream manipulators, reports
to class @code{iostream}.
VALUATED MANIPULATORS:
@table @code
@cindex origin
@cindex normal
@findex origin
@findex normal
@itemx origin
@itemx normal
set a cutting plane for visualizations and post-processing.
@example
cout << cut << origin(point(0.5, 0.5, 0.5)) << normal(point(1,1,0) << uh;
@end example
@cindex topography
@findex topography
@itemx topography
specifies the topography field when representing a bidimensionnal
field in tridimensionnal elevation.
@example
cout << topography(zh) << uh;
@end example
This manipulator takes an agument that specifies a scalar field value
@code{zh} for the elevation, while @code{uh} is the scalar field
to represent. Then, the z-elevation takes zh(x,y)+uh(x,y).
@end table
AUTHOR:
Pierre.Saramito@imag.fr
DATE: 4 february 1997
End: */
#include "rheolef/iorheobase.h"
#include "rheolef/field.h"
namespace rheolef {
class iofem {
public:
// ------------------------------------------------------
// options associated to a value
// ------------------------------------------------------
#define o_scalar(t, a) iorheobase_def_scalar_macro (iofem,t, a)
o_scalar (field_sequential, topography)
o_scalar (point, origin)
o_scalar (point, normal)
o_scalar (point_basic<size_t>, resolution)
# undef o_scalar
// ------------------------------------------------------
// 3) flags access
// ------------------------------------------------------
public:
// basics members
iofem();
~iofem();
static long flags (std::ios& s);
static long flags (std::ios& s, long f);
static long setf (std::ios& s, long add_f);
static long setf (std::ios& s, long add_f, long field);
static long unsetf (std::ios& s, long del_f);
protected:
// ------------------------------------------------------
// memory handler
// ------------------------------------------------------
protected:
// local memory handler
static iofem* get_pointer (std::ios& s);
};
#define o_scalar(t, a) iorheobase_manip_scalar_macro (iofem,t, a, o)
o_scalar (field_sequential, topography)
o_scalar (point, origin)
o_scalar (point, normal)
o_scalar (point_basic<size_t>, resolution)
# undef o_scalar
}// namespace rheolef
# endif /* _RHEO_IOFEM_H */
field
see the field page for the full documentation
point
see the point page for the full documentation
rheolef::iofem
Definition: iofem.h:67
rheolef::iofem::~iofem
~iofem()
Definition: iofem.cc:52
rheolef::iofem::get_pointer
static iofem * get_pointer(std::ios &s)
Definition: iofem.cc:66
rheolef::iofem::o_scalar
o_scalar(field_sequential, topography) o_scalar(point
rheolef::iofem::unsetf
static long unsetf(std::ios &s, long del_f)
rheolef::iofem::setf
static long setf(std::ios &s, long add_f, long field)
rheolef::iofem::flags
static long flags(std::ios &s)
rheolef::iofem::setf
static long setf(std::ios &s, long add_f)
rheolef::iofem::flags
static long flags(std::ios &s, long f)
rheolef::iofem::iofem
iofem()
Definition: iofem.cc:44
rheolef::point_basic
Definition: point.h:87
rheolef::field_sequential
field_basic< Float, sequential > field_sequential
Definition: field.h:421
rheolef
This file is part of Rheolef.
Definition: compiler_eigen.h:37
rheolef::o_scalar
o_scalar(field_sequential, topography) o_scalar(point
rheolef::normal
details::field_expr_v2_nonlinear_terminal_function< details::normal_pseudo_function< Float > > normal()
normal: see the expression page for the full documentation
Definition: field_expr_terminal.h:439
f
Definition: cavity_dg.h:29