$$$$ FIABILI  NOTICE  CHAT      11/09/12    21:16:11     7124           
                                             DATE     11/09/12
                                             
    Procedure FIABILI                        Voir aussi : EXCE    NATAF
    -----------------                                     FDENS   REPART
                                                          FINVREPA
                                                          
    FIAB  TAB1 ;

          TAB1 . param_optimisation . methode
               . param_optimisation . t0
               . param_optimisation . s0
               . param_optimisation . vxmin
               . param_optimisation . vxmax
               . param_optimisation . vcmax
               . param_optimisation . maxiteration
               . noms_des_variables
               . max_iteration
               . fct_limite
               . grad_fct_limite
               . param_va . k . typva
               . param_va . k . A
               . param_va . k . B
               . param_va . k . LAMBDA
               . param_va . k . MU
               . param_va . k . MOYENNE
               . param_va . k . ECART_TYPE
               . param_va . k . TAU
               . param_va . k . K
               . param_va . k . W
               . param_va . k . MIN
               . param_va . k . MAX
               . param_va . k . U
               . matcov
               . points_initiaux
               . critere
               . resu . i . indfiab
               . resu . i . <<nom_d_une_va>>
               . resu . i . proba_defaillance
               . resu . i . facteurs_de_sensibilite
               . resu . i . vecteurs_des_sensibilites


Section : Mecanique Resolution

FRAN==========================================================

    Objet :
    _______
 La procedure FIABILI cherche la probabilite de defaillance d'une
structure. Cette probabilite est evaluee par la methode FORM. 
La procedure sort l'indice de fiabilite de Hasofer-Lind.
La procedure sort les sensibilites de chacune des variables aleatoires.


    Donnees :
    ---------
  TAB1 . 'PARAM_OPTIMISATION'   : est une table qui contient les parametres
