# Re: [ot-users] Open Turns FORM

```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
```