---
name: "iorheo"
section: "8rheolef"
platform: "linux"
package: "librheolef-dev"
version: "7.0-2+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/iorheo"
---

# iorheo(8rheolef)

input and output functions and manipulation

## NAME

**iorheo** - input and output functions and manipulation

## SMALL PIECES OF CODE

input geo in standard file format:

```
        cin >> g;

```

output geo in standard file format:

```
        cout << g;

```

output geo in gnuplot format:

```
        cout << gnuplot << g;

```

## DESCRIPTION

output manipulators enable the selection of some pretty graphic options, in an elegant fashion.

## BOOLEAN MANIPULATORS

The boolean manipulators set an internal optional flag. Each option has its negative counterpart, as **verbose** and **noverbose**, by adding the **no** prefix.

```
        cout << noverbose << a;

```

- **verbose**

  trace some details, such as loading, storing or unix command operations on **cerr**. Default is on.

- **clean**

  delete temporary files during graphic outputs. Default is on.

- **execute**

  run unix operations, such as **gnuplot** or **plotmtv** or **vtk**. Note that the corresponding files are created. Default is on.

- **transpose**

  perform transposition when loading/soring a **csr** matrix from Harwell-Boeing file. This feature is available, since the file format store matrix in transposed format. Default is off.

- **logscale**

  when using matrix sparse postscript plot manipulator **ps** and **color**. The color scale is related to a logarithmic scale.

- **fill**

  - **grid**

  - **shrink**

  - **tube**

  - **ball**

  - **full**

  - **stereo**

  - **cut**

  - **iso**

  - **split**

  when using the **vtk** or **mayavi** manipulators for a mesh or a field.

- **volume**

  volume rendering by using ray cast functions.

- **velocity**

  - **deformation**

  Vector-valued fields are rendered by using arrows (**velocity**) or deformed meshes (**deformation**). For **vtk** or **plotmtv** rendering.

- **elevation**

  Scalar valued fields in two dimension are rendered by using a tridimensionnal surface elevation. For **vtk** or **plotmtv** rendering.

- **fastfieldload**

  try to reuse the supplied space. Default is on.

## FILE FORMAT MANIPULATORS

The *format* manipulator group applies for streams. Its value is an enumerated type, containing the following possibilities:

- **rheo**

  use the default textual input/output file format. For instance, this is \`**.geo'** for meshes, \`**.field'** for discretized functions. This default format is specified in the corresponding class documentation (see also geo(2) and field(2)). This is the default.

- **bamg**

  uses \`**.bamg'** Frederic Hecht's bidimensional anisotropic mesh generator file format for geo input/output operation.

- **tetgen**

  uses \`**.node'** \`**.ele'** and **.face** Hang Si's tridimensional mesh generator file format for geo input/output operation.

- **mmg3d**

  uses \`**.mmg3d'** Cecile Dobrzynski's tridimensional anisotropic mesh generator file format for geo input/output operation.

- **gmsh**

  uses \`**.gmsh'** gmsh Christophe Geuzaine and Jean-Francois Remacle mesh generator file format for geo input/output operation.

- **gmsh\_pos**

  uses \`**.gmsh\_pos'** gmsh Christophe Geuzaine and Jean-Francois Remacle mesh metric file format for geo adapt input/output operation.

- **grummp**

  uses \`**.m'** (bidimensional) or \`**.v'** (tridimensionnal) Carl Ollivier-Gooch 's mesh generator file format for geo input/output operation.

- **qmg**

  uses \`**.qmg'** Stephen A. Vavasis's mesh generator file format for geo input/output operation.

- **vtkdata**

  uses \`**.vtk'** mesh file format for geo input/output operations. This file format is suitable for graphic treatment.

- **vtkpolydata**

  uses \`**.vtk'** polydata (specific for polygonal boundaries) mesh file format for geo input/output operations. This file format is suitable for graphic treatment.

- **cemagref**

  uses \`**.cemagref'** surface mesh (topography, with a **z** cote). This file format is used at Cemagref (french research center for mountains, **http://www.cemagref.fr**).

- **dump**

  output an extensive listing of the class data structure. This option is used for debugging purpose.

- **hb**

  uses \`**.hb'** Harwell-Boeing file format for sparse matrix input/output operation. This is the default.

- **matrix\_market**

  uses \`**.mm'** Matrix-Market file format for sparse matrix input/output operation.

- **ml**

  - **matlab**

  uses \`**.m'** Matlab file format for sparse matrix output operation.

- **sparse\_matlab**

  uses \`**.m'** Matlab sparse file format for sparse matrix output operation.

- **ps**

  uses \`**.ps'** postscript for sparse matrix output operation.

- **vtk**

  for mesh and field outputs. Generate \`**.vtk'** data file and the \`**.tcl'** command script file and run the **vtk** command on the \`**.tcl'**.

- **mayavi**

  for field outputs. Generate \`**.vtk'** data file and the \`**.py'** command script file and run the **python** command on the \`**.py'** associated to the **mayavi**/**vtk** library.

- **geomview**

  for boundary cad outputs. Generate \`**.off'** data file and run the **geomview** command.

- **gnuplot**

  for mesh and field outputs. Generate \`**.gdat'** data file and the \`**.plot'** command script file and run the **gnuplot** command on the \`**.plot'**.

- **plotmtv**

  for mesh and field outputs. Generate \`**.mtv'** data file and run the **plotmtv** command.

- **x3d**

  for mesh output. Generate \`**.x3d'** data file and run the **x3d** command. This tool has fast rotation rendering.

- **atom**

  for mesh output. Generate \`**.atom'** data file and run the **PlotM** command. Tridimensional mesh rendering is performed as a chemical molecule: nodes as balls and edges as tubes. The **PlotM** tool is developed at Cornell University Laboratory of Atomic and Solid State Physics (LASSP) in a Joint Study with IBM, with support by the Materials Science Center and Corning Glassworks.

## COLOR MANIPULATORS

The *color* manipulator group acts for sparse matrix postscript output. Its value is an enumerated type, containing three possibilities:

```
        cout << color << a;
        cout << gray  << b;
        cout << black_and_white  << c;

```

The default is to generate a color postcript file. Conversely, its act for field rendering, via **mayavi**.

## VALUATED MANIPULATORS

Some manipulators takes an argument that specifies a value.

```
        cout << geomview << bezieradapt << subdivide(5) << my_cad_boundary;
        cout << vtk << iso << isovalue(2.5) << my_mesh;
        cout << velocity << plotmtv << vectorscale(0.1) << uh;

```

See also catchmark(4) for input-output of vector-valued fields.

- **isovalue *float***

  - **n\_isovalue *int***

  - **n\_isovalue\_negative *int***

  - **vectorscale *float***

  - **subdivide *float***

  - **rounding\_precision *float***

  This manipulator set a rounding precision that could be used by some output functions, e.g. by the **geo** class. By default, the rounding value is zero and there is no rounding.

- **image\_format *string***

  The argument is any valid image format, such as **png**, **jpg** or **pdf**, that could be handled by the corresponding graphic render.

## SEE ALSO

geo(2), field(2), catchmark(4)

## COPYRIGHT

Copyright (C) 2000-2018 Pierre Saramito \<Pierre.Saramito@imag.fr\> GPLv3+: GNU GPL version 3 or later \<http://gnu.org/licenses/gpl.html\>. This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