pour la methode d'optimisation. On utilise l'operateur EXCE de castem 2000 et
on se reportera a la notice de cet operateur pour plus de detail. Attention,
les valeurs sont passees ici dans des listreels.

  TAB1 . 'PARAM_OPTIMISATION' . 'METHODE' : (facultatif) est un mot. Le choix
                                             est entre 'STA', 'MOV', 'LIN'.

  TAB1 . 'PARAM_OPTIMISATION' . 'T0' : (facultatif) Reel compris entre 0 et 1.
  TAB1 . 'PARAM_OPTIMISATION' . 'S0' : (facultatif) Reel compris entre 0 et 1.
  TAB1 . 'PARAM_OPTIMISATION' . 'VXMIN' : listreel contenant les valeurs
                                         minimales que peuvent prendre les
                                          variables aleatoires.
  TAB1 . 'PARAM_OPTIMISATION' . 'VXMAX' : listreel contenant les valeurs
                                         maximales que peuvent prendre les
                                         variables aleatoires.
  TAB1 . 'PARAM_OPTIMISATION' . 'VCMAX' : listreel contenant les constantes
                                            Cjmax.
  TAB1 . 'PARAM_OPTIMISATION' . 'MAXITERATION' :(facultatif) change la valeur
                                            maximale autorisee pour le nombre 
                                               d'iterations dans EXCE.
                                              (Par defaut 100)
  TAB1 . 'NOMS_DES_VARIABLES'  : listmots contenant le nom de chaque variable.
  TAB1 . 'MAX_ITERATION' : (facultatif) change la valeur maximale autorisee
                           pour le nombre de fois ou on lance EXCE.
  TAB1 . 'FCT_LIMITE' : table indicee de 1 au nombre de fonctions limites
                        qui contient les chaines de caractere qui sont les
                        noms des procedures calculant les fonctions limites.
        Ces procedures reçoivent en entree un listreel de valeurs prises
        par les variables aleatoires. elles sortent un reel qui est la valeur
        de la fonction limite en ce point.
  TAB1 . 'GRAD_FCT_LIMITE' :(facultatif)  table indicee de 1 au nombre de
                         fonctions limites
                        qui contient les chaines de caractere qui sont les
                        noms des procedures calculant les gradients des
                        fonctions limites.
        Ces procedures reçoivent en entree un listreel de valeurs prises
        par les variables aleatoires. elles sortent un listreel qui contient
        le gradient de la fonction limite en ce point.
        Cet indice de la table est optionnels. il faut eviter de le donner
        pour limiter le nombre d'appels a la fonction limite.

  TAB1 . 'PARAM_VA'  : est une table indicee de 1 au nombre de variables 
                    aleatoires.

  TAB1 . 'PARAM_VA' . k : est une table qui contient les differents parametres
                           necessaire a la connaissance de la kieme variable 
                            aleatoire.
  TAB1 . 'PARAM_VA' . k . 'TYPVA' : chaine de caractere contenant le type de
      la kieme variable aleatoire.
     Les types disponibles sont :
                                 'LOI_UNIFORME'
                                 'LOI_DE_LAPLACE'
                                 'LOI_NORMALE_STANDARD' (i.e. centree,reduite)
                                 'LOI_EXPONENTIELLE'
                                 'LOI_LOGNORMALE'
                                 'LOI_NORMALE'
                                 'LOI_WEIBULL_MIN'
                                 'LOI_NORMALE_TRONQUEE'
                                 'LOI_EXPONENTIELLE_TRONQUEE'
                                 'LOI_GUMBEL_MAX'
                                 'LOI_NORMALE_TRONQUEE_INF'
                                 'LOI_DE_FRECHET'

   Dans le cas de la loi uniforme :
  TAB1 . 'PARAM_VA' . k . 'A'
  TAB1 . 'PARAM_VA' . k . 'B' : sont les bornes de l'intervalle sur lequel
        la variable est definie (A<B)

   Dans le cas de la loi de Laplace :
 pas de parametre. La densite vaut : 0.5*exp( - |x|).

   Dans le cas de la loi normale centree reduite (LOI_NORMALE_STANDARD) :
 pas de parametre. La densite vaut : exp(-0.5*x^2)/((2*pi)**0.5)

   Dans le cas de la loi exponentielle :
     TAB1 . 'PARAM_VA' . k . 'LAMBDA'
     TAB1 . 'PARAM_VA' . k . 'MU'
  la densite vaut : lambda*exp(lambda*(mu - x)) si x >= mu 
                     0                          sinon

   Dans le cas de la loi lognormale :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
 sont la moyenne et l'ecart-type de la variable aleatoire.

   Dans le cas de la loi normale :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
 sont la moyenne et l'ecart-type de la variable aleatoire.

   Dans le cas de la loi Weibull min :
  TAB1 . 'PARAM_VA' . k . 'TAU'
  TAB1 . 'PARAM_VA' . k . 'K'
  TAB1 . 'PARAM_VA' . k . 'W'
  la densite vaut :
   ((X-TAU)/(W-TAU))**(K-1) * K / (W - TAU) * (exp (- ((X-TAU)/(W-TAU))**K))

   Dans le cas de la loi normale tronquee :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
  TAB1 . 'PARAM_VA' . k . 'MIN'
  TAB1 . 'PARAM_VA' . k . 'MAX'
 Les deux premiers parametres 
 sont la moyenne et l'ecart-type de la variable aleatoire.
 MIN et MAX sont deux reels qui determinent l'intervalle de variation.

   Dans le cas de la loi exponentielle tronquee :
     TAB1 . 'PARAM_VA' . k . 'LAMBDA'
     TAB1 . 'PARAM_VA' . k . 'MU'
     TAB1 . 'PARAM_VA' . k . 'MIN'
     TAB1 . 'PARAM_VA' . k . 'MAX'
 MIN et MAX sont deux reels qui determinent l'intervalle de variation.

   Dans le cas de la loi Gumbel max :
     TAB1 . 'PARAM_VA' . k . 'LAMBDA'
     TAB1 . 'PARAM_VA' . k . 'MU'
  la densite vaut :
 lambda*exp(-lambda*(x-mu)-exp(-lambda*(x-mu)))

   Dans le cas de la loi Normale tronquee inf :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
 sont la moyenne et l'ecart-type de la variable aleatoire.
  TAB1 . 'PARAM_VA' . k . 'MIN'
  est la borne inferieure des valeurs que peut prendre la variable
   aleatoire.

   Dans le cas de la loi de Frechet :
  TAB1 . 'PARAM_VA' . k . 'U'
  TAB1 . 'PARAM_VA' . k . 'K'
  TAB1 . 'PARAM_VA' . k . 'B'
  la densite vaut :
   ((u - b)/(x - b))**k * exp(- ((u - b)/(x - b))**k) * k / (x - b) 

  TAB1 . 'MATCOV'  : listreel qui contient la matrice de correlation 
    dans le cas ou les variables ne sont pas independantes. C'est la 
    transformation de nataf qui est utilisee.
    pour une matrice | a b c |
                     | b d e |
                     | c e f |
    il faut rentrer (prog a b d c e f).
    Les lois autorisees sont : 
   Uniforme, Normale centree reduite, Normale, Lognormale, Exponentielle.

  TAB1 . 'POINTS_INITIAUX' : table numerotee de 1 a nombre de points 
     initiaux composee de listreels contenant les coordonnees dans l'espace 
     physiques des points initiaux.

  TAB1 . 'CRITERE' : (facultatif) flottant. critere de convergence
  portant sur l'indice de fiabilite (par defaut 1e-4)

  TAB1 . 'RESU' : est une table indicee de 1 a nombre de points 
     initiaux qui contient les resultats du calcul.

  TAB1 . 'RESU' . i . 'INDFIAB' : contient un listreel des indices de
    fiabilite de Hasofer-Lind aux differentes iterations pour le point 
    initial i.

  TAB1 . 'RESU' . i . '<<nom_d_une_va>>' : ou <<nom_d_une_va>> est une chaine
   de 4 caracteres correspondant au nom d'une va entree
   dans le listmot   TAB1 . 'NOMS_DES_VARIABLES', contient un listreels des
   differentes valeurs de la va aux differentes iterations.

  TAB1 . 'RESU' . i . 'FACTEURS_DE_SENSIBILITES' : contient un listreels
  des sensibilites des differentes variables a la derniere iteration.

  TAB1 . 'RESU' . i . 'VECTEURS_DES_SENSIBILITES' : dans le cas ou
   les variables ne sont pas independantes contient un listreels
   des sensibilites des differentes variables a la derniere iteration.

   On peut faire une reprise du calcul en fournissant TAB1.
 TAB1 . RESU . REPRISE . DERNIER : entier.  contient le numero de l'iteration
   a partir  de laquelle on va reprendre. L'utilisateur peut le 
   modifier

 TAB1 . EXPLORATION : logique. En cas de reprise, si vrai on va chercher
   a determiner vxmin et vxmax a partir des valeurs deja obtenues.

 TAB1 . RESU . i . INDICE_FIABILITE : FLOTTANT. Contient un majorant de 
  l'indice de fiabilite. le meilleur obtenu au cours des calculs.

 TAB1 . RESU . i . ATTEINT_EN : ENTIER. Contient l'indice de ce resultat
    dans TAB1 . RESU . i . indfiab.

