File: t_Crue_std.expout

package info (click to toggle)
persalys 19.1%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 46,900 kB
  • sloc: xml: 97,263; cpp: 61,701; python: 4,109; sh: 397; makefile: 84
file content (47 lines) | stat: -rw-r--r-- 1,902 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/env python

import openturns as ot
import persalys

myStudy = persalys.Study('myStudy')
persalys.Study.Add(myStudy)
dist_Q = ot.Gumbel(0.00179211, 1013)
Q = persalys.Input('Q', 1000, dist_Q, 'Debit maximal annuel (m3/s)')
dist_Ks = ot.Normal(30, 7.5)
dist_Ks = ot.TruncatedDistribution(dist_Ks, 0)
Ks = persalys.Input('Ks', 30, dist_Ks, 'Strickler (m^(1/3)/s)')
dist_Zv = ot.Uniform(49, 51)
Zv = persalys.Input('Zv', 50, dist_Zv, 'Cote de la riviere en aval (m)')
dist_Zm = ot.Uniform(54, 56)
Zm = persalys.Input('Zm', 55, dist_Zm, 'Cote de la riviere en amont (m)')
S = persalys.Output('S', 'Surverse (m)')
inputs = [Q, Ks, Zv, Zm]
outputs = [S]
formulas = ['(Q/(Ks*300.*sqrt((Zm-Zv)/5000)))^(3.0/5.0)+Zv-55.5-3.']
myPhysicalModel = persalys.SymbolicPhysicalModel('myPhysicalModel', inputs, outputs, formulas)
myStudy.add(myPhysicalModel)
limitState1 = persalys.LimitState('limitState1', myPhysicalModel, 'S', ot.Greater(), -1)
myStudy.add(limitState1)
myMonteCarlo = persalys.MonteCarloReliabilityAnalysis('myMonteCarlo', limitState1)
myMonteCarlo.setMaximumCalls(10000)
myMonteCarlo.setMaximumCoefficientOfVariation(0.01)
myMonteCarlo.setMaximumElapsedTime(60)
myMonteCarlo.setBlockSize(1)
myMonteCarlo.setSeed(0)
myStudy.add(myMonteCarlo)
myformIS = persalys.FORMImportanceSamplingAnalysis('myformIS', limitState1)
myformIS.setMaximumCalls(10000)
myformIS.setMaximumCoefficientOfVariation(0.01)
myformIS.setMaximumElapsedTime(60)
myformIS.setBlockSize(1000)
myformIS.setSeed(0)
myformIS.setPhysicalStartingPoint([1013, 30.001, 50, 55])
optimizationAlgo = ot.AbdoRackwitz()
optimizationAlgo.setMaximumCallsNumber(1000)
optimizationAlgo.setMaximumAbsoluteError(1e-05)
optimizationAlgo.setMaximumRelativeError(1e-05)
optimizationAlgo.setMaximumResidualError(1e-05)
optimizationAlgo.setMaximumConstraintError(1e-05)
myformIS.setOptimizationAlgorithm(optimizationAlgo)
myStudy.add(myformIS)