Reliability Commands

From OpenSeesWiki
Jump to navigation Jump to search
  • reliability -- makes reliability commands available in the OpenSees/Tcl interpreter


  • wipeReliability -- deletes all existing reliability objects from the OpenSees/Tcl workspace


  • randomVariable $tag pdfType -mean $mean -stdv $stdv -- creates a random variable object with unique identifying integer $tag and probability density function (PDF) of pdfType, mean $mean, and standard deviation $stdv
    • Available PDFs: normal, lognormal, uniform, and more
    • Example: randomVariable 1 normal -mean 5 -stdv 0.7
    • Example: randomVariable 4 lognormal -mean 4 -stdv 0.5


  • getPDF $tag $x -- returns the PDF evaluated at $x for random variable $tag -- p = f(x)
    • Example: set p [getPDF 1 4.2] -- sets the Tcl variable p equal to the PDF of random variable 1 evaluated at 4.2


  • getCDF $tag $x -- returns the CDF evaluated at $x for random variable $tag -- p = F(x)
    • Example: set p [getCDF 1 4.2] -- sets the Tcl variable p equal to the CDF of random variable 1 evaluated at 4.2


  • getInverseCDF $tag $p -- returns the inverse CDF evaluated at $p for random variable $tag -- x = F^{-1}(p)
    • The argument $p must be in the range [0,1]
    • Example: set x [getInverseCDF 1 0.2] -- sets the Tcl variable x equal to the inverse CDF of random variable 1 evaluated at 0.2
    • Example: set x [getInverseCDF 4 [expr rand()]] -- sets the Tcl variable x equal to the inverse CDF of random variable 4 evaluated at a random value on [0,1] using the intrinsic Tcl function rand() (see also srand())
    • When used in conjunction with the updateParameter command (see below), the getInverseCDF command facilitates Monte Carlo simulation


  • parameter $tag <specific parameter args> -- creates a parameter object with unique identifying integer $tag and that points to an object of the finite element domain that is identified using <specific parameter args>
    • Example: parameter 1 element 5 E -- parameter 1 is associated with E of the element with tag 5
    • Example: parameter 4 element 3 section 1 fy -- parameter 4 is associated with fy of section 1 in the element with tag 3
    • In lieu of detailed documentation, see the setParameter() method in the source code for the properties of nodes, loads, elements, sections, materials, etc. that you wish to "parameterize"
    • Example: parameter 2 node 7 disp 1 -- parameter 2 is associated with the DOF 1 displacement of node 7
    • The parameter command can be invoked without first issuing the reliability command


  • parameter $tag randomVariable $rvTag <specific parameter args> -- creates a parameter object that is associated with the previously defined random variable object with tag $rvTag
    • This is essentially the same functionality as randomVariablePositioner objects (now deprecated)
    • The <specific parameter args> follow the same syntax listed above
    • Example: parameter 6 randomVariable 4 -- parameter 6 is associated with random variable 4 (use addToParameter to further associate the parameter with an object of the finite element domain)
    • Example: parameter 7 randomVariable 1 element 4 fy -- parameter 7 links random variable 1 with fy of element 4


  • getParamValue $tag -- returns the current value of parameter $tag
    • Example: set abc [getParamValue 4] -- sets the Tcl variable abc equal to the current value of parameter 4
    • Additionally, a Tcl array named par is created automatically and stores the values of all parameter objects. Values are accessed using the parameter tag as the array key.
      • Example: set abc $par(4) -- sets the Tcl variable abc equal to the current value of parameter 4
      • The par Tcl array should be used in the definition of performanceFunction objects (see below)


  • addToParameter $tag <specific parameter args> -- adds objects of the finite element domain to an existing parameter objects
    • Example: addToParameter 1 element 8 E -- parameter 1 is associated with E of element 8 in addition to any previously defined associations
    • Example: addToParameter 6 element 2 section 5 fy -- parameter 6 is associated with fy at section 5 of element 2 in addition to any previously defined associations
    • The <specific parameter args> follow the same syntax listed above
    • The addToParameter command can be invoked without first issuing the reliability command


  • updateParameter $tag $newValue -- makes the value of parameter $tag equal to $newValue
    • Example: updateParameter 1 30000.0 -- sets the value of all objects associated with parameter 1 equal to 30000.0
    • The updateParameter command can be invoked without first issuing the reliability command, making it useful when one wishes to manually update parameter values in staged analyses
    • When used in conjunction with the getInverseCDF command of random variable objects (see above), the updateParameter command facilitates Monte Carlo simulation


  • performanceFunction $tag $expression -- creates a performance function (or g-function) object with unique identifying integer $tag and string $expression
    • Example: performanceFunction 3 "0.02 - \$par(2)"
    • The use of \$ will defer Tcl variable dereferencing to run-time. Likewise, the use of \[ \] will defer Tcl function evaluation to run-time


More commands will be documented soon