ANGL==========================================================

    Description :
    _____________
  The procedure FIABILI search the failure probability of a structure.
  This probability is estmated by the FORM method. The procedure give
  the Hasofer-Lind reliability index. The procedure give the sensibility
  of each random variable.


   Contents :
   __________
  TAB1 . 'PARAM_OPTIMISATION'   :  is a table that hold the optimisation's
  method parameter. We use the operator EXCE of castem 2000 so you have to
   see the notice of this operator for more details. Attention the value
   are given here in listreels.

  TAB1 . 'PARAM_OPTIMISATION' . 'METHODE' : (optional) is a MOT. The choice
   is between 'STA', 'MOV', 'LIN'.
  TAB1 . 'PARAM_OPTIMISATION' . 'T0' : (optional) is a real between 0 and 1.
  TAB1 . 'PARAM_OPTIMISATION' . 'S0' : (optional) is a real between 0 and 1.
  TAB1 . 'PARAM_OPTIMISATION' . 'VXMIN' : listreels of minimal values that
          can take the random variables.
  TAB1 . 'PARAM_OPTIMISATION' . 'VXMAX' : listreel  of maximal values that
          can take the random variables.
  TAB1 . 'PARAM_OPTIMISATION' . 'VCMAX' : listreel of the Cjmax.
  TAB1 . 'PARAM_OPTIMISATION' . 'MAXITERATION' :(optional) integer. 
   Change the maximal value of the iteration number in EXCE.
  TAB1 . 'NOMS_DES_VARIABLES'  : listmots containing the name of each
    random variables.
  TAB1 . 'MAX_ITERATION' : (optional) changes the maximum value 
                       permitted for the number of times we use EXCE.
  TAB1 . 'FCT_LIMITE' : table ranging from one to number of limit function,
  which contains the character chains whose are the name of the procedure
  computing the limit functions.
  These procedures have in input a listreel of values taken by the random
  value. they give as output a real which is the value of the limit 
    function in that point.
  TAB1 . 'GRAD_FCT_LIMITE' :(optional) table ranging from one to number
 of limit
  function, which contains the character chains whose are the name of the 
  procedure  computing the  limit functions gradient.
  These procedures have in input a listreel of values taken by the random
  value. they give as output a real which is the value of the limit 
    function 's gradient in that point. This is optional. Don't give it,
    you'll do less call to the limit function.

  TAB1 . 'PARAM_VA'  : table ranging from one to random variables number.

  TAB1 . 'PARAM_VA' . k : table containing the parameters needed for the 
   kth random variables.
  TAB1 . 'PARAM_VA' . k . 'TYPVA' : chain of character containing the type
   of the kth variable.
  The types are :
                                 'LOI_UNIFORME'
                                 'LOI_DE_LAPLACE'
                                 'LOI_NORMALE_STANDARD' (i.e. centree,reduite)
                                 'LOI_EXPONENTIELLE'
                                 'LOI_LOGNORMALE'
                                 'LOI_NORMALE'
                                 'LOI_WEIBULL_MIN'
                                 'LOI_NORMALE_TRONQUEE'
                                 'LOI_EXPONENTIELLE_TRONQUEE'
                                 'LOI_GUMBEL_MAX'
                                 'LOI_NORMALE_TRONQUEE_INF'
                                 'LOI_DE_FRECHET'

 In the uniform distribution case :
  TAB1 . 'PARAM_VA' . k . 'A'
  TAB1 . 'PARAM_VA' . k . 'B' : are the real between wich range the kth
  random variable. (A<B)

 In the case of the Laplace distribution :
  no parameters needed. The density is  : 0.5*exp( - |x|).

 In the case of the standardized normal distribution (LOI_NORMALE_STANDARD):
  no parameters needed. The density is : exp(-0.5*x^2)/((2*pi)**0.5)

 In the case of the shifted exponential distribution :
     TAB1 . 'PARAM_VA' . k . 'LAMBDA'
     TAB1 . 'PARAM_VA' . k . 'MU'
     The density : lambda*exp(lambda*(mu - x)) if x >= mu 
                     0                          else

 In the case of the lognormal distribution :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
 are the mean value and the standard deviation of the kth random variable.

 In the case of the normal distribution :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
 are the mean value and the standard deviation of the kth random variable.

 In the case of the truncated normal distribution :
  TAB1 . 'PARAM_VA' . k . 'MOYENNE'
  TAB1 . 'PARAM_VA' . k . 'ECART_TYPE'
  TAB1 . 'PARAM_VA' . k . 'MIN'
  TAB1 . 'PARAM_VA' . k . 'MAX'
  the first and the second parameter are the mean value and the
  standard deviation of the kth random variable.
  MIN et MAX are two reals between which, range the random variable.

 In the case of the truncated shifted exponential :
     TAB1 . 'PARAM_VA' . k . 'LAMBDA'
     TAB1 . 'PARAM_VA' . k . 'MU'
     TAB1 . 'PARAM_VA' . k . 'MIN'
     TAB1 . 'PARAM_VA' . k . 'MAX'
 MIN et MAX  are two reals between which, range the random variable.

 In the case of the Gumbel max distribution :
     TAB1 . 'PARAM_VA' . k . 'LAMBDA'
     TAB1 . 'PARAM_VA' . k . 'MU'
  The density is :
 lambda*exp(-lambda*(x-mu)-exp(-lambda*(x-mu)))

 In the case of the Frechet distribution : 
  TAB1 . 'PARAM_VA' . k . 'U'
  TAB1 . 'PARAM_VA' . k . 'K'
  TAB1 . 'PARAM_VA' . k . 'B'
  The density is :
   ((u - b)/(x - b))**k * exp(- ((u - b)/(x - b))**k) * k / (x - b) 

  TAB1 . 'MATCOV'  : listreel containing the correlation matrix when the
   random variables are dependant. It's the Nataf transformation which
   is used. 
   For a matrix | a b c |
                | b d e |
                | c e f |
   you have to give  (prog a b d c e f).
   The distributions permitted are :
    UNIFORM, Standard normal, Normal, Lognormal, Shifted exponential.

  TAB1 . 'POINTS_INITIAUX' : table ranging from 1 to initial points number
  containing listreels containing the coordinates in the physical space
  of the initial points.

  TAB1 . 'CRITERE' : (optional) flottant(real). convergence criterion
  on the reliability index(by default 1e-4) 

  TAB1 . 'RESU' : table  ranging from 1 to initial points number
   containing the results of the calculus.

  TAB1 . 'RESU' . i . 'INDFIAB' : listreel containing the Hasofer-Lind index
  at each iteration for the ith initial point.

  TAB1 . 'RESU' . i . '<<name_of_a_random_variable>>' : where 
  <<name_of_a_random_variable>> is a chain of 4 character corresponding 
  with the name of a random variable in the 
   listmot TAB1 . 'NOMS_DES_VARIABLES'. Listreels containing the value
  of the random variable at each iteration.

  TAB1 . 'RESU' . i . 'FACTEURS_DE_SENSIBILITES' : listreel containing
  the sensibilities of each variable at the last iteration.

  TAB1 . 'RESU' . i . 'VECTEURS_DES_SENSIBILITES' : In the case where the
  variables are dependant,  listreel containing
  the sensibilities of each variable at the last iteration.

  You could do a restart. You have to give TAB1. 
TAB1 . RESU . REPRISE . DERNIER : integer. This integer is the index at which
 iteration will restart. You can modify it to your needs.

 TAB1 . EXPLORATION : logical. If vrai, in the case of a restart
the program will search which value to give to vxmin and vxmax from the value
in TAB1.

 TAB1 . RESU . i . INDICE_FIABILITE : Float. the fiability index must be
lower than it.

 TAB1 . RESU . i . ATTEINT_EN : Integer.the index of the preceding result
 in TAB1 . RESU . i . indfiab.

 
 
 
