an efficient C++ finite element environment
|
|
Go to the documentation of this file.
28 #include "rheolef/field.h"
29 #include "rheolef/piola_util.h"
30 #include "rheolef/rheostream.h"
31 #include "rheolef/iorheo.h"
32 #include "rheolef/field_evaluate.h"
33 #include "rheolef/space_component.h"
34 #include "rheolef/field_expr.h"
42 geo_put_gmsh (odiststream& ods,
const geo_basic<T,sequential>&);
52 gmsh << setprecision(numeric_limits<T>::digits10);
58 default:
error_macro (
"put_gmsh: do not known how to print " << uh.
valued() <<
"-valued field");
64 gmsh <<
"$NodeData" << endl
66 <<
"\"" <<
name <<
"\"" << endl
71 << n_gmsh_comp << endl
72 << uh.
get_geo().n_node() << endl;
78 gmsh << idof+1 <<
" " << uh.
dof(idof) << endl;
87 std::vector<field_component_const<T,sequential> > uh_comp (n_comp);
88 for (
size_type i_comp = 0; i_comp < n_comp; i_comp++) {
89 uh_comp[i_comp].proxy_assign (uh[i_comp]);
91 std::vector<T> u_dof (n_comp);
94 for (
size_type i_comp = 0; i_comp < n_comp; i_comp++) {
95 gmsh <<
" " << uh_comp[i_comp].dof (idof);
97 for (
size_type i_comp = n_comp; i_comp < 3; i_comp++) {
112 gmsh << t00.
dof(idof) <<
" 0 0 "
123 gmsh << t00.
dof(idof) <<
" " << t01.
dof(idof) <<
" 0 "
124 << t01.
dof(idof) <<
" " << t11.
dof(idof) <<
" 0 "
137 gmsh << t00.
dof(idof) <<
" " << t01.
dof(idof) <<
" " << t02.
dof(idof) <<
" "
138 << t01.
dof(idof) <<
" " << t11.
dof(idof) <<
" " << t12.
dof(idof) <<
" "
139 << t02.
dof(idof) <<
" " << t12.
dof(idof) <<
" " << t22.
dof(idof) << endl;
146 default:
error_macro (
"put_gmsh: do not known how to print " << uh.
valued() <<
"-valued field");
148 gmsh <<
"$EndNodeData" << endl;
149 }
else if (uh.
get_space().degree() == 0) {
153 gmsh <<
"$ElementData" << endl
155 <<
"\"" <<
name <<
"\"" << endl
160 << n_gmsh_comp << endl
161 << uh.
get_geo().size() << endl;
167 gmsh << idof+1 <<
" " << uh.
dof(idof) << endl;
171 default:
error_macro (
"put_gmsh: do not known how to print " << uh.
valued() <<
"-valued field");
173 gmsh <<
"$EndElementData" << endl;
179 gmsh <<
"$ElementNodeData" << endl
181 <<
"\"" <<
name <<
"\"" << endl
186 << n_gmsh_comp << endl
187 << uh.
get_geo().size() << endl;
194 std::vector<size_type> idof;
198 gmsh << ie+1 <<
" " << idof.size();
199 for (
size_type loc_idof = 0; loc_idof < idof.size(); loc_idof++) {
200 gmsh <<
" " << uh.
dof(idof[loc_idof]);
206 default:
error_macro (
"put_gmsh: do not known how to print " << uh.
valued() <<
"-valued field");
208 gmsh <<
"$EndElementNodeData" << endl;
size_type ndof(const basis_basic< T > &b, const geo_size &gs, size_type map_dim)
const space_type & get_space() const
see the geo_element page for the full documentation
odiststream & geo_put_gmsh(odiststream &ods, const geo_basic< T, sequential > &)
const geo_type & get_geo() const
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin color format format format format format format gmsh
template odiststream & field_put_gmsh< Float >(odiststream &, const field_basic< Float, sequential > &, std::string)
This file is part of Rheolef.
#define error_macro(message)
odiststream: see the diststream page for the full documentation
size_type size(size_type dim) const
void dis_idof(const geo_element &K, std::vector< size_type > &dis_idof) const
const std::string & valued() const
odiststream & field_put_gmsh(odiststream &, const field_basic< T, sequential > &, std::string)
field::size_type size_type