Ticket #157 (closed enhancement: worksforme)

Opened 2 months ago

Last modified 2 months ago

MultiOutput in an Event

Reported by: noret@phimeca.com Assigned to: lapointe@phimeca.com
Priority: unspecified Milestone: not defined
Component: library Version: 0.12.1
Keywords: Cc:

Description

In a system approach, I need to define several events, corresponding to the nodes of a fail tree for example.

In the current version, I can only define the events separately (thanks to the getMarginal() method, in relation with the Ticket #112), but in this case, if I have correlated inputs, the correlation will be lost in the different Events, and my global probability of failure is wrong.

For example, if I try to calculate the probability of failure of "myEvent" (see below) thanks to Monte Carlo simulations, it will be wrong if there is correlation between the inputs...

vect = RandomVector(myDistribution)
G =  RandomVector(EtatLimite, vect)

G1 = G.getMarginal(0)
G2 = G.getMarginal(1)
G3 = G.getMarginal(2)

threshold = 0.0
myEventG1 = Event(G1, ComparisonOperator(LessOrEqual()), threshold)
myEventG2 = Event(G2, ComparisonOperator(LessOrEqual()), threshold)
myEventG3 = Event(G3, ComparisonOperator(LessOrEqual()), threshold)

myEvent = ((myEventG1 or myEventG2) and myEventG3

Is there a method to solve this problem?

-- Emmanuel

Change History

10/23/08 20:11:55 changed by regis.lebrun@eads.net

  • status changed from new to closed.
  • resolution set to worksforme.

Yes there is. You can use an analytical function f to define your fail tree thanks to the comparison operators and the boolean operators provided by the analytical functions. Then, you build an OpenTURNS Event using your correlated random vector, the function f and a threshold strictly between 0 and 1, a value of 0.5 will do the job. If the ComparisonOperator is Less(), your event will be associated with a non-failure, if it is Greater(), it will be associated with a failure.

Régis

PS: It is better to discuss this kind of subject on the ot-user mailing-list. Please reserve the tickets to report bugs or to describe enhancements that have already been identified as it.