# Get the number of calls
print("called ", myFunc.getCallsNumber(), " times")

# 2-d mesh
n = 5
indices = [n, n]
intervalMesher = ot.IntervalMesher(indices)
interval = ot.Interval([0.0] * 2, [1.0] * 2)
mesh2D = intervalMesher.build(interval)


def f2Pfunc(X):
    Y = ot.Sample(X).computeMean()
    return Y


field2PFunction = ot.PythonFieldToPointFunction(mesh2D, 1, 1, f2Pfunc)
fieldFunction = ot.ValueFunction(ot.SymbolicFunction(["x", "y"], ["3x"]),
                                 mesh2D)
myFunc = ot.FieldToPointConnection(field2PFunction, fieldFunction)
print("myFunc=", myFunc)
# Get the input and output description
print("myFunc input description=", myFunc.getInputDescription())
print("myFunc output description=", myFunc.getOutputDescription())
# Get the input and output dimension
print("myFunc input dimension=", myFunc.getInputDimension())
print("myFunc output dimension=", myFunc.getOutputDimension())
field = ot.Field(mesh2D, ot.Normal(2).getSample(mesh2D.getVerticesNumber()))
print("myFunc(field)=", myFunc(field))
print("called ", myFunc.getCallsNumber(), " times")
Esempio n. 2
0
simplicies.append([1, 2, 3, 6])
simplicies.append([1, 2, 4, 6])
simplicies.append([1, 3, 5, 6])
simplicies.append([1, 4, 5, 6])
mesh3D = ot.Mesh(vertices, simplicies)


def myPyFunc(X):
    Y = ot.Sample(X).computeMean()
    return Y


in_dim = 3
out_dim = 3

myFunc = ot.PythonFieldToPointFunction(mesh3D, in_dim, out_dim, myPyFunc)
print('myFunc=', myFunc)

values = ot.Normal(mesh3D.getDimension()).getSample(mesh3D.getVerticesNumber())
# Evaluation over a single field
X = ot.Field(mesh3D, values)
print('X=', X)
Y = myFunc(X.getValues())
print('Y=', Y)
print('myFunc input dimension=', myFunc.getInputDimension())
print('myFunc output dimension=', myFunc.getOutputDimension())
print('myFunc input dimension=', myFunc.getInputMesh().getDimension())
print('called ', myFunc.getCallsNumber(), ' times')
# Evaluation over a process sample
X = ot.ProcessSample(5, X)
print('X=', X)
print(myFunc(X))

print(myFunc(Xsample))


def myPyFunc(X):
    Y = X.getValues().computeMean()
    return Y


in_dim = 3
out_dim = 3
spatial_dim = 3

myFunc = ot.PythonFieldToPointFunction(in_dim, out_dim, spatial_dim, myPyFunc)
print('myFunc=', myFunc)

vertices = []
vertices.append([0.0, 0.0, 0.0])
vertices.append([0.0, 0.0, 1.0])
vertices.append([0.0, 1.0, 0.0])
vertices.append([0.0, 1.0, 1.0])
vertices.append([1.0, 0.0, 0.0])
vertices.append([1.0, 0.0, 1.0])
vertices.append([1.0, 1.0, 0.0])
vertices.append([1.0, 1.0, 1.0])
simplicies = []
simplicies.append([0, 1, 2, 4])
simplicies.append([3, 5, 6, 7])
simplicies.append([1, 2, 3, 6])