1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
class=ModelEvaluation name=analysis1 physicalModel=PhysicalModel_1 inputValues=[[100],[55],[80],[16]]
result= [field 0:
[ t z z2 ]
0 : [ 0 100 200 ]
1 : [ 0.631579 130.756 261.511 ]
2 : [ 1.26316 154.186 308.372 ]
3 : [ 1.89474 171.16 342.319 ]
4 : [ 2.52632 182.443 364.886 ]
5 : [ 3.15789 188.712 377.423 ]
6 : [ 3.78947 190.56 381.12 ]
7 : [ 4.42105 188.513 377.026 ]
8 : [ 5.05263 183.033 366.066 ]
9 : [ 5.68421 174.527 349.055 ]
10 : [ 6.31579 163.355 326.71 ]
11 : [ 6.94737 149.832 299.664 ]
12 : [ 7.57895 134.238 268.475 ]
13 : [ 8.21053 116.818 233.636 ]
14 : [ 8.84211 97.789 195.578 ]
15 : [ 9.47368 77.3421 154.684 ]
16 : [ 10.1053 55.6454 111.291 ]
17 : [ 10.7368 32.8473 65.6947 ]
18 : [ 11.3684 9.07844 18.1569 ]
19 : [ 12 0 0 ]]
class=ModelEvaluation name=analysis2 physicalModel=PhysicalModel_1 inputValues=[[100],[55],[81],[17]]
result= [field 0:
[ t z2 ]
0 : [ 0 200 ]
1 : [ 0.631579 261.32 ]
2 : [ 1.26316 307.698 ]
3 : [ 1.89474 340.989 ]
4 : [ 2.52632 362.817 ]
5 : [ 3.15789 374.606 ]
6 : [ 3.78947 377.601 ]
7 : [ 4.42105 372.895 ]
8 : [ 5.05263 361.443 ]
9 : [ 5.68421 344.083 ]
10 : [ 6.31579 321.549 ]
11 : [ 6.94737 294.482 ]
12 : [ 7.57895 263.446 ]
13 : [ 8.21053 228.933 ]
14 : [ 8.84211 191.375 ]
15 : [ 9.47368 151.149 ]
16 : [ 10.1053 108.588 ]
17 : [ 10.7368 63.9806 ]
18 : [ 11.3684 17.5813 ]
19 : [ 12 0 ]]
#!/usr/bin/env python
import openturns as ot
import persalys
Study_0 = persalys.Study('Study_0')
persalys.Study.Add(Study_0)
t = persalys.Variable('t', 0, '')
meshModel = persalys.GridMeshModel([t], ot.Interval([0], [12]), [20])
z0 = persalys.Input('z0', 100, '')
v0 = persalys.Input('v0', 55, '')
m = persalys.Input('m', 80, '')
c = persalys.Input('c', 16, '')
z = persalys.Output('z', '')
z2 = persalys.Output('z2', 'fake output')
inputs = [z0, v0, m, c]
outputs = [z, z2]
code = 'from math import exp\n\ndef _exec(z0,v0,m,c):\n g = 9.81\n zmin = 0.\n tau = m / c\n vinf = -m * g / c\n\n # mesh nodes\n t = getMesh().getVertices()\n\n z = [max(z0 + vinf * t_i[0] + tau * (v0 - vinf) * (1 - exp(-t_i[0] / tau)), zmin) for t_i in t]\n z2 = [2*max(z0 + vinf * t_i[0] + tau * (v0 - vinf) * (1 - exp(-t_i[0] / tau)), zmin) for t_i in t]\n\n return z, z2'
PhysicalModel_1 = persalys.PythonFieldModel('PhysicalModel_1', meshModel, inputs, outputs, code)
Study_0.add(PhysicalModel_1)
values = [100, 55, 80, 16]
analysis1 = persalys.FieldModelEvaluation('analysis1', PhysicalModel_1, values)
Study_0.add(analysis1)
values = [100, 55, 81, 17]
analysis2 = persalys.FieldModelEvaluation('analysis2', PhysicalModel_1, values)
interestVariables = ['z2']
analysis2.setInterestVariables(interestVariables)
Study_0.add(analysis2)
|