1#! /usr/bin/env python 2 3from __future__ import print_function 4from openturns import * 5 6from math import * 7 8TESTPREAMBLE() 9 10 11def printPoint(point, digits): 12 oss = "[" 13 eps = pow(0.1, digits) 14 for i in range(point.getDimension()): 15 if i == 0: 16 sep = "" 17 else: 18 sep = "," 19 if fabs(point[i]) < eps: 20 oss += sep + '%.6f' % fabs(point[i]) 21 else: 22 oss += sep + '%.6f' % point[i] 23 sep = "," 24 oss += "]" 25 return oss 26 27 28try: 29 # We create a numerical math function 30 myFunction = SymbolicFunction( 31 ["E", "F", "L", "I"], ["-F*L^3/(3*E*I)"]) 32 33 dim = myFunction.getInputDimension() 34 # We create a normal distribution point of dimension 1 35 mean = Point(dim, 0.0) 36 mean[0] = 50.0 # E 37 mean[1] = 1.0 # F 38 mean[2] = 10.0 # L 39 mean[3] = 5.0 # I 40 sigma = Point(dim, 1.0) 41 R = IdentityMatrix(dim) 42 myDistribution = Normal(mean, sigma, R) 43 44 # We create a 'usual' RandomVector from the Distribution 45 vect = RandomVector(myDistribution) 46 47 # We create a composite random vector 48 output = CompositeRandomVector(myFunction, vect) 49 50 # We create an Event from this RandomVector 51 myEvent = ThresholdEvent(output, Less(), -3.0) 52 53 # We create an AnalyticalResult based on fictive results 54 result = AnalyticalResult(sigma, myEvent, False) 55 56 print("result=", result) 57 58 digits = 5 59 print("standard space design point=", printPoint( 60 result.getStandardSpaceDesignPoint(), digits)) 61 print("physical space design point=", printPoint( 62 result.getPhysicalSpaceDesignPoint(), digits)) 63 print("is standard point origin in failure space? ", 64 result.getIsStandardPointOriginInFailureSpace()) 65 print("importance factors=", printPoint( 66 result.getImportanceFactors(), digits)) 67 print("importance factors(classical)=", printPoint( 68 result.getImportanceFactors(AnalyticalResult.CLASSICAL), digits)) 69 print("importance factors(physical) =", printPoint( 70 result.getImportanceFactors(AnalyticalResult.PHYSICAL), digits)) 71 print("Hasofer reliability index=%.5f" % 72 result.getHasoferReliabilityIndex()) 73 print("graph importance factors=", result.drawImportanceFactors()) 74 print("graph sensitivity=", 75 result.drawHasoferReliabilityIndexSensitivity()) 76except: 77 import sys 78 print("t_AnalyticalResult_std.py", sys.exc_info()[0], sys.exc_info()[1]) 79