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"
46 gmsh << setprecision(numeric_limits<T>::digits10);
47 check_macro (uh.
get_space().get_basis().name() ==
"P1",
48 "gmsh: unsupported " << uh.
get_space().get_basis().name() <<
" approximation");
49 check_macro (uh.
get_geo().order() == 1,
50 "gmsh: unsupported geo order > 1");
79 gmsh <<
"View \"" <<
name <<
"\" {" << endl;
96 for (
size_type iloc = 0, nloc = K.
size(); iloc < nloc; iloc++) {
98 for (
size_type i_comp = 0; i_comp < 3; i_comp++) {
100 if (i_comp != 2)
gmsh <<
",";
102 if (iloc != nloc-1)
gmsh <<
",";
105 for (
size_type iloc = 0, nloc = K.
size(); iloc < nloc; iloc++) {
107 if (iloc != nloc-1)
gmsh <<
",";
109 gmsh <<
"};" << endl;
125 for (
size_type i_comp = 0; i_comp <
d; i_comp++) {
126 for (
size_type j_comp = 0; j_comp <
d; j_comp++) {
127 uh_comp[i_comp][j_comp].
proxy_assign(uh(i_comp,j_comp));
130 #define HAVE_ID_DEFAULT_TENSOR
131 #ifdef HAVE_ID_DEFAULT_TENSOR
138 for (
size_type iloc = 0, nloc = K.
size(); iloc < nloc; iloc++) {
140 for (
size_type i_comp = 0; i_comp < 3; i_comp++) {
142 if (i_comp != 2)
gmsh <<
",";
144 if (iloc != nloc-1)
gmsh <<
",";
147 for (
size_type iloc = 0, nloc = K.
size(); iloc < nloc; iloc++) {
150 for (
size_type i_comp = 0; i_comp <
d; i_comp++) {
151 for (
size_type j_comp = 0; j_comp <
d; j_comp++) {
152 value(i_comp,j_comp) = uh_comp [i_comp][j_comp].
dof (inod);
154 for (
size_type i_comp = 0; i_comp < 3; i_comp++) {
155 for (
size_type j_comp = 0; j_comp < 3; j_comp++) {
157 if (i_comp != 2 || j_comp != 2 || iloc != nloc-1)
gmsh <<
",";
160 gmsh <<
"};" << endl;
164 default:
error_macro (
"put_gmsh: do not known how to print " << uh.
valued() <<
"-valued field");
166 gmsh <<
"};" << endl;
static const variant_type e
static const variant_type H
const space_type & get_space() const
static const variant_type T
see the geo_element page for the full documentation
variant_type variant() const
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
const node_type & node(size_type inod) const
This file is part of Rheolef.
field_component_const< T, M > & proxy_assign(const field_component_const< T, M > &uh_comp)
#define error_macro(message)
const T & dof(size_type idof) const
odiststream: see the diststream page for the full documentation
size_type size(size_type dim) const
static const variant_type max_variant
const std::string & valued() const
static const variant_type p
static const variant_type q
static const variant_type P
static const variant_type t
field::size_type size_type
odiststream & field_put_gmsh_pos(odiststream &, const field_basic< T, sequential > &)
template odiststream & field_put_gmsh_pos< Float >(odiststream &, const field_basic< Float, sequential > &, std::string)