Field

(Source code, png, hires.png, pdf)

../../_images/Field.png
class Field(*args)

Base class for Fields.

Available constructors:

Field(mesh, dim)

Field(mesh, values)

Parameters
meshMesh

Each vertice of the mesh is in \cD a domain of \Rset^n.

dimint

Dimension d of the values.

values2-d sequence of float of dimension d

The values associated to the vertices of the mesh. The size of values is equal to the number of vertices in the associated mesh. So we must have the equality between values.getSize() and mesh.getVerticesNumber().

Notes

A field F is an association between vertices and values:

F = (\vect{t}_i, \vect{v}_i)_{1 \leq i \leq N}

where the (\vect{t}_i)_{1 \leq i \leq N} are the vertices of a mesh of the domain \cD and (\vect{v}_i)_{1 \leq i \leq N} are the associated values.

Mathematically speaking, F is an element \cM_N \times (\Rset^d)^N where N is the number of vertices of the mesh \cM_N of the domain \cD \subset \Rset^n.

Examples

Create a field:

>>> import openturns as ot
>>> myVertices = [[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [1.5, 1.0], [2.0, 1.5], [0.5, 1.5]]
>>> mySimplicies = [[0,1,2], [1,2,3], [2,3,4], [2,4,5], [0,2,5]]
>>> myMesh = ot.Mesh(myVertices, mySimplicies)
>>> myValues = [[2.0],[2.5],[4.0], [4.5], [6.0], [7.0]]
>>> myField = ot.Field(myMesh, myValues)

Draw the field:

>>> myGraph = myField.draw()

Methods

asDeformedMesh(self, \*args)

Get the mesh deformed according to the values of the field.

draw(self)

Draw the first marginal of the field if the input dimension is less than 2.

drawMarginal(self[, index, interpolate])

Draw one marginal field if the input dimension is less than 2.

exportToVTKFile(self, fileName)

Create the VTK format file of the field.

getClassName(self)

Accessor to the object’s name.

getDescription(self)

Get the description of the field values.

getId(self)

Accessor to the object’s id.

getImplementation(self, \*args)

Accessor to the underlying implementation.

getInputDimension(self)

Get the dimension of the domain \cD.

getInputMean(self)

Get the input weighted mean of the values of the field.

getMarginal(self, \*args)

Marginal accessor.

getMesh(self)

Get the mesh on which the field is defined.

getName(self)

Accessor to the object’s name.

getOutputDimension(self)

Get the dimension d of the values.

getSize(self)

Get the number of values inside the field.

getTimeGrid(self)

Get the mesh as a time grid if it is 1D and regular.

getValueAtIndex(self, index)

Get the value of the field at the vertex of the given index.

getValues(self)

Get the values of the field.

setDescription(self, description)

Set the description of the vertices and values of the field.

setName(self, name)

Accessor to the object’s name.

setValueAtIndex(self, index, val)

Assign the value of the field to the vertex at the given index.

setValues(self, values)

Assign values to a field.

__init__(self, *args)

Initialize self. See help(type(self)) for accurate signature.

asDeformedMesh(self, *args)

Get the mesh deformed according to the values of the field.

Parameters
verticesPaddingsequence of int

The positions at which the coordinates of vertices are set to zero when extending the vertices dimension. By default the sequence is empty.

valuesPaddingsequence of int

The positions at which the components of values are set to zero when extending the values dimension. By default the sequence is empty.

Returns
deformedMeshMesh

The initial mesh is deformed as follows: each vertex of the mesh is translated by the value of the field at this vertex. Only works when the input dimension n: is equal to the dimension of the field d after extension.

draw(self)

Draw the first marginal of the field if the input dimension is less than 2.

Returns
graphGraph

Calls drawMarginal(0, False).

See also

drawMarginal
drawMarginal(self, index=0, interpolate=True)

Draw one marginal field if the input dimension is less than 2.

Parameters
indexint

The selected marginal.

interpolatebool

Indicates whether the values at the vertices are linearly interpolated.

Returns
graphGraph
  • If the dimension of the mesh is n=1 and interpolate=True: it draws the graph of the piecewise linear function based on the selected marginal values of the field and the vertices coordinates (in \Rset).

  • If the dimension of the mesh is n=1 and interpolate=False: it draws the cloud of points which coordinates are (vertex, value of the marginal index).

  • If the dimension of the mesh is n=2 and interpolate=True: it draws several iso-values curves of the selected marginal, based on a piecewise linear interpolation within the simplices (triangles) of the mesh. You get an empty graph if the vertices are not connected through simplicies.

  • If the dimension of the mesh is n=2 and interpolate=False: if the vertices are connected through simplicies, each simplex is drawn with a color defined by the mean of the values of the vertices of the simplex. In the other case, it draws each vertex colored by its value.

exportToVTKFile(self, fileName)

Create the VTK format file of the field.

Parameters
myVTKFilestr

Name of the output file. No extension is append to the filename.

Notes

Creates the VTK format file that contains the mesh and the associated values that can be visualised with the open source software Paraview .

getClassName(self)

Accessor to the object’s name.

Returns
class_namestr

The object class name (object.__class__.__name__).

getDescription(self)

Get the description of the field values.

Returns
descriptionDescription

Description of the vertices and values of the field, size n+d.

getId(self)

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

getImplementation(self, *args)

Accessor to the underlying implementation.

Returns
implImplementation

The implementation class.

getInputDimension(self)

Get the dimension of the domain \cD.

Returns
nint

Dimension of the domain \cD: n.

getInputMean(self)

Get the input weighted mean of the values of the field.

Returns
inputMeanPoint

Weighted mean of the values of the field, weighted by the volume of each simplex.

Notes

The input mean of the field is defined by:

\displaystyle \frac{1}{V} \sum_{S_i \in \cM} \left( \frac{1}{n+1}\sum_{k=0}^{n} \vect{v}_{i_k}\right) |S_i|

where S_i is the simplex of index i of the mesh, |S_i| its volume and (\vect{v}_{i_0}, \dots, \vect{v}_{i_n}) the values of the field associated to the vertices of S_i, and \displaystyle V=\sum_{S_i \in \cD} |S_i|.

getMarginal(self, *args)

Marginal accessor.

Parameters
iint or sequence of int

Index of the marginal.

Returns
valueField.

Marginal field.

getMesh(self)

Get the mesh on which the field is defined.

Returns
meshMesh

Mesh over which the domain \cD is discretized.

getName(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

getOutputDimension(self)

Get the dimension d of the values.

Returns
dint

Dimension of the field values: d.

getSize(self)

Get the number of values inside the field.

Returns
sizeint

Number N of vertices in the mesh.

getTimeGrid(self)

Get the mesh as a time grid if it is 1D and regular.

Returns
timeGridRegularGrid

Mesh of the field when it can be interpreted as a RegularGrid. We check if the vertices of the mesh are scalar and are regularly spaced in \Rset but we don’t check if the connectivity of the mesh is conform to the one of a regular grid (without any hole and composed of ordered instants).

getValueAtIndex(self, index)

Get the value of the field at the vertex of the given index.

Parameters
indexint

Vertex of the mesh of index index.

Returns
valuePoint

The value of the field associated to the selected vertex, in \Rset^d.

getValues(self)

Get the values of the field.

Returns
valuesSample

Values associated to the mesh. The size of the sample is the number of vertices of the mesh and the dimension is the dimension of the values (d). Identical to getSample().

setDescription(self, description)

Set the description of the vertices and values of the field.

Parameters
myDescriptionDescription

Description of the field values. Must be of size n+d and give the description of the vertices and the values.

setName(self, name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

setValueAtIndex(self, index, val)

Assign the value of the field to the vertex at the given index.

Parameters
indexint

Index that characterizes one vertex of the mesh.

valuePoint in \Rset^d.

New value assigned to the selected vertex.

setValues(self, values)

Assign values to a field.

Parameters
values2-d sequence of float

Values assigned to the mesh. The size of the values is the number of vertices of the mesh and the dimension is d.