Hi Douglas,

First of all, thanks for using OT. I checked the reference, and the method used 
is NOT the FORM approximation, but the FOSM method. Ie a linearization at the 
mean point of the input distribution and not at the most probable point. So you 
must use the TaylorExpansionMoments class instead of the FORM class.
I also checked your code, and you made two mistakes in the probabilistic 
modeling:
+ the marginal distributions are not given in the correct order wrt the input 
varaibles of the model
+ the standard deviation of L is 0.1 and not 0.0001

If you use correctly the TaylorExpansionMoments class (ie its 
getMeanFirstOrder() and getCovariance() methods) you get for the reliability 
index:
Beta=2.48039658511
And the probability (use DistFunc.pNormal() for Phi):
P=0.00656181631695

I have a very limited access to the internet for the next two weeks (and an old 
blackberry to write messages...) so I cannot send you the full script before 
the 26th of August.

Best regards

Regis

--------------------------------------------
En date de : Ven 4.8.17, Douglas Long <douglaslon...@gmail.com> a écrit :

 Objet: Re: [ot-users] Open Turns FORM
 À: "Users" <users@openturns.org>
 Cc: "regis lebrun" <regis_anne.lebrun_dut...@yahoo.fr>, "Philip Fernandes" 
<phil...@gmail.com>
 Date: Vendredi 4 août 2017, 19h48
 
 my
 apologies. there was a type in the distributions
 list.import
 openturns as ot
 
 
 myFunction =
 ot.NumericalMathFunction(['P',
 'L',
 'W',
 'T'],
 ['d'],
                                       ['W*T -
 P*L/4'])
 
 distributions_list = [
 ot.Normal(0.0001, 0.00002),
 ot.Normal(600000, 100000),
 ot.Normal(10, 2),
 ot.Normal(8, 0.0001)
 ]
 copula =
 ot.IndependentCopula(4)
 compose_distribution =
 ot.ComposedDistribution(distributions_list, copula)
 
 
 vect =
 ot.RandomVector(compose_distribution)
 output
 = ot.RandomVector(myFunction, vect)
 myEvent
 = ot.Event(output, ot.Less(), 0)
 
 myCobyla = ot.Cobyla()
 myAlgo =
 ot.FORM(myCobyla, myEvent, [0.0001,600000,10,8])
 myAlgo.run()
 result =
 myAlgo.getResult()
 
 print(result.getPhysicalSpaceDesignPoint())
 print(result.getHasoferReliabilityIndex())
 print(result.getEventProbability())
 print(result.getLimitStateVariable())
 print(result.getStandardSpaceDesignPoint())
 print(result.getImportanceFactors())
 On Fri, Aug 4, 2017 at
 11:38 AM, Douglas Long <douglaslon...@gmail.com>
 wrote:
 Hey Folks,
 I am
 attempting to recreate a FORM example.http://www2.mae.ufl.edu/
 haftka/stropt/Lectures/FORM. pdfI am trying to
 get BETA = 2.48 as in the example linked
 above.
 
 here is my code but my results are
 different. I have tried many different
 solutions.any help would be greatly
 appreciated.
 Thanks,Dougimport
 openturns as ot
 
 
 myFunction =
 ot.NumericalMathFunction(['P',
 'L',
 'W',
 'T'],
 ['d'],
                                       ['W*T -
 P*L/4'])
 
 distributions_list = [
 ot.Normal(0.0001, 2),
 ot.Normal(600000, 0.1),
 ot.Normal(10, 0.00002),
 ot.Normal(8, 100000)
 ]
 copula =
 ot.IndependentCopula(4)
 compose_distribution = ot.ComposedDistribution(
 distributions_list, copula)
 
 
 vect =
 ot.RandomVector(compose_ distribution)
 output = ot.RandomVector(myFunction, vect)
 myEvent = ot.Event(output, ot.Less(), 0)
 
 myCobyla = ot.Cobyla()
 myAlgo =
 ot.FORM(myCobyla, myEvent, [0.0001,600000,10,8])
 myAlgo.run()
 result =
 myAlgo.getResult()
 
 print(result.
 getPhysicalSpaceDesignPoint())
 print(result.
 getHasoferReliabilityIndex())
 print(result.
 getEventProbability())
 print(result.
 getLimitStateVariable())
 print(result.
 getStandardSpaceDesignPoint())
 print(result.
 getImportanceFactors())
 
 --
 
 Douglas
 Long
 douglaslon...@gmail.com
 
 
 
 
 -- 
 Douglas Long
 douglaslon...@gmail.com
 _______________________________________________
 OpenTURNS users mailing list
 users@openturns.org
 http://openturns.org/mailman/listinfo/users
 
 -----La pièce jointe associée suit-----
 
 
_______________________________________________
OpenTURNS users mailing list
users@openturns.org
http://openturns.org/mailman/listinfo/users

Reply via email to