from uqpylab import sessions
import pprint; pp = pprint.PrettyPrinter(depth=2)
Start a remote UQCloud session¶
# Start the session
mySession = sessions.cloud()
# (Optional) Get a convenient handle to the command line interface
uq = mySession.cli
# Set the timeout
mySession.timeout = 2000
# Reset the session
mySession.reset()
Processing .
.
done!
uqpylab.sessions :: INFO :: This is UQ[py]Lab, version 1.00, running on https://uqcloud.ethz.ch.
UQ[py]Lab is free software, published under the open source BSD 3-clause license.
To request special permissions, please contact:
- Stefano Marelli (marelli@ibk.baug.ethz.ch).
A new session (0e6cd96d2cc24bdca5bab9ad250c6489) started.
uqpylab.sessions :: INFO :: Reset successful.
Set the random seed for reproducibility¶
uq.rng(100,'twister');
ModelOpts = {
'Type': 'Model',
'ModelFun':'Hat.model',
'isVectorized': True
}
myModel = uq.createModel(ModelOpts)
InputOpts = {
"Marginals": [
{"Name":"X1",
"Type":"Gaussian",
"Parameters":[0.25,1]
},
{"Name":"X2",
"Type":"Gaussian",
"Parameters":[0.25,1]
}
]
}
Create an INPUT object based on the specified marginals and print its properties¶
myInput = uq.createInput(InputOpts)
uq.print(myInput)
============================================================== Input object name: Input 1 Dimension(M): 2 Marginals: Index | Name | Type | Parameters | Moments -------------------------------------------------------------------------- 1 | X1 | Gaussian | 2.500e-01, 1.000e+00 | 2.500e-01, 1.000e+00 2 | X2 | Gaussian | 2.500e-01, 1.000e+00 | 2.500e-01, 1.000e+00 Copula: Type: Independent Dimension: 2 Variables coupled: [1 2] ==============================================================
4 - STRUCTURAL RELIABILITY¶
Failure event is defined as $g(\mathbf{x}) \leq 0$. The failure probability is then defined as $P_f = P[g(\mathbf{x})\leq 0]$. Reliability analysis is performed with the following methods:
- Monte Carlo simulation (MCS)
- Subset simulation
- Adaptive-Kriging-Monte-Carlo-Simulation (AK-MCS)
- Adaptive-Polynomial-Chaos-Kriging-Monte-Carlo-Simulation (APCK-MCS)
4.1 Monte Carlo simulation (MCS)¶
Define a Reliability analysis using Monte Carlo simulation (MCS) by specifying the maximum sample size, the size of the batchs, and the target coefficient of variation:
MCSOpts = {
"Type":"Reliability",
"Method":"MCS",
"Simulation": {
"MaxSampleSize":1.0E+6,
"BatchSize":1.0E+5,
"TargetCoV":0.01
}
}
Run the Monte Carlo simulation and print out a report of the results:
MCSAnalysis = uq.createAnalysis(MCSOpts)
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((100000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Print out a report of the results:
uq.print(MCSAnalysis)
--------------------------------------------------- Monte Carlo simulation --------------------------------------------------- Pf 3.9600e-04 Beta 3.3556 CoV 0.0502 ModelEvaluations 1000000 PfCI [3.5700e-04 4.3500e-04] BetaCI [3.3295e+00 3.3841e+00] ---------------------------------------------------
Create a graphical representation of the results (convergence of $P_f$, convergence of $\beta$, and MCS samples):
uq.display(MCSAnalysis);
4.2 Subset Simulation¶
Define a Reliability analysis using subset simulation by specifying the batch size:
SubsetSimOpts = {
"Type":"Reliability",
"Method":"Subset",
"Simulation": {
"BatchSize": 10000
}
}
Run reliability analysis with Subset simulation:
SubsetSim = uq.createAnalysis(SubsetSimOpts)
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((10000,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((944,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((940,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((940,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((941,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((947,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((946,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((960,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((954,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((935,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((932,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((937,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((936,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((936,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((930,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((931,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((919,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((935,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((933,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((929,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((891,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((917,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((925,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((935,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((917,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((907,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((910,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
uqpylab.sessions :: INFO :: Received intermediate compute request, function: Hat.model.
uqpylab.sessions :: INFO :: Carrying out local computation...
uqpylab.sessions :: INFO :: Local computation complete.
uqpylab.sessions :: INFO :: Starting transmission of intermediate compute results ((928,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Print out a report of the results:
uq.print(SubsetSim)
--------------------------------------------------- Subset simulation --------------------------------------------------- Pf 3.8250e-04 Beta 3.3652 CoV 0.0918 ModelEvaluations 35155 PfCI [3.1365e-04 4.5135e-04] BetaCI [3.3192e+00 3.4195e+00] ---------------------------------------------------
Create a graphical representation of the results (plot the subsets):
uq.display(SubsetSim);