field.cc
Go to the documentation of this file.
//
// This file is part of Rheolef.
//
// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
//
// Rheolef is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// Rheolef is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Rheolef; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// =========================================================================
// The field unix command
// author: Pierre.Saramito@imag.fr
// last change: 11 oct 2011. initial version: 7 july 1997
namespace rheolef {
} // namespace rheolef
# include "rheolef.h"
# include "rheolef/iofem.h"
using namespace rheolef;
using namespace std;
void usage() {
cerr << "field: usage:" << endl
<< "field "
<< "{-|file[.field[.gz]]}"
<< "[-Idir|-I dir] "
<< "[-min|-max|-get-geo] "
<< "[-name string] "
<< "[-[catch]mark string] "
<< "[-comp string] "
<< "[-domain string] "
<< "[-round [float]] "
<< "[-proj [string]] "
<< "[-lumped-proj] "
<< "[-paraview|-gnuplot] "
<< "[-field|-text|-gmsh|-gmsh-pos|-bamg-bb] "
<< "[-[no]clean] [-[no]execute] [-[no]verbose] "
<< "[-color|-gray|-black-and-white|-bw] "
<< "[-[no]elevation] "
<< "[-[no]volume] "
<< "[-[no]fill] "
<< "[-[no]showlabel] "
<< "[-label string] "
<< "[-[no]stereo] "
<< "[-[no]cut] "
<< "[-normal x [y [z]]] "
<< "[-origin x [y [z]]] "
<< "[-scale float] "
<< "[-iso[value] float|-noiso[value]] "
<< "[-n-iso int] "
<< "[-n-iso-negative int] "
<< "[-velocity|-deformation] "
<< "[-image-format string] "
<< "[-resolution int [int]] "
<< "[-subdivide int] "
<< endl;
exit (1);
}
// extern:
namespace rheolef {
template <class T> geo_basic<T,sequential> paraview_extract_isosurface (
const field_basic<T,sequential>& uh);
template <class T> field_basic<T,sequential> paraview_plane_cut (
const field_basic<T,sequential>& uh,
const point_basic<T>& origin,
const point_basic<T>& normal);
} // namespace rheolef
typedef enum {
no_render,
gnuplot_render,
paraview_render,
plotmtv_render,
vtk_render,
atom_render,
x3d_render,
file_render
} render_type;
typedef enum {
deformation_style,
velocity_style,
undef_vector_style
} vector_style_type;
typedef enum {
show_none,
show_min,
show_max,
show_geo,
} show_type;
int main(int argc, char**argv) {
//environment_option_type eopt;
//eopt.thread_level = environment_option_type::no_thread;
//environment rheolef (argc, argv, eopt);
environment rheolef (argc, argv);
check_macro (communicator().size() == 1, "field: command may be used as mono-process only");
// ----------------------------
// default options
// ----------------------------
string filename = "";
string name = "output";
dout.os() << setbasename(name);
string format = "";
dout.os() << verbose; bool bverbose = true;
std::string mark = "";
render_type render = no_render;
vector_style_type vector_style = deformation_style;
field_basic<Float,sequential> uh;
bool def_fill_opt = false;
bool do_iso3d = false;
std::string i_comp_name = "";
bool do_proj = false;
string use_proj_approx = "";
bool do_lumped_mass = false;
bool do_cut = false;
bool do_round = false;
std::string reduce_to_domain = "";
Float round_prec = sqrt(std::numeric_limits<Float>::epsilon());
show_type show = show_none;
dout.os() << showlabel;
std::string label;
// this normal is not so bad for the dirichlet.cc demo on the cube:
cout << setnormal(point(-0.015940197423022637, -0.9771157601293953, -0.21211011624358989));
cout << setorigin(point(std::numeric_limits<Float>::max()));
// ----------------------------
// scan the command line
// ----------------------------
for (int i = 1; i < argc; i++) {
// general options:
if (strcmp (argv[i], "-clean") == 0) dout.os() << clean;
else if (strcmp (argv[i], "-noclean") == 0) dout.os() << noclean;
else if (strcmp (argv[i], "-execute") == 0) dout.os() << execute;
else if (strcmp (argv[i], "-noexecute") == 0) dout.os() << noexecute;
else if (strcmp (argv[i], "-verbose") == 0) { bverbose = true; dout.os() << verbose; }
else if (strcmp (argv[i], "-noverbose") == 0) { bverbose = false; dout.os() << noverbose; }
else if (strcmp (argv[i], "-I") == 0) {
if (i+1 == argc) { cerr << "geo -I: option argument missing" << endl; usage(); }
append_dir_to_rheo_path (argv[++i]);
}
else if (argv [i][0] == '-' && argv [i][1] == 'I') { append_dir_to_rheo_path (argv[i]+2); }
// output file option:
else if (strcmp (argv[i], "-field") == 0) { dout.os() << rheo; render = file_render; }
else if (strcmp (argv[i], "-text") == 0) { dout.os() << rheo; render = file_render; }
else if (strcmp (argv[i], "-gmsh") == 0) { dout.os() << gmsh; render = file_render; }
else if (strcmp (argv[i], "-gmsh-pos") == 0) { dout.os() << gmsh_pos; render = file_render; }
else if (strcmp (argv[i], "-bamg-bb") == 0) { dout.os() << bamg; render = file_render; }
else if (strcmp (argv[i], "-name") == 0) {
if (i+1 == argc) { std::cerr << "field -name: option argument missing" << std::endl; usage(); }
name = argv[++i];
}
else if (strcmp (argv[i], "-label") == 0) {
if (i+1 == argc) { std::cerr << "field -label: option argument missing" << std::endl; usage(); }
label = argv[++i];
dout.os() << setlabel(label);
}
// render spec:
else if (strcmp (argv[i], "-gnuplot") == 0) { dout.os() << gnuplot; render = gnuplot_render; }
else if (strcmp (argv[i], "-paraview") == 0) { dout.os() << paraview; render = paraview_render; }
// filter
else if (strcmp (argv[i], "-proj") == 0) {
do_proj = true;
if (i+1 < argc && argv[i+1][0] != '-') {
use_proj_approx = argv[++i];
}
}
else if (strcmp (argv[i], "-lumped-proj") == 0) {
do_proj = true;
do_lumped_mass = true;
use_proj_approx = "P1";
}
// inquire option
else if (strcmp (argv[i], "-min") == 0) { show = show_min; }
else if (strcmp (argv[i], "-max") == 0) { show = show_max; }
else if (strcmp (argv[i], "-get-geo") == 0) { show = show_geo; }
// render options:
else if (strcmp (argv[i], "-velocity") == 0) { dout.os() << velocity; vector_style = velocity_style; }
else if (strcmp (argv[i], "-deformation") == 0) { dout.os() << deformation; vector_style = deformation_style; }
else if (strcmp (argv[i], "-fill") == 0) { dout.os() << fill; def_fill_opt = true; }
else if (strcmp (argv[i], "-nofill") == 0) { dout.os() << nofill; def_fill_opt = false; }
else if (strcmp (argv[i], "-elevation") == 0) { dout.os() << elevation; }
else if (strcmp (argv[i], "-noelevation") == 0) { dout.os() << noelevation; }
else if (strcmp (argv[i], "-color") == 0) { dout.os() << color; }
else if (strcmp (argv[i], "-gray") == 0) { dout.os() << gray; }
else if (strcmp (argv[i], "-black-and-white") == 0) { dout.os() << black_and_white; }
else if (strcmp (argv[i], "-bw") == 0) { dout.os() << black_and_white; }
else if (strcmp (argv[i], "-showlabel") == 0) { dout.os() << showlabel; }
else if (strcmp (argv[i], "-noshowlabel") == 0) { dout.os() << noshowlabel; }
else if (strcmp (argv[i], "-stereo") == 0) { dout.os() << stereo;
if (render != paraview_render) {
dout.os() << paraview;
render = paraview_render;
}
}
else if (strcmp (argv[i], "-nostereo") == 0) { dout.os() << nostereo; }
else if (strcmp (argv[i], "-volume") == 0) { dout.os() << paraview << volume;
render = paraview_render; }
else if (strcmp (argv[i], "-novolume") == 0) { dout.os() << novolume; }
else if (strcmp (argv[i], "-cut") == 0) { do_cut = true; }
else if (strcmp (argv[i], "-nocut") == 0) { do_cut = false; }
else if (strcmp (argv[i], "-noisovalue") == 0) { dout.os() << noiso; do_iso3d = false; }
else if (strcmp (argv[i], "-isovalue") == 0 || strcmp (argv[i], "-iso") == 0) {
do_iso3d = true;
dout.os() << iso;
if (i+1 < argc && is_float(argv[i+1])) {
Float iso_value = to_float (argv[++i]);
dout.os() << setisovalue(iso_value);
}
} else if (strcmp (argv[i], "-n-iso") == 0) {
if (i+1 == argc || !isdigit(argv[i+1][0])) usage();
size_t idx = atoi (argv[++i]);
dout.os() << setn_isovalue(idx);
} else if (strcmp (argv[i], "-n-iso-negative") == 0) {
if (i+1 == argc || !isdigit(argv[i+1][0])) usage();
size_t idx = atoi (argv[++i]);
dout.os() << setn_isovalue_negative(idx);
} else if (strcmp (argv[i], "-scale") == 0) {
if (i+1 == argc || !is_float(argv[i+1])) usage();
Float scale = to_float (argv[++i]);
cout << setvectorscale (scale);
} else if (strcmp (argv[i], "-image-format") == 0) {
if (i == argc-1) {
cerr << "field -image-format: option argument missing" << endl;
usage();
}
string format = argv[++i];
if (format == "jpeg") format = "jpg";
if (format == "postscript") format = "ps";
dout.os() << setimage_format(format);
}
else if (strcmp (argv[i], "-resolution") == 0) {
if (i == argc-1 || !isdigit(argv[i+1][0])) { std::cerr << "geo -resolution: option argument missing" << std::endl; usage(); }
size_t nx = atoi(argv[++i]);
size_t ny = (i < argc-1 && isdigit(argv[i+1][0])) ? atoi(argv[++i]) : nx;
dout.os() << setresolution(point_basic<size_t>(nx,ny));
}
else if (strcmp (argv[i], "-mark") == 0 || strcmp (argv[i], "-catch") == 0 || strcmp (argv[i], "-catchmark") == 0) {
if (i == argc-1) {
cerr << "field -mark: option argument missing" << endl;
usage();
}
mark = argv[++i];
}
else if (strcmp (argv[i], "-subdivide") == 0) {
if (i == argc-1) { cerr << "field -subdivide: option argument missing" << endl; usage(); }
size_t nsub = atoi(argv[++i]);
dout.os() << setsubdivide (nsub);
}
else if (strcmp (argv[i], "-comp") == 0) {
if (i+1 == argc || !isdigit(argv[i+1][0])) usage();
i_comp_name = argv[++i];
}
else if (strcmp (argv[i], "-domain") == 0) {
if (i+1 == argc) usage();
reduce_to_domain = argv[++i];
}
else if (strcmp (argv[i], "-round") == 0) {
do_round = true;
if (i+1 < argc && is_float(argv[i+1])) {
round_prec = to_float (argv[++i]);
}
}
else if ((strcmp (argv[i], "-origin") == 0) || (strcmp (argv[i], "-normal") == 0)) {
point x;
unsigned int io = i;
if (i+1 == argc || !is_float(argv[i+1])) {
warning_macro ("invalid argument to `" << argv[i] << "'");
usage();
}
x[0] = to_float (argv[++i]);
if (i+1 < argc && is_float(argv[i+1])) {
x[1] = to_float (argv[++i]);
if (i+1 < argc && is_float(argv[i+1])) {
x[2] = to_float (argv[++i]);
}
}
if (strcmp (argv[io], "-origin") == 0) {
cout << setorigin(x);
} else {
cout << setnormal(x);
}
}
// input options:
else if (strcmp (argv[i], "-") == 0) {
// field on stdin
filename = "-";
}
else if (argv[i][0] != '-') {
// input field on file
filename = argv[i];
}
else {
cerr << "field: unknown option `" << argv[i] << "'" << endl;
usage();
}
}
// ----------------------------
// field treatment
// ----------------------------
if (filename == "") {
cerr << "field: no input file specified" << endl;
usage();
} else if (filename == "-") {
// field on stdin
std::string thename;
if (name != "output") thename = name;
std::cin >> setbasename(thename);
if (mark != "") din >> catchmark(mark);
dout.os() << setbasename(name) << reader_on_stdin;
din >> uh;
} else {
idiststream ids;
ids.open (filename, "field");
check_macro(ids.good(), "\"" << filename << "[.field[.gz]]\" not found.");
if (mark != "") ids >> catchmark(mark);
ids >> uh;
std::string root_name = delete_suffix (delete_suffix(filename, "gz"), "field");
name = get_basename (root_name);
dout.os() << setbasename(name);
}
if (uh.valued_tag() == space_constant::vector) {
if (vector_style == velocity_style && render != paraview_render) {
// gnuplot does not support yet velocity style: requieres paraview
dout.os() << paraview; render = paraview_render;
}
}
if (render == no_render) {
// try to choose the best render from dimension
if (uh.get_geo().map_dimension() >= 2 ||
uh.get_geo().dimension() == 3) {
dout.os() << paraview;
} else {
dout.os() << gnuplot;
}
}
if (uh.get_geo().map_dimension() == 3) {
// default 3D is iso+cut and nofill; default 2D is nocut and fill...
if (!def_fill_opt) dout.os() << nofill;
}
if (reduce_to_domain != "") {
geo_basic<Float,sequential> dom = uh.get_geo()[reduce_to_domain];
field_basic<Float,sequential> vh;
if (uh.get_space().get_basis().is_discontinuous() && dom.map_dimension()+1 == uh.get_geo().map_dimension()) {
// brdy trace of a discontinuous field
space_basic<Float,sequential> Wh (dom, uh.get_approx());
uh.get_geo().neighbour_guard();
vh = interpolate (Wh, uh);
} else {
vh = uh[reduce_to_domain];
}
uh = vh;
if (render == file_render) {
// put field on dout: save also the cutted geo:
odiststream geo_out (uh.get_geo().name(), "geo");
geo_out << uh.get_geo();
}
}
if (do_proj && uh.get_space().get_basis().have_compact_support_inside_element()) {
const space_basic<Float,sequential>& Uh = uh.get_space();
size_t k = Uh.degree();
if (k == 0) k++;
std::string approx = (use_proj_approx == "") ? "P" + itos(k) : use_proj_approx;
space_basic<Float,sequential> Vh (uh.get_geo(), approx, uh.valued());
test_basic<Float,sequential,details::vf_tag_10> u (Uh), v (Vh);
test_basic<Float,sequential,details::vf_tag_01> vt (Vh);
integrate_option fopt;
fopt.lump = do_lumped_mass;
form_basic<Float,sequential> m, p;
switch (Uh.valued_tag()) {
case space_constant::scalar:
m = integrate(v*vt, fopt);
p = integrate(u*vt);
break;
case space_constant::vector:
m = integrate(dot(v,vt), fopt);
p = integrate(dot(u,vt));
break;
case space_constant::tensor:
case space_constant::unsymmetric_tensor:
m = integrate(ddot(v,vt), fopt);
p = integrate(ddot(u,vt));
break;
default:
error_macro ("proj: unexpected valued field: " << Uh.valued());
}
solver_basic<Float,sequential> sm (m.uu());
field_basic<Float,sequential> vh (Vh);
vh.set_u() = sm.solve((p*uh).u());
uh = vh;
}
if (i_comp_name != "") {
// compute uh component
field_basic<Float,sequential> vh;
switch (uh.valued_tag()) {
case space_constant::vector: {
size_t i_comp = atoi (i_comp_name.c_str());
vh = uh[i_comp];
break;
}
case space_constant::tensor:
case space_constant::unsymmetric_tensor: {
// string as "00" "21" "22" etc
check_macro (i_comp_name.size() == 2, "invalid component `"<<i_comp_name<<"'");
size_t i = i_comp_name[0] - '0';
size_t j = i_comp_name[1] - '0';
vh = uh(i,j);
break;
}
default: error_macro ("component: unexpected "<<uh.valued()<<"-valued field");
}
uh = vh;
}
if (do_cut) {
point origin = iofem::getorigin(cout);
point normal = iofem::getnormal(cout);
uh = paraview_plane_cut (uh, origin, normal);
if (render == file_render) {
// put field on dout: save also the cutted geo:
odiststream geo_out (uh.get_geo().name(), "geo");
geo_out << uh.get_geo();
}
}
if (do_round) {
uh = round (uh, round_prec);
}
if (show == show_min) {
cout << std::setprecision(std::numeric_limits<Float>::digits10)
<< uh.min() << endl;
return 0;
}
if (show == show_max) {
cout << std::setprecision(std::numeric_limits<Float>::digits10)
<< uh.max() << endl;
return 0;
}
if (show == show_geo) {
cout << uh.get_geo().name() << endl;
return 0;
}
if (do_iso3d && (render == file_render || render == gnuplot_render)) {
// explicitely build the isosurface: for file or gnuplot
geo_basic<Float,sequential> uh_iso_surface = paraview_extract_isosurface (uh);
dout << uh_iso_surface;
return 0;
}
// generates label:
if (label == "") {
string root_filename = iorheo::getbasename(dout.os());
label = (root_filename == "output") ? "" : root_filename;
if (mark != "") label = mark;
if (i_comp_name != "") {
label = (label == "") ? "value" : label;
label = label + "[" + i_comp_name + "]";
}
if (reduce_to_domain != "") {
label = (label == "") ? "value" : label;
label = label + "[" + reduce_to_domain + "]";
}
dout.os() << setlabel (label);
}
// final output:
dout << uh;
}
rheolef::geo_basic
generic mesh with rerefence counting
Definition: domain_indirect.h:64
vtk_render
@ vtk_render
Definition: field.cc:390
rheolef::field_basic::get_space
const space_type & get_space() const
Definition: field.h:300
show_none
@ show_none
Definition: field.cc:403
paraview
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin color format format format format format format format format format format format format format format format format format format format format format paraview
Definition: iorheo-members.h:125
rheolef::field_basic::get_approx
std::string get_approx() const
Definition: field.h:303
rheolef::delete_suffix
string delete_suffix(const string &name, const string &suffix)
delete_suffix: see the rheostream page for the full documentation
Definition: rheostream.cc:222
no_render
@ no_render
Definition: field.cc:386
warning_macro
#define warning_macro(message)
Definition: dis_macros.h:53
undef_vector_style
@ undef_vector_style
Definition: field.cc:399
mkgeo_contraction.ny
ny
Definition: mkgeo_contraction.sh:150
rheolef::point_basic
Definition: point.h:87
rheolef::catchmark
see the catchmark page for the full documentation
Definition: catchmark.h:67
rheolef::append_dir_to_rheo_path
void append_dir_to_rheo_path(const string &dir)
append_dir_to_rheo_path: see the rheostream page for the full documentation
Definition: rheostream.cc:330
rheolef::dot
rheolef::std enable_if ::type dot const Expr1 expr1, const Expr2 expr2 dot(const Expr1 &expr1, const Expr2 &expr2)
dot(x,y): see the expression page for the full documentation
Definition: vec_expr_v2.h:415
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
usage
void usage()
Definition: field.cc:338
rheolef::integrate
std::enable_if< details::is_field_expr_v2_nonlinear_arg< Expr >::value &&! is_undeterminated< Result >::value, Result >::type integrate(const geo_basic< T, M > &omega, const Expr &expr, const integrate_option &iopt, Result dummy=Result())
see the integrate page for the full documentation
Definition: integrate.h:202
rheolef::is_float
bool is_float(const string &s)
is_float: see the rheostream page for the full documentation
Definition: rheostream.cc:476
rheolef::solver_basic
Definition: solver.h:188
vector_style_type
vector_style_type
Definition: field.cc:396
rheolef::get_basename
string get_basename(const string &name)
get_basename: see the rheostream page for the full documentation
Definition: rheostream.cc:254
rheolef::space_basic
the finite element space
Definition: space.h:352
rheolef::odiststream::os
std::ostream & os()
Definition: diststream.h:236
file_render
@ file_render
Definition: field.cc:393
render_type
render_type
Definition: field.cc:385
gnuplot_render
@ gnuplot_render
Definition: field.cc:387
rheolef::integrate_option::lump
bool lump
Definition: integrate_option.h:168
rheolef.h
rheolef - reference manual
rheolef::paraview_plane_cut
field_basic< T, sequential > paraview_plane_cut(const field_basic< T, sequential > &uh, const point_basic< T > &origin, const point_basic< T > &normal)
Definition: field_seq_visu_vtk_paraview.cc:180
bamg
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin color format format bamg
Definition: iorheo-members.h:71
p
Definition: sphere.icc:25
rheolef::field_basic::get_geo
const geo_type & get_geo() const
Definition: field.h:301
rheolef::integrate_option
see the integrate_option page for the full documentation
Definition: integrate_option.h:125
rheolef::space_constant::tensor
@ tensor
Definition: space_constant.h:138
velocity_style
@ velocity_style
Definition: field.cc:398
rheolef::space_constant::scalar
@ scalar
Definition: space_constant.h:136
rheolef::geo_basic< T, sequential >
Definition: geo.h:1108
rheolef::field_basic::set_u
vec< T, M > & set_u()
Definition: field.h:312
rheolef::test_basic
Definition: test.h:207
gmsh
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
Definition: iorheo-members.h:83
rheolef::field_basic::valued_tag
valued_type valued_tag() const
Definition: field.h:304
rheolef::field_basic::min
T min() const
Definition: field.h:683
rheolef::ddot
T ddot(const tensor_basic< T > &a, const tensor_basic< T > &b)
ddot(x,y): see the expression page for the full documentation
Definition: tensor.cc:278
rheolef::interpolate
field_basic< T, M > interpolate(const space_basic< T, M > &V2h, const field_basic< T, M > &u1h)
see the interpolate page for the full documentation
Definition: interpolate.cc:233
show_geo
@ show_geo
Definition: field.cc:406
render_type
render_type
Definition: branch.cc:491
mkgeo_ball.clean
clean
Definition: mkgeo_ball.sh:335
rheolef::din
idiststream din
see the diststream page for the full documentation
Definition: diststream.h:427
rheolef::field_basic::max
T max() const
Definition: field.h:699
rheolef::field_basic
Definition: field_expr_utilities.h:38
rheolef::round
std::enable_if< details::is_field_expr_affine_homogeneous< Expr >::value,field_basic< typename Expr::scalar_type,typename Expr::memory_type >>::type round(const Expr &expr, const T2 &prec)
Definition: round.h:37
rheolef::environment
see the environment page for the full documentation
Definition: environment.h:115
rheolef::space_constant::unsymmetric_tensor
@ unsymmetric_tensor
Definition: space_constant.h:139
mkgeo_sector.m
m
Definition: mkgeo_sector.sh:118
gnuplot
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin color format format format format format format format format format format format format format format format format format format format gnuplot
Definition: iorheo-members.h:121
gray
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin gray
Definition: iorheo-members.h:62
atom_render
@ atom_render
Definition: field.cc:391
rheolef
This file is part of Rheolef.
Definition: compiler_eigen.h:37
error_macro
#define error_macro(message)
Definition: dis_macros.h:49
u
Definition: leveque.h:25
plotmtv_render
@ plotmtv_render
Definition: field.cc:389
rheolef::odiststream
odiststream: see the diststream page for the full documentation
Definition: diststream.h:126
rheolef::paraview_extract_isosurface
geo_basic< T, sequential > paraview_extract_isosurface(const field_basic< T, sequential > &uh)
Definition: field_seq_visu_vtk_paraview.cc:329
Float
see the Float page for the full documentation
rheolef::point
point_basic< Float > point
Definition: point.h:164
deformation_style
@ deformation_style
Definition: field.cc:397
point
see the point page for the full documentation
u
Float u(const point &x)
Definition: transmission_error.cc:26
rheolef::form_basic
Definition: form.h:144
mkgeo_ball.verbose
verbose
Definition: mkgeo_ball.sh:133
rheolef::field_basic::valued
const std::string & valued() const
Definition: field.h:305
rheolef::to_float
Float to_float(const string &s)
to_float: see the rheostream page for the full documentation
Definition: rheostream.cc:494
rheolef::space_constant::vector
@ vector
Definition: space_constant.h:137
x3d_render
@ x3d_render
Definition: field.cc:392
rheo
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin color rheo
Definition: iorheo-members.h:65
rheolef::dout
odiststream dout(cout)
see the diststream page for the full documentation
Definition: diststream.h:430
show_min
@ show_min
Definition: field.cc:404
epsilon
Float epsilon
Definition: transmission_error.cc:25
rheolef::itos
std::string itos(std::string::size_type i)
itos: see the rheostream page for the full documentation
show_max
@ show_max
Definition: field.cc:405
mkgeo_contraction.nx
nx
Definition: mkgeo_contraction.sh:124
show_type
show_type
Definition: field.cc:402
rheolef::std
Definition: vec_expr_v2.h:391
main
int main(int argc, char **argv)
Definition: field.cc:409
mkgeo_contraction.name
name
Definition: mkgeo_contraction.sh:133
gmsh_pos
verbose clean transpose logscale grid shrink ball stereo iso volume skipvtk deformation fastfieldload lattice reader_on_stdin color format format format format format format format gmsh_pos
Definition: iorheo-members.h:85
rheolef::solver_basic::solve
vec< T, M > solve(const vec< T, M > &b) const
Definition: solver.h:345
paraview_render
@ paraview_render
Definition: field.cc:388