Reliability Commands: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
* '''reliability''' -- makes reliability commands available in the OpenSees/Tcl interpreter | * '''reliability''' -- makes reliability commands available in the OpenSees/Tcl interpreter | ||
* '''wipeReliability''' -- deletes all existing reliability objects from the OpenSees/Tcl workspace | * '''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''' | * '''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''' | ||
Line 7: | Line 9: | ||
** Example: randomVariable 1 normal -mean 5 -stdv 0.7 | ** Example: randomVariable 1 normal -mean 5 -stdv 0.7 | ||
** Example: randomVariable 4 lognormal -mean 4 -stdv 0.5 | ** 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) | * '''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 | ** 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) | * '''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 | ** 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) | * '''getInverseCDF $tag $p''' -- returns the inverse CDF evaluated at '''$p''' for random variable '''$tag''' -- x = F^{-1}(p) | ||
Line 19: | Line 24: | ||
** 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()'') | ** 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 | ** 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>''' | * '''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>''' | ||
Line 26: | Line 32: | ||
** Example: parameter 2 node 7 disp 1 -- parameter 2 is associated with the DOF 1 displacement of node 7 | ** 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 | ** 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''' | * '''parameter $tag randomVariable $rvTag <specific parameter args>''' -- creates a parameter object that is associated with the previously defined random variable object with tag '''$rvTag''' | ||
Line 32: | Line 39: | ||
** 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 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 | ** 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''' | * '''getParamValue $tag''' -- returns the current value of parameter '''$tag''' | ||
Line 38: | Line 46: | ||
*** Example: set abc $par(4) -- sets the Tcl variable ''abc'' equal to the current value of parameter 4 | *** 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) | *** 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 | * '''addToParameter $tag <specific parameter args>''' -- adds objects of the finite element domain to an existing parameter objects | ||
Line 44: | Line 53: | ||
** The '''<specific parameter args>''' follow the same syntax listed above | ** The '''<specific parameter args>''' follow the same syntax listed above | ||
** The '''addToParameter''' command can be invoked without first issuing the '''reliability''' command | ** The '''addToParameter''' command can be invoked without first issuing the '''reliability''' command | ||
* '''updateParameter $tag $newValue''' -- makes the value of parameter '''$tag''' equal to '''$newValue''' | * '''updateParameter $tag $newValue''' -- makes the value of parameter '''$tag''' equal to '''$newValue''' | ||
Line 49: | Line 59: | ||
** 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 | ** 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 | ** 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''' | * '''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)" | ** 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 | ** 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'' | ''More commands will be documented soon'' |
Latest revision as of 02:46, 10 August 2013
- 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