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);
4.3 Adaptive-Kriging-Monte-Carlo-Simulation (AKMCS)¶
Select the Reliability module and the AK-MCS method:
AKMCSOpts = {
"Type": "Reliability",
"Method":"AKMCS",
"Simulation": {
"MaxSampleSize": 1e6 # Specify the size of the Monte Carlo sample set used for the Monte Carlo simulation
},
"AKMCS": {
"MaxAddedED": 20, # Specify the maximum number of sample points added to the experimental design
"IExpDesign": { # Specify the initial experimental design
"N": 20,
"Sampling": "LHS"
},
"Kriging": { # Specify the options for the Kriging metamodel (note that all Kriging options are supported)
"Corr": {
"Family": "Gaussian"
}
},
"Convergence": "stopPf", # Specify the convergence criterion for the adaptive experimental design algorithm (here, it is based on the failure probability estimate):
"LearningFunction": "EFF" # Specify the learning function (here, it is the expected feasibility function (EFF))
}
}
Run the AK-MCS simulation:
AKMCSAnalysis = uq.createAnalysis(AKMCSOpts)
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 ((20,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Processing . done! 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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Print out a report of the results:
uq.print(AKMCSAnalysis)
--------------------------------------------------- AK-MCS --------------------------------------------------- Pf 4.1200e-04 Beta 3.3446 CoV 0.0493 ModelEvaluations 33 PfCI [3.7223e-04 4.5177e-04] BetaCI [3.3190e+00 3.3727e+00] PfMinus/Plus [4.0000e-04 4.3000e-04] ---------------------------------------------------
Create a graphical representation of the results (plot AKMCS convergence and the AKMCS experimental design and the limit state surface):
uq.display(AKMCSAnalysis);
4.4 Adaptive-Polynomial-Chaos-Kriging-Monte-Carlo-Simulation (APCK-MCS)¶
APCK-MCS is a variation of AK-MCS in which the Kriging model is replaced by a PC-Kriging (PCK) model.
Select the Reliability module and the APCK-MCS method:
APCKOpts = {
"Type": "Reliability",
"Method": "AKMCS",
"AKMCS": {
"MetaModel": "PCK",
"PCK": {
"Kriging": {
"Corr": {
"Family": "Gaussian"
}
}
},
"IExpDesign": {
"N": 5
}
},
"Simulation": {
"MaxSampleSize": 1.0E+6
}
}
Run the APCK-MCS simulation:
myAPCKMCSAnalysis = uq.createAnalysis(APCKOpts)
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 ((5,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
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 ((1,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Print out a report of the results:
uq.print(myAPCKMCSAnalysis)
--------------------------------------------------- AK-MCS --------------------------------------------------- Pf 3.7000e-04 Beta 3.3743 CoV 0.0520 ModelEvaluations 11 PfCI [3.3231e-04 4.0769e-04] BetaCI [3.3475e+00 3.4038e+00] PfMinus/Plus [3.7000e-04 3.7000e-04] ---------------------------------------------------
Create a graphical representation of the results (Create a graphical representation of the results (plot APCK-MCS convergence and the APCK-MCS experimental design and the limit state surface):
uq.display(myAPCKMCSAnalysis);
4.5 Stochastic spectral embedding-based reliability (SSER)¶
SSER is an active learning reliability method that constructs a stochastic spectral embedding of the limit state function with smart refinement, partitioning, and sample enrichment strategies.
Select the Reliability module and the SSER method:
SSEROpts = {
"Type": "Reliability",
"Method": "SSER",
"SSER": {
"ExpDesign": {
"NEnrich": 20 # Set the number of samples to be added in every refinement domain
},
"ExpOptions": {
"Degree": [0, 1, 2, 3, 4] # Select the polynomial degree of the residual expansion
}
}
}
Run the SSER analysis:
mySSERAnalysis = uq.createAnalysis(SSEROpts)
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 ((40,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Processing . done! 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 ((20,))...
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 ((20,))...
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 ((20,))...
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 ((20,))...
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 ((20,))...
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 ((20,))...
uqpylab.sessions :: INFO :: Intermediate compute results sent.
Print out a report of the results:
uq.print(mySSERAnalysis)
--------------------------------------------------- Stochastic spectral embedding-based reliability --------------------------------------------------- Pf 4.1680e-04 Beta 3.3414 CoV 0.0000 ModelEvaluations 160 PfCI [4.1680e-04 4.1680e-04] BetaCI [3.3414e+00 3.3414e+00] ---------------------------------------------------
Visualize the results of the analysis:
uq.display(mySSERAnalysis);
Processing .
.
.
.
.
done!
Terminate the remote UQCloud session:¶
mySession.quit()
uqpylab.sessions :: INFO :: Session 0e6cd96d2cc24bdca5bab9ad250c6489 terminated.
True