FieldFunction

class FieldFunction(*args)

Function mapping a field to a field.

Parameters:
inputMeshMesh

The input mesh

inputDimint, \geq 1

Dimension d of the values of the input field

outputMeshMesh

The output mesh

outputDimint, \geq 1

Dimension d' of the values of the output field

Notes

Field functions act on fields to produce fields:

f: \left| \begin{array}{rcl}
            \cM_N \times (\Rset^d)^N & \rightarrow & \cM_{N'} \times (\Rset^{d'})^{N'} \\
            F & \mapsto & F'
          \end{array} \right.

with \cM_N a mesh of \cD \subset \Rset^n, \cM_{N'} a mesh of \cD' \subset \Rset^{n'}.

A field is represented by a collection (\vect{t}_i, \vect{v}_i)_{1 \leq i \leq N} of elements of \cM_N \times (\Rset^d)^N where \vect{t}_i is a vertex of \cM_N and \vect{v}_i the associated value in \Rset^d.

The constructor builds an object which evaluation operator is not defined (it throws a NotYetImplementedException). The instanciation of such an object is used to extract an actual FieldFunction from a Study.

Examples

>>> import openturns as ot

Using the class OpenTURNSPythonFieldFunction allows one to define a persistent state between the evaluations of the function.

>>> class FUNC(ot.OpenTURNSPythonFieldFunction):
...     def __init__(self):
...         # first argument:
...         mesh = ot.RegularGrid(0.0, 0.1, 11)
...         super(FUNC, self).__init__(mesh, 2, mesh, 2)
...         self.setInputDescription(['R', 'S'])
...         self.setOutputDescription(['T', 'U'])
...     def _exec(self, X):
...         Xs = ot.Sample(X)
...         Y = Xs * ([2.0]*Xs.getDimension())
...         return Y
>>> F = FUNC()

Create the associated FieldFunction:

>>> myFunc = ot.FieldFunction(F)

It is also possible to create a FieldFunction from a python function as follows:

>>> mesh = ot.RegularGrid(0.0, 0.1, 11)
>>> def myPyFunc(X):
...     Xs = ot.Sample(X)
...     values = Xs * ([2.0]*Xs.getDimension())
...     return values
>>> inputDim = 2
>>> outputDim = 2
>>> myFunc = ot.PythonFieldFunction(mesh, inputDim, mesh, outputDim, myPyFunc)

Evaluate the function on a field:

>>> X = ot.Field(mesh, ot.Normal(2).getSample(11))
>>> Y = myFunc(X)

Methods

__call__(*args)

Call self as a function.

getCallsNumber()

Get the number of calls of the function.

getClassName()

Accessor to the object's name.

getId()

Accessor to the object's id.

getImplementation()

Accessor to the underlying implementation.

getInputDescription()

Get the description of the input field values.

getInputDimension()

Get the dimension of the input field values.

getInputMesh()

Get the mesh associated to the input domain.

getMarginal(*args)

Get the marginal(s) at given indice(s).

getName()

Accessor to the object's name.

getOutputDescription()

Get the description of the output field values.

getOutputDimension()

Get the dimension of the output field values.

getOutputMesh()

Get the mesh associated to the output domain.

isActingPointwise()

Whether the function acts point-wise.

setInputMesh(inputMesh)

Set the mesh associated to the input domain.

setName(name)

Accessor to the object's name.

setOutputMesh(outputMesh)

Set the mesh associated to the output domain.

__init__(*args)
getCallsNumber()

Get the number of calls of the function.

Returns:
callsNumberint

Counts the number of times the function has been called since its creation.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

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

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getImplementation()

Accessor to the underlying implementation.

Returns:
implImplementation

A copy of the underlying implementation object.

getInputDescription()

Get the description of the input field values.

Returns:
inputDescriptionDescription

Description of the input field values.

getInputDimension()

Get the dimension of the input field values.

Returns:
dint

Dimension d of the input field values.

getInputMesh()

Get the mesh associated to the input domain.

Returns:
inputMeshMesh

The input mesh \cM_{N'}.

getMarginal(*args)

Get the marginal(s) at given indice(s).

Parameters:
iint or list of ints, 0 \leq i < d'

Indice(s) of the marginal(s) to be extracted.

Returns:
fieldFunctionFieldFunction

The initial function restricted to the concerned marginal(s) at the indice(s) i.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getOutputDescription()

Get the description of the output field values.

Returns:
outputDescriptionDescription

Description of the output field values.

getOutputDimension()

Get the dimension of the output field values.

Returns:
d’int

Dimension d' of the output field values.

getOutputMesh()

Get the mesh associated to the output domain.

Returns:
outputMeshMesh

The output mesh \cM_{N'}.

isActingPointwise()

Whether the function acts point-wise.

Returns:
pointWisebool

Returns true if the function evaluation at each vertex depends only on the vertex or the value at the vertex.

setInputMesh(inputMesh)

Set the mesh associated to the input domain.

Parameters:
inputMeshMesh

The input mesh \cM_{N'}.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setOutputMesh(outputMesh)

Set the mesh associated to the output domain.

Parameters:
outputMeshMesh

The output mesh \cM_{N'}.

Examples using the class

Metamodel of a field function

Metamodel of a field function