PointToFieldFunction

class PointToFieldFunction(*args)

Function mapping a point into a field.

Available constructors:

PointToFieldFunction(spatialDim=0)

PointToFieldFunction(spatialDim, inputDim, outputDim)

PointToFieldFunction(OTpythonFunc)

PointToFieldFunction(inputDim, outputDim)

PointToFieldFunction(**)

Parameters:
spatialDim : int, \geq 1

Dimension n of the domain \cD

inputDim : int, \geq 1

Dimension d of the input field values

outputDim : int, \geq 1

Dimension d' of the output vector

OTpythonFunc : OpenTURNSPythonFieldToPointFunction

The implementation of the function.

Notes

Point to field functions act on points to produce fields:

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

with \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 two first constructors build an object which evaluation operator is not defined (it throws a NotYetImplementedException). The instanciation of such an object is used to extract an actual PointToFieldFunction from a Study.

Examples

>>> import openturns as ot

Use the class OpenTURNSPythonPointToFieldFunction to create a function that acts a vector \vect{v} of dimension d=2 and returns a field defined by:

  • the mesh that discretizes [0, 1] into 10 regular intervalls of length 0.1 (n=1)
  • the value associated to the vertex number i is \vect{v}'_i = i*\vect{v} (d'=2)

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

>>> class FUNC(ot.OpenTURNSPythonPointToFieldFunction):
...     def __init__(self):
...         super(FUNC, self).__init__(2, 2)
...         self.setInputDescription(['R', 'S'])
...         self.setOutputDescription(['T', 'U'])
...         self.mesh_ = ot.RegularGrid(0.0, 0.1, 11)
...     def _exec(self, X):
...         size = self.mesh_.getVerticesNumber()
...         values = [ot.Point(X)*i for i in range(size)]
...         Y = ot.Field(self.mesh_, values)
...         return Y
>>> F = FUNC()

Create the associated PointToFieldFunction:

>>> myFunc = ot.PointToFieldFunction(F)

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

>>> def myPyFunc(X):
...     mesh = ot.RegularGrid(0.0, 0.1, 11)
...     size = 11
...     values = [ot.Point(X)*i for i in range(size)]
...     Y = ot.Field(mesh, values)
...     return Y
>>> inputDim = 2
>>> outputDim = 2
>>> spatialDim = 1
>>> myFunc = ot.PythonPointToFieldFunction(inputDim, outputDim, spatialDim, myPyFunc)

Evaluation the function on a vector:

>>> Yfield = myFunc([1.1, 2.2])

Methods

getCallsNumber() Get the number of calls of the function.
getClassName() Accessor to the object’s name.
getId() Accessor to the object’s id.
getImplementation(*args) Accessor to the underlying implementation.
getInputDescription() Get the description of the input vector.
getInputDimension() Get the dimension of the input vector.
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 output mesh.
setInputDescription(inputDescription) Set the description of the input vector.
setName(name) Accessor to the object’s name.
setOutputDescription(outputDescription) Set the description of the output field values.
__call__  
__init__(*args)

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

getCallsNumber()

Get the number of calls of the function.

Returns:
callsNumber : int

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

getClassName()

Accessor to the object’s name.

Returns:
class_name : str

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

getId()

Accessor to the object’s id.

Returns:
id : int

Internal unique identifier.

getImplementation(*args)

Accessor to the underlying implementation.

Returns:
impl : Implementation

The implementation class.

getInputDescription()

Get the description of the input vector.

Returns:
inputDescription : Description

Description of the input vector.

getInputDimension()

Get the dimension of the input vector.

Returns:
d : int

Dimension d of the input vector.

getMarginal(*args)

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

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

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

Returns:
function : PointToFieldFunction

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

getName()

Accessor to the object’s name.

Returns:
name : str

The name of the object.

getOutputDescription()

Get the description of the output field values.

Returns:
outputDescription : Description

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 output mesh.

Returns:
outputMesh : Mesh

The mesh \cM_{N'} of the output field.

setInputDescription(inputDescription)

Set the description of the input vector.

Parameters:
inputDescription : sequence of str

Description of the input vector.

setName(name)

Accessor to the object’s name.

Parameters:
name : str

The name of the object.

setOutputDescription(outputDescription)

Set the description of the output field values.

Parameters:
outputDescription : sequence of str

Description of the output field values.