Uploaded by Nguyen Hoang


Structural Safety 28 (2006) 44–67
Structural reliability software at the University of
California, Berkeley
A. Der Kiureghian
, T. Haukaas b, K. Fujimura
Department of Civil and Environmental Engineering, University of California, Berkeley,
721 Davis Hall, Berkeley, CA 94720, United States
University of British Columbia, Vancouver, BC, Canada V6T 1Z4
Available online 14 April 2005
The paper provides an overview of three software for structural reliability analysis developed at the University of California, Berkeley. These are CalREL, which is a general-purpose structural reliability code
written in FORTRAN; FERUM, which is a collection of Matlab files that can be used for structural reliability analysis in conjunction with simple finite element models; and OpenSees, which is an object-oriented
code for nonlinear structural response simulation with reliability capabilities. Reliability analysis methods
featured by these software include FORM, SORM, Monte Carlo simulation, and various importance sampling methods. In addition, variable importance and sensitivity measures are provided.
2005 Elsevier Ltd. All rights reserved.
Keywords: Computer code; Finite element; FORM; Probabilistic methods; Reliability analysis; Reliability software;
Sampling; Sensitivity; Simulation; SORM
1. Introduction
Starting in early 1980s, under the leadership of the first author, efforts were made at the
University of California at Berkeley to develop computer codes for structural reliability analysis
Corresponding author. Tel.: +1 510 642 2469; fax: +1 510 643 8928.
E-mail address: [email protected] (A. Der Kiureghian).
0167-4730/$ - see front matter 2005 Elsevier Ltd. All rights reserved.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
for teaching, research and engineering practice. The result has been three codes: CalREL – a
FORTRAN code for general-purpose structural reliability analysis; FERUM (Finite-Element
Reliability Using Matlab) – an open-source Matlab toolbox for structural reliability analysis
in conjunction with simple finite element models; and reliability modules in OpenSees (Open System for earthquake engineering simulation), allowing reliability analysis in conjunction with static
and dynamic nonlinear finite element response analysis. OpenSees, which is an open-source, object-oriented general-purpose code written in C++ and specifically developed for earthquake engineering analysis, is the official simulation platform of the Pacific Earthquake Engineering
Research (PEER) Center [30]. Recently, it has also been adopted as the simulation platform of
NEES, the NSF-sponsored George E. Brown Jr. Network for Earthquake Engineering Simulation. All three codes have been developed as part of doctoral students research. As a result, these
software are continuously evolving and expanding and are suitable for research, but they lack
fancy user interfaces typical of commercial software. While FERUM and OpenSees are freely
downloadable from the web, CalREL is made available through UC Berkeley for a modest license
As a contribution to this special issue on structural reliability software, this paper aims at
describing the objectives, architecture, features and methods of analysis employed in each of
the above computer codes. Brief technical descriptions are presented of the reliability formulation
and solution methods implemented in CalREL. This code has served as the model for FERUM
and OpenSees from a technical standpoint, so that these descriptions for the most part also apply
to the latter codes. However, as will be described, the intended objectives and architectures of
these three codes are entirely different. In describing OpenSees, more emphasis is placed on the
software architecture, since that aspect of this code is rather unique among known structural reliability software. Example applications demonstrating various features of CalREL and OpenSees
are presented.
2. CalREL
CalREL was initially developed by Liu et al. [26] as a general-purpose structural reliability code
for the purposes of teaching, research and engineering practice. Significant extensions to the initial
code were made by Y. Zhang and K. Fujimura. Over the years, the code has evolved into a powerful tool for structural reliability analysis with a large collection of alternative analysis methods
and computational algorithms. As just mentioned, this program served as the model for the later
development of FERUM and OpenSees. Therefore, much of the technical description in this section also applies to the latter two codes.
2.1. Problem definition
CalREL solves general structural system reliability problems of the form
" (
gi ðx; hg Þ 6 0
pf ¼ P
i2C k
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
where pf is the ‘‘failure’’ probability of interest, x denotes a vector of random variables having
a specified probability distribution f(x, hf), where hf is a vector of distribution parameters,
gi(x, hg) is a continuous and differentiable limit-state function defining the state of the ith component of the system such that gi 6 0 denotes the failure of the component, hg denotes a vector of limit-state-function parameters, Ck, k = 1, . . ., K, is the kth cut set of the system, defining
a set of indices of components whose joint failures constitutes the failure of the system, and K
is the number of cut sets. Three classes of problems are recognized in CalREL: (a) component-reliability problems defined by a single cut set containing a single component (i.e., without the intersection and union operators in (1)), (b) series-system reliability problems, where
the cut sets contain single components (i.e., without the intersection operator in (1)), and
(c) general-system reliability problems as defined in (1). Naturally, more analysis options
are available in CalREL for component and series system problems than for general system
The user defines the reliability problem by specifying the limit-state functions gi(x, hg) for all
components, the probability distribution f(x, hf) for x, and the cut sets Ck, k = 1, . . ., K. Each of
these elements are described in the following subsections.
It is noted that CalREL uses dynamic memory allocation. All variables are internally stored in
a single vector. As a result, no limitation exists on the number of random variables, parameters,
limit-state functions or cut sets. The only controlling variable is the size of that one vector, which
can be made as large as the specific computer can accommodate.
2.1.1. Definition of limit-state functions
The limit-state functions are defined in a user-provided subroutine, which itself can call other
subroutines or even subprograms to compute the function values for given x. The user-defined
subroutine(s) or subprograms must be compiled and linked with the main body of the code to produce an executable version of CalREL specialized for the specific problem of interest. Over time, a
user can develop an executable code that incorporates a library of limit-state functions, which can
be used selectively to solve a variety of problems. The limit-state functions need not be algebraic
functions of x, as long as they are continuous and differentiable with respect to x. For example, a
limit-state function may involve response quantities from a finite-element model, which are implicit functions of x. In that case, the finite-element program must be made a subprogram under the
user-provided subroutine to compute the limit-state functions. Such merging of CalREL with
problem-specific application programs has been conducted by a number of investigators, including Liu and Der Kiureghian [25] and Der Kiureghian and Zhang [11] for nonlinear mechanics
problems, Sitar et al. [35] for ground water flow problems, Jang et al. [19] for contaminant transport problems, and Chua et al. [6] for asphalt pavement problems. In such applications, access to
the source of the application code is necessary. If this is not possible, communication through an
external device (i.e., writing/reading data on a disk) may be used. However, the latter option significantly slows down the computation.
The parameters hg in the limit-state functions can of course be hard-coded, i.e., their numerical
values can be directly entered in the user-defined code. However, it is generally a better practice to
define these as parameters and specify their numerical values through the input file. For such
parameters, CalREL provides options for sensitivity and parametric importance analysis, as described in Section 2.4.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
Certain reliability methods used by CalREL employ the gradient vector of each limit-state function with respect to x. CalREL provides two options for this purpose: either the user provides the
needed derivatives in a subroutine, or the code internally computes the derivatives by use of finite
differences. The former option is preferred when calculation of derivatives by finite differences is
costly or inaccurate and efficient algorithms for exact differentiation are available. This approach
has been used in the applications by Liu and Der Kiureghian [25] and Der Kiureghian and Zhang
[11], where the direct differentiation method (DDM) (see [39]) has been implemented in the finite
element code FEAP [41] and coupled with CalREL. The DDM approach is also implemented in
FERUM and OpenSees, as described below.
2.1.2. Definition of probability distributions
CalREL has a rich library of probability distribution models. The library distributions can be
used either as marginal or as conditional distributions. Distributions not available in the library
can be provided through a user-defined subroutine. These distributions allow specification of
three types of random variables: (a) statistically independent random variables, (b) dependent random variables having the Nataf joint distribution [23], and (c) dependent random variables defined in terms of conditional distributions. The formulations for the latter two cases are briefly
described below.
For a set of random variables x = (x1, . . ., xn) having marginal cumulative distribution functions
(CDFs) Fi(xi), i = 1, . . ., n, and correlation coefficients qij, i, j = 1, . . ., n, the Nataf joint distribution
is defined such that the marginally transformed random variables zi = U1[Fi(xi)], i = 1, . . ., n,
where U1[Æ] is the inverse of the standard normal CDF, have the joint normal distribution.
The relation between the correlation coefficients q0,ij of zi and zj and the correlation coefficient
qij of the original random variables xi and xj is [23]
Z 1 Z 1
xj lj
x i li
u2 zi ; zj ; q0;ij dzi dzj ;
qij ¼
1 1
where li and ri are the mean and standard deviation of xi , respectively, and u2(Æ, Æ, q) is the bivariate standard normal probability density function (PDF) with correlation coefficient q. In
selecting this distribution, the user only needs to specify the marginal distributions Fi(xi) and
the correlation coefficients qij. Relations expressing q0,ij in terms of qij and the corresponding marginal distributions, originally developed in Liu and Der Kiureghian [23], are coded for all library
distributions. For user-defined distributions, CalREL expects the user to provide the correlation
coefficient q0,ij in place of qij. This value can be obtained by iteratively solving for q0,ij in (2) external to the program.
The joint PDF of a set of random variables in general can be written in the form
f ðxÞ ¼ fn ðxn jx1 ; . . . ; xn1 Þfn1 ðxn1 jx1 ; . . . ; xn2 Þ f2 ðx2 jx1 Þf1 ðx1 Þ;
where fi(xi|x1, . . ., xi 1) is the conditional PDF of xi for the given values of x1, . . ., xi 1. This form
is used in CalREL to specify dependent random variables having a distribution other than Nataf.
The user first defines random variable x1 through its marginal distribution f1(x1). Next, the
conditional distribution f2(x2|x1) is defined, where the parameters can be functions of x1. This
is followed by the definition of the conditional distribution f3(x3|x1, x2), where the parameters
can now be functions of x1 and x2. This process is continued until all random variables in the
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
group have been defined. Each of the conditional distributions fi(xi|x1, . . ., xi 1) can be a library
distribution or a user-defined distribution. When using library distributions, the distribution
parameters can be as any of the previously defined random variables in the group.
2.1.3. Definition of cut sets
For general system problems, the user must define the set of components in each cut set. This is
done by providing a string of integers, separated by zeros, that define the component indices within each cut set. Thus, the string of numbers 1 4 6 0 3 – 5 8 7 0 1 9 0 defines a general system with
three cut sets. The first cut set contains the components 1, 4 and 6, the second cut set contains
the components 3, 8, 7 and the complement of component 5, and the third cut set contains
components 1 and 9. By ‘‘the complement of component 5’’ we mean a component that has
the limit-state function g5(x, hg). This feature is useful in defining general systems, since often
complementary component events appear in the cut sets. The user may use minimal, disjoint or
other types of cut sets.
For component reliability problems, the user only needs to define the identification number(s)
of the component(s) of interest. A series system problem can be defined as a general system with
single-component cut sets. However, it is better to define such a problem through the ‘‘series-system’’ class of CalREL, since more analysis options are available for this class than for general
2.2. Transformation to standard normal space
All reliability methods employed in CalREL (including simulation) perform computations in a
transformed space of standard normal random variables. These variables, denoted u = (u1, . . ., un),
are obtained by a triangular transformation of the form
ui ¼ T i ðx1 ; . . . ; xi Þ;
i ¼ 1; . . . ; n:
For statistically independent random variables, this transformation is actually diagonal and has
the elements ui = U1[Fi(xi)]. For Nataf-distributed random variables, the transformation has
the form u ¼ L1
0 z, where z = (z1, . . ., zn) are the marginally transformed variables defined earlier
and L0 is the Choleski decomposition of the correlation matrix R0 having the elements q0,ij. For
random variables defined by conditional distributions, the well-known Rosenblatt transformation
[16] is used. For each of these transformations, CalREL includes a Newton-type algorithm for
computing the inverse, which takes advantage of the triangular form of the transformation. Calculations are performed from top to bottom, involving one unknown in each nonlinear equation.
The Jacobian of the transformation, which is also needed in certain reliability methods, is hardcoded in CalREL for library distributions and computed by finite differences for user-defined distributions. Note that the Jacobian is also triangular. As a result, its inverse, which is also required,
is easily computed.
2.3. Analysis methods
CalREL incorporates several methods and algorithms for reliability analysis of structural components and systems. These include the first-order reliability method (FORM), the second-order
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
reliability method (SORM), importance sampling (IM), directional simulation (DS), orthogonalplane sampling (OPS) and Monte Carlo simulation (MCS). These and other available methods are
briefly described below.
2.3.1. FORM
As is well known [13], FORM employs a linearization of each limit-state function at the socalled design point, which is the point on the limit-state surface nearest to the origin in the standard normal space. For a limit-state function g(x) (dropping the index and the parameters hg for
ease of notation), the design point is obtained by solving the constrained optimization problem
u ¼ arg min fkukjGðuÞ ¼ 0g;
where G(u) = g(T (u)) is the limit-state function in the transformed standard normal space. CalREL offers six alternative algorithms for solving this problem: The original HLRF algorithm as
developed by Hasofer and Lind [14] and extended by Rackwitz and Fiessler [32] for nonnormal
random variables, the modified HLRF algorithm developed by Liu and Der Kiureghian [24],
the improved HLRF algorithm developed by Zhang and Der Kiureghian [40], the gradient projection method [27], the sequential quadratic programming method [33], and the Polak and He
[31] algorithm. All these algorithms employ an iterative scheme of the form
urþ1 ¼ ur þ kr dr
r ¼ 0; 1; . . . ;
where dr is a search direction vector and kr is a step size. The step size is selected by minimizing the
value of a ‘‘merit’’ function m(u) along the search direction. In CalREL, the Armijo rule is employed for this purpose [27]. The difference between the various algorithms is in the selection of
the search direction and the merit function. A common feature among all the algorithms is that
they use the gradient vector $G of the limit-state function to define the search direction. Thus, the
solution of (5) essentially requires repeated computations of the limit-state function and its gradient. In our experience, the improved HLRF algorithm and the Polak-He algorithm perform best
for solving problem (5).
Once the design point u* is obtained, the reliability index for the component is computed as
b = au*, where a = $G/i$Gi is the normalized negative gradient vector at the design point.
The first-order approximation of the failure probability is given by pf1 = U(b).
For a series system, CalREL linearizes each component limit-state function at its design point
and determines the corresponding reliability index, bi, and the normalized negative gradient vector, ai. The correlation coefficient between the linearized limit-states is given by qij = ai Æ aj. The
formula pseries,1 = 1Un(B, R), derived by Hohenbichler and Rackwitz [17], is then used to compute the first-order approximation of the failure probability, where Un is the n-variate correlated
standard normal CDF having the arguments B = (b1, . . ., bK) and the correlation matrix R = [qij].
CalREL uses an efficient simulation method developed by Au and Beck [3] to compute this multinormal probability function for series systems. A second alternative implemented in CalREL for
computing the reliability of series systems is the bounds by Ditlevsen [12]. This alternative makes
use of the bi-variate normal CDF U2(bi, bj, qij), for which a single-fold integral formula is
For parallel systems, CalREL has two options for linearizing the limit-state surface. In one option, the surfaces are linearized at the individual design points as defined by (5). In the second
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
option, the joint design point associated with the individually linearized surfaces is first found, and
then each limit-state function is linearized at that point. After determining the reliability index, bi,
and the normalized negative gradient vector, ai, for each linearized limit-state function, the firstorder approximation to the parallel system probability is computed by using the formula
pparallel,1 = Un(B, R) due to Hohenbichler and Rackwitz [17], where Un, B and R are as defined
earlier. The multi-normal CDF in this case is computed by the sequential conditioned importance
sampling method developed by Ambartzumian et al. [1].
Three options are available for general systems. In one, the probability in (1) is expanded by use
of the well-known inclusion–exclusion rule and written in terms of a sum of probabilities of intersection events. Each term in the sum is then computed as a parallel-system problem. This approach is practical when the number of cut sets is not too large. The second alternative is to
compute Ditlevsen-type bounds on the general system probability. This involves computing the
probabilities of the individual cut sets and their pair wise intersections. These are again computed
as parallel system problems. The third option makes use of linear programming to compute
bounds on the system probability in terms of marginal and joint component probabilities. The
details of the latter method are presented in Song and Der Kiureghian [36].
2.3.2. SORM
CalREL incorporates two distinct methods for second-order reliability analysis. In one method,
the limit-state surface is approximated by a paraboloid surface with its principal curvatures fitted
to the principal curvatures of the limit-state surface at the design point. Two algorithms are available for determining the principal curvatures and the corresponding principal directions of the
limit-state surface at the design point. One algorithm determines the principal curvatures (eigenvalues) and the principal directions (eigenvectors) by solving an eigenvalue problem involving the
Hessian (second-derivative matrix) of the limit-state surface. The Hessian is computed by finitedifference calculations in the standard normal space. Another algorithm computes the principal
curvatures in the order of decreasing magnitude by iterative calculations in the course of finding
the design point by the improved HLRF algorithm (see [9]). This approach is advantageous for
reliability problems with large number of random variables, since calculations can be stopped
when the magnitude of the last curvature found is sufficiently small. Once the principal curvatures
are determined, the asymptotic formula by Breitung [5] or the exact formula by Tvedt [37] is used
to compute the probability content of the fitted paraboloid as the SORM approximation, pf2, of
the failure probability for each component.
The curvature-fitting SORM approximation is applicable when the limit-state function is twice
differentiable and the second derivatives can be easily and accurately computed. When the limitstate function involves numerical computations that are subject to truncation or other errors (e.g.,
finite element computations), the resulting noise makes the computation of curvatures problematic. For such problems, CalREL has a point-fitting SORM approximation. In this method the
limit-state function is approximated by a piecewise paraboloid surface, which is tangent to the
limit-state surface at the design point and coincides with the limit-state surface at two points
on each axis selected on both sides of the origin. The SORM approximation of the failure probability is again computed by the Breitung or Tvedt formulas. The details of the method can be
found in Der Kiureghian et al. [10] and Araya and Der Kiureghian [2]. This approach is advantageous when the computation of curvatures is problematic, or when the problem has a large
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
number of random variables. For the vast majority of problems we have studied, the results obtained by the two SORM approximations have been in close agreement.
For system problems, one SORM option available in CalREL is to replace each component
limit-state surface by an approximating piecewise paraboloid surface, and then use a directional
simulation method to compute the system probability. This is further described in the following
2.3.3. Sampling methods
CalREL incorporates four different methods for probability computation by random sampling. The most basic method is MCS. The probability in (1) is computed by randomly sampling
standard normal random variables uj, j = 1, . . ., N, transforming them to the original space,
xj = T1(uj), and computing the mean and standard deviation of the sample values qj = I(uj),
The sample
where I(uj) = 1 if xj is in the failure domain and I(uj) = 0 if xj is in the safe domain.
mean q provides an estimate of the failure probability and the quantity dq = N , where dq is the
computed coefficient of variation (c.o.v.) of the sample, provides the c.o.v. of the probability
estimate as a measure of accuracy of the estimate. The user specifies a maximum value for N
and a minimum value for dq. The simulation is terminated whenever either of these limits is
reached. The user has the option of providing a seed for the random number generator. This
is useful when it is desired to use the same sequence of random numbers in order to compare
results obtained for different methods or problem formulations. The MCS method is applicable
to all component and system problems. However, the number of needed simulations rapidly
grows with decreasing probability. Therefore, this method is not effective for small-probability
In the importance sampling (IS) method, a distribution other than standard normal is used to
generate the sample values uj, j = 1, . . ., N. Specifically, the distribution
hðuÞ ¼
wi uðu ui Þ;
suggested by Schuëller and Stix [34] and Melchers [28] is used, where wi are a set of weights and
uðu ui Þ is the standard normal PDF centered at the ith design point. The only other difference is
that the sample values qj are now computed as qj = I(uj)u(uj)/h(uj). For component and series system problems, the design points are as obtained for each limit-state function from (5). For parallel
and general systems, the design points are obtained at the intersection of linearized limit state surfaces by solving an optimization problem with multiple linear constraints. The IS method is most
effective for component and series-system problems, regardless of the magnitude of the failure
probability. It may be less effective for parallel or general system problems when the failure domain appears as a narrow wedge.
In the DS method (see, e.g. [4]), a sequence of random direction vectors aj = uj/iuji, j = 1, . . ., N,
is simulated and the sample values are computed as qj ¼ 1 v2n ðr2j Þ, where v2n ðÞ is the chi-square
CDF with n degrees of freedom and rj is the distance from the origin to the system failure surface
computed by solving
rj ¼ min max rjGi ðraj Þ ¼ 0 :
i2C k
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
A root-finding method by bi-section is used to solve the above problem. Two options are available
in CalREL for this type of analysis. In one option the roots are solved with the original limit-state
functions. In a simpler and faster approach, the limit-state surfaces are replaced by their first(hyperplane) or second-order (piecewise paraboloid) approximations, for which closed-form solutions of the roots are available [22]. In this way, an approximate estimate of the system failure
probability is obtained without additional computations of the limit-state functions. The DS
method is most effective for component and series system problems, regardless of the magnitude
of the failure probability. However, it tends to slow down with increasing number of random variables (dimension of the space).
In the OPS method [18], the simulation is conducted in a plane orthogonal to the normalized
negative gradient vector a of a design point. For each simulated point in the orthogonal plane, the
distance hj from the plane to the limit-state surface in a direction parallel to a is computed by a
root-finding scheme. The estimation is then performed in the manner described above with the
sample values computed as qj = U(hj). The OPS method is effective for component problems
and certain parallel system problems, particularly when the failure domain appears as a narrow
wedge orthogonal to the a vector. This kind of parallel system problem arises when computing
the mean up-crossing rate in random vibration analysis.
2.4. Sensitivity and importance measures
Upon request, CalREL computes the sensitivities (partial derivatives) of the FORM approximation of each component reliability with respect to the distribution parameters, hf, and limitstate function parameters, hg. These are computed by use of well-known reliability sensitivity
formulas (see [13]). These sensitivity measures can be used in a variety of ways, including parameter uncertainty analysis, optimal design, identification of important parameters, and reliability
As a part of its standard output, CalREL lists four sets of importance vectors for the random
variables. The first vector is a. As shown in Der Kiureghian [8], the elements of this vector represent contributions by the standard normal random variables ui, i = 1, . . ., n, to the total variance
of the limit-state function linearized at the design point. In this sense, the elements of a provide
relative measures of importance of the elements of u. The second importance vector produced by
CalREL is the unit vector c, which, in analogy to a, represents the relative contributions of the
original random variables xi, i = 1, . . ., n, to the total variance of the linearized limit-state function.
As shown in Der Kiureghian [8], c coincides with a when the random variables x are statistically
independent. The third importance vector is d = $MbD, where $Mb is the gradient row vector of
the reliability index with respect to the mean values of the random variables x with the standard
deviations fixed, and D is the diagonal matrix of the standard deviations. The product produces a
dimensionless vector whose elements are the sensitivities of b with respect to the mean values,
scaled by the corresponding standard deviations. The scaling is intended not only to make the
importance vector dimensionless, but also to make the variations in the mean values proportional
to the uncertainty present in each random variable. The fourth and final importance vector is
g = $DbD, where $Db denotes the gradient row vector of the reliability index with respect to
the standard deviations of the random variables x with the mean values fixed. While d conveys
the relative importance of the random variables with respect to variations in their mean values,
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
g indicates their relative importances with respect to variations in their standard deviations. We
have found the importance vectors c, d and g to be invaluable in gaining insight into the physics of
a reliability problem.
2.5. Example application
As mentioned earlier, CalREL has no limitation (other than the capacity of the computer used)
on the number of input random variables, parameters, limit-state functions and cut sets. An
example with a large number of these quantities could be given here. Instead, we have selected
a simple example taken from Der Kiureghian [8], which well illustrates the system reliability capabilities in CalREL as well as the idea of reliability updating. More elaborate examples involving
implicit limit-state functions can be found in several of the references mentioned earlier.
Consider the one-bay frame in Fig. 1, which has ductile members and is subjected to random
horizontal and vertical loads h and m. The frame has random plastic moment capacities mi,
i = 1, . . ., 5, at the joints shown in the figure. Under the applied loads, this frame may fail in
any of the three mechanisms shown in Fig. 1. Using the principle of virtual work, these mechanisms are described by the following limit-state functions:
g1 ðxÞ ¼ m1 þ m2 þ m4 þ m5 5h;
g2 ðxÞ ¼ m2 þ 2m3 þ m4 5m;
g3 ðxÞ ¼ m1 þ 2m3 þ 2m4 þ m5 5h 5m;
Fig. 1. Ductile frame and its failure mechanisms.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
where x = {m1, . . ., m5, h, m}T is the vector of random variables. Table 1 shows the assumed distributions and second moments of the random variables.
The reliability of the frame against the formation of a mechanism represents a series system reliability problem with the limit-state functions (8a)–(8c). Using the FORM approximation, we obtain the following bkak values for the three components:
b1 a1 ¼ 2:29½0:238 0:174 0:044 0:131 0:112 0:939 0:000;
b2 a2 ¼ 2:87½0:263 0:356 0:425 0:204 0:000 0:000 0:763;
b3 a3 ¼ 2:00½0:313 0:137 0:291 0:240 0:113 0:792 0:317;
Thus, we have B = (2.29, 2.87, 2.00) and q12 = a1 Æ a2 = 0.170, q13 = a1 Æ a3 = 0.899 and
q23 = a2 Æ a3 = 0.545, where qij are the elements of the 3 · 3 inter-component correlation matrix
R. Using the multinormal probability algorithm, CalREL computes pf1 = 1U3(B, R) = 0.0270.
Now suppose the frame has been proof-tested under a horizontal load of h0 = 70 kN and a vertical load of m0 = 72 kN. Since the frame has survived under these loads, we have observed the
g4 ðxÞ ¼ ðm1 þ m2 þ m4 þ m5 5h0 Þ 6 0;
g5 ðxÞ ¼ ðm2 þ 2m3 þ m4 5m0 Þ 6 0;
g6 ðxÞ ¼ ðm1 þ 2m3 þ 2m4 þ m5 5h0 5m0 Þ 6 0;
where h0 and m0 are deterministic values, as given above. The updated probability of failure of the
frame in light of the proof-test result is the conditional probability
P ðC 1 [ C 2 [ C 3 Þ
P ðC 4 Þ
where the index sets for the cut sets Ck, k = 1, . . ., 4, are c1 = (1, 4, 5, 6), c2 = (2, 4, 5, 6),
c3 = (3, 4, 5, 6) and c4 = (4, 5, 6), respectively. It is seen that the numerator represents a general system problem, whereas the denominator is a parallel system problem. First-order approximation of
the probabilities in (11) yields the updated probability pf1|proof test = 0.0189. In light of the positive
Table 1
Description of random variables for frame example
mi, i = 1, . . ., 5 (kN m)
h (kN)
m (kN)
Joint lognormal
qmi mj ¼ 0:3; i 6¼ j
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
proof test observation, this result is smaller than the unconditional failure probability estimated
The development and maintenance of software such as CalREL and OpenSees require expertise
in computer programming. As mentioned earlier, CalREL uses the FORTRAN language,
whereas OpenSees uses C++. Neither of these languages are immediately comprehensible for students and researchers without experience in computer programming. Recently, so-called scripting
languages have become available to remedy this problem. These programs, such as Matlab, Tcl,
and Python, allow the user to give commands in an interactive mode or in a batch mode through
an input file. In addition to the advantage of not having to compile an algorithm before executing
it (scripting languages compile at run time), the scripting languages usually have simpler syntax
rules while retaining features of structured programming, such as ‘‘for’’ and ‘‘while’’ loops and
‘‘if’’ statements.
In this section, we briefly present the reliability algorithms in FERUM, which are prepared in
the Matlab scripting language. This work has successfully built a developer-friendly computational platform that facilitates learning and collaboration between students and researchers.
Many of the algorithms that are implemented in OpenSees were first tested in the FERUM environment. In essence, FERUM is a collection of files that contain commands to perform reliability
analysis by FORM, SORM and sampling techniques. The file collection is available at the website
One feature of FERUM to be noted is the ease by which new algorithms are added to evaluate
the limit-state function(s). An interface file named gfun.m is provided to allow the developer to
link to separate algorithms that specify the limit-state function, and possibly its gradient vector,
for a given realization of the random variables. This is a powerful feature because of (a) the ease
with which expressions and algorithms are implemented in Matlab, (b) the strong debugging/error handling capabilities of Matlab, and (c) the abundance of advanced mathematical functions
in Matlab. An example of this type of linkage is an interface between FERUM and the nonlinear
structural analysis code FEDEAS (http://www.ce.berkeley.edu/~filippou/Research/fedeas.htm)
written by Paolo Franchin. This enables the user to specify limit-state functions in terms of response quantities from linear and nonlinear, static and dynamic analysis of buildings and bridges,
in a manner similar to that of OpenSees. The second example is a small finite element code with
truss, beam and quadrilateral elements, which is provided as part of the FERUM package. This
code was established by taking advantage of the powerful matrix analysis capabilities of Matlab,
and was readily linked to the reliability analysis module through the gfun.m file.
A number of researchers have contributed to further development of FERUM since its initiation by A. Der Kiureghian and T. Haukaas in 1999. These include P. Franchin, A. Hahnel, S.
Pakzad, J. Song, and B.Sudret. In particular, the work by J. Song extended the original version
with state-of-the-art system reliability analysis options, B. Sudret added random field models and
A. Hahnel extended the software with comprehensive SORM analysis capabilities.
Naturally, the computational efficiency of FERUM is less than that of CalREL and OpenSees.
This is due to the fact that FERUM uses a scripting language and, hence, compiles at run time.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
However, the ease in using FERUM in a pedagogical context and as a vehicle for collaboration
between researchers has proven to counteract this disadvantage.
4. OpenSees
An increasingly important objective for the structural reliability community is the incorporation
of advanced reliability methods into current engineering practice. One initiative to address this
objective is the development of nonlinear finite element reliability methods. Such methods comprise
a combination of static and dynamic nonlinear finite element analysis and reliability algorithms,
such as FORM, SORM and simulation. To promote the use of reliability methods, it is imperative
that these techniques be implemented in modern software packages that are in widespread use.
OpenSees fits this description, as it is rapidly gaining ground as a computational platform for nonlinear structural analysis. As mentioned earlier, OpenSees is the computational platform of PEER
and NEES. As such, it has a rapidly growing user and developer clientele throughout the world.
Several important advantages are offered by OpenSees, which are unique among existing structural
reliability codes. These include the open-source nature of the code, its object-oriented software
architecture, and its extensive and extensible library of material, section and element objects.
Motivation for the development of reliability capabilities in OpenSees is also provided by the
observation that software developed within an academic setting are often prone to developer discontinuity, as students graduate and leave to pursue their careers. As a result, the software often
lacks proper maintenance and quickly becomes obsolete due to lack of proper documentation and
haphazard development. This is particularly the case when a procedural and personalized software design is employed. The end result is a patchwork-type software structure. This is not desirable for several reasons. Such software become increasingly difficult to debug and maintain and
extensions can only be added in an ad hoc manner. Furthermore, the cost of climbing the learning
curve for new students/developers who wish to utilize or further develop the software tends to become discouragingly high with time. This adversely affects motivation and frequently leads to a
decision to abandon the existing software. These time- and resource-costly development cycles
are not desirable. These problems are remedied by the software architecture enabled by the object-oriented programming approach.
In this section, we first describe the fundamental concepts of object-oriented programming and
the reliability implementations in OpenSees. An important part of the implementations is the
extension of the core finite element code with response sensitivity capabilities. Next, we provide
an overview of the analysis features that are currently available, and describe how to make use
of them through the so-called Tcl interface of OpenSees. The section concludes with an example
to demonstrate nonlinear finite element reliability analysis of a highway bridge. Readers are referred to Haukaas and Der Kiureghian [15] and the website http://opensees.berkeley.edu for further details regarding this example and the reliability implementations in OpenSees.
4.1. Object-oriented software library for reliability analysis
The introduction of object-oriented programming has transformed modern software development. A key element in this transformation is the notion of standardized, interchangeable
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
software components. In object-oriented programming, these components are called objects or,
abstractly, classes. Objects are created at run-time based on specifications made by the developer
in the corresponding classes. Each class, and hence object, generally contains both member functions and member data. In object-oriented programming, increased emphasis is placed on the
planning and design phase of the software development. The task at hand is abstracted and separated into logical components. Member functions are designed to handle the interaction between
objects and to perform operations on member data. Various design patterns can be employed,
depending on the structure of the problem. The reliability implementations in OpenSees are separated into a ‘‘domain’’ and an ‘‘analysis’’ part. The domain consists of classes such as random
variables, limit-state functions, and correlation structures. The analysis part is organized into separate analysis tasks, such as computing the step size in the search for the design point and performing probability transformations. We stress the extensibility and maintainability features of
this analysis framework: the user can easily change algorithms for each analysis task separately,
without modifying the software framework. For instance, the user may wish to investigate the effect of changing the rule that computes the step size in the algorithm for finding the design point.
Such changes are accommodated in OpenSees in a straightforward manner.
Object-oriented programming is based on several fundamental principles that are independent
of language. They represent the means by which real-world procedures are transformed into abstract data types. Of particular interest to the reliability implementations in OpenSees are the principles that allow the creation of a software framework with enhanced extensibility and
maintainability. The two principles of inheritance and polymorphism are essential for this objective. The former permits the organization of classes into a framework of base classes and subclasses. The subclasses inherit functionality from their associated base classes. Such a hierarchy
can have several levels. This concept is used extensively in the reliability implementations in OpenSees. For instance, the base class GFunEvaluator is part of the framework of reliability analysis
tools. It is responsible for obtaining the value(s) of the limit-state function(s). Associated subclasses, such as the OpenSeesGFunEvaluator, extends the capabilities of the base class to handle
cases where response quantities from an OpenSees finite element analysis are included in the limit-state function(s).
The principle of polymorphism is a powerful concept that further enhances the extensibility of a
software framework by allowing ‘‘virtual’’ methods to be created, i.e., methods that merely act as
placeholders. Actual implementations are provided by the subclasses. For instance, a base class
named ProbabilityTransformation exists in the reliability analysis framework. This class promises
features such as transformation to and from the standard normal space and computation of the
corresponding Jacobian matrix, but it does not provide any specific implementations. For this reason it is called a virtual base class. Specific implementations are provided in subclasses, such as the
NatafProbabilityTransformation class.
The principles of object-oriented programming facilitate the abstraction of engineering analysis
into a framework of base classes. Such frameworks are easily extended with new subclasses without the need to modify the framework itself. Detailed specification of the member functions and
data members of a class is found in the class interface. This information is the key to understanding an object-oriented software framework. At the OpenSees web site, these specifications are provided in separate files with the .h extension. Detailed implementations of the promised features are
provided in .cpp files, which are also made freely available. Some of the classes in the reliability
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
framework of OpenSees are briefly mentioned here. Eight global analysis classes are available:
FORMAnalysis, SORMAnalysis, SamplingAnalysis, SystemAnalysis, FOSMAnalysis, ParametricReliabilityAnalysis, OutCrossingAnalysis, and GFunVisualizationAnalysis. These are the orchestrating algorithms for the various analysis types. Each analysis type requires certain tasks to be
performed, such as evaluating the limit-state function, evaluating its gradient, transforming the
vector of random variables between original and standard normal spaces, and selecting search
direction vectors and step sizes in the search for the design point. Some tasks are sub-tasks to
other tasks. Additional tasks, such as generating random numbers, computing curvatures of
the limit-state surface, checking for convergence, and evaluating a merit function are also addressed by the software framework. These and other tasks are identified and abstracted into a
framework of interacting base- and sub-classes according to the principles just outlined.
The limit-state function(s) is specified by the user in the input file. The expression may include
one or more of the random variables defined for the problem, or response quantities from a finite
element analysis that are implicit functions of the random variables. Alternatives are available to
enable the user to create Tcl or Matlab scripts to evaluate the limit-state function(s). We stress
that there is no need to re-compile the code upon specification of the limit-state function, as is the
case with most reliability software, including CalREL. The evaluation of the Tcl expressions are
automatically handled inside OpenSees.
The reliability domain of OpenSees currently can be populated by seven types of domain components: RandomVariable, CorrelationCoefficient, PerformanceFunction (limit-state function),
RandomVariablePositioner, Filter, ModulatingFunction, and Spectrum. Some of these classes are
virtual base classes which require specific implementation of subclasses. For instance, a library
of random variable subclasses is available. These serve as a library of probability distributions
for the user to select from. Additional subclasses can be easily added to this library.
A disadvantage of the object-oriented programming approach may be a slight increase in the
computational overhead; namely, the time spent by the computer on tasks not associated with
the finite element or reliability computations but rather with interaction between objects. Studies
show that the increase in computational effort with the object-oriented approach, as compared
with the common procedural approach, is of the order of 10–15% [29]. It is believed, however,
that the time and resources saved in learning, debugging, maintaining, extending and continually
using an object-oriented software framework is well worth the possible sacrifice in computational
As a part of implementing reliability modules in OpenSees, significant effort has been devoted
to extending the core finite element code with response sensitivity capabilities. Derivatives of finite
element response quantities with respect to model parameters are desirable for a number of reasons, including: (1) as indicators of parameter importance, guiding the allocation of resources for
gathering information, (2) in assessing the effect of parameter uncertainties on the response, (3) in
determining search directions in optimal design and system identification analysis, and (4) for
finding the design point for reliability analysis by FORM, SORM and importance sampling. It
is essential that such gradients are computed accurately, efficiently and consistent with the approximations inherent in the computation of the response quantities themselves.
Response sensitivities of course can be computed by finite differences. However, the requirement for repeated finite element analysis makes this method impractical, particularly for nonlinear
problems. Additionally, there are accuracy issues in nonlinear problems. The direct differentiation
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
method (DDM) (see, e.g. [20,39]) involves development of analytical derivatives of the finite element response and their implementation as a part of the finite element code. With this method, no
repeated finite element analyses are needed to compute the response gradient. Instead, the gradient is computed alongside the response itself during one analysis. Hence, at the cost of an initial
investment, response sensitivities are computed accurately and efficiently by the DDM. In OpenSees, DDM is implemented for static and dynamic inelastic problems. Response sensitivities are
obtained with respect to material parameters, nodal coordinates, cross-sectional geometry and nodal loads for a variety of material models and element formulations. Further details regarding the
derivations and implementations are available in Haukaas and Der Kiureghian [15].
OpenSees is capable of performing reliability analysis for component and series system problems by FORM, a limited SORM (only accounting for the major principal curvature), importance
sampling, and Monte Carlo simulation. Features are also available for modeling stochastic inputs
and computing the mean up-crossing rate of random vibration response by FORM analysis. Currently, OpenSees allows modeling of random variables according to the Nataf joint distribution,
as described in Section 2.1.2. More general joint distribution models requiring the Rosenblatt
transformation and other reliability methods are planned for implementation in the near future.
4.2. Practical use of the reliability implementations in opensees
A Users and Developers Guide for the sensitivity and reliability implementations in OpenSees
is available in Haukaas and Der Kiureghian [15]. We stress, however, that OpenSees is a software
framework for developing computer applications. It should not be regarded as a packaged
‘‘code,’’ but as a collection of software components. Presently, the scripting language Tcl [38] is
employed as an interface to make use of the OpenSees software framework. Commands are added
to Tcl to create model components and to aggregate the analysis tools. This subsection provides a
brief overview of the commands added to facilitate the use of the reliability and sensitivity implementations. Prior to any of the subsequent commands, the command reliability must be issued. In
effect, this command ‘‘activates’’ the reliability and sensitivity commands by loading them into the
Tcl script interpreter.
Reliability commands are available in five categories. The first category of commands characterize the material properties, geometry and loads of the finite element model as uncertain quantities. They are randomVariable, rvReduction, correlate, correlateGroup, randomVariablePositioner,
discretizedRandomProcess, simulatedRandomProcess, modulatingFunction, filter, and spectrum.
Second category includes the command performanceFunction, which is used to specify the limitstate function(s) of the reliability analysis. A wide collection of finite element response quantities
are available for inclusion in the expressions for these functions. The syntax rules are described in
Haukaas and Der Kiureghian [15]. The third category includes commands to create the analysis
tools. An important objective in developing the reliability analysis framework has been to modularize the analysis algorithms. Before a reliability analysis is executed, the user must create an
aggregation of the necessary analysis components or ‘‘tools,’’ depending on the type of analysis
to be carried out. The following commands are available for this purpose, each with alternative
options: probabilityTransformation, gFunEvaluator, gradGEvaluator, searchDirection, stepSizeRule, rootFinding, meritFunctionCheck, reliabilityConvergenceCheck, startPoint, findDesignPoint,
randomNumberGenerator, and findCurvatures. In the fourth category are the eight global analysis
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
classes mentioned previously, each having one command associated with them. Finally, commands are available to obtain response sensitivity results from the DDM implementations in
4.3. Numerical example
The Pacific Earthquake Engineering Research (PEER) Center has selected four ‘‘testbed’’ structures for numerical studies and testing of analysis tools developed by its researchers (see http://
www.peertestbeds.net). In this section, the I-880 highway bridge testbed is considered for reliability analysis by utilizing the reliability implementations in OpenSees. The finite element model of
this structure is developed by Kunnath et al. [21]. A frame consisting of four bents is considered
and both static pushover and inelastic dynamic analysis are conducted. Fig. 2 depicts the general
features of the model, where node and element numbers are identified for subsequent discussion of
the reliability results. The foundation is modeled using soil spring elements. The columns are
modeled with distributed hinges at the element ends. The cross-sections of these hinges are
Fig. 2. Node and element numbers for I-880 testbed bridge model.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
fiber-discretized, and the behavior of the confined and unconfined concrete fibers and the reinforcing steel are described by realistic uni-axial material models. The structure is analyzed as a
free-standing frame with no interaction effect from adjacent bridge structures. All parameters
describing material properties, cross-sectional geometry and nodal coordinates are characterized
as random variables. Thus, a total of 320 random variables describe the structural model.
Detailed specifications are provided in Haukaas and Der Kiureghian [15]. Aside from determining
the propagation of uncertainties and probabilities for specified limit states, an important purpose
of the reliability analysis is to determine parameter importance measures so that important
sources of uncertainty can be identified.
First, a probabilistic push-over analysis is performed. The horizontal displacement at node
15005, denoted u, is computed for horizontal loads applied at nodes 1403, 1503, 1603 and 1703
with a load factor k. Fig. 3(a) shows the conditional mean and mean ± standard deviation of u
for given k, and Fig. 3(b) shows the conditional mean and mean ± standard deviation of k for given u, both computed by first-order second-moment (FOSM) analysis. Both diagrams show that
the uncertainty in the response increases with increasing nonlinearity. This is expected, since nonlinear response is more sensitive to uncertainties in the system parameters. For each value of u or
k, the above evaluation requires a single finite element response and sensitivity analysis.
Importance measures based on FOSM (product of sensitivity and standard deviation) are computed for each random variable and response quantity. As expected, these measures vary depending on the considered response quantity and the location within the load–displacement curve.
Here, we report some of the results for the propagation of uncertainty in u for given k, i.e., the
case in Fig. 3(a). In the initial region of the load–displacement curve, the stiffness of the soil
springs is identified as the most important variable. The stiffness and cross-sectional geometry
of the horizontal elastic elements close to the bent with node 15005 also rank high. Remarkably,
the nodal coordinates in the y-direction for the nodes of this bent are among the top 25 most
important variables, even though the assumed standard deviation for the nodal coordinates is
only 1.27 cm. The strength and stiffness of the cover concrete of the distributed fiber hinges in
elements 151 and 152 (see Fig. 2) also rank among the 40 most important variables, as does
the elastic modulus E of the elastic region of these elements. In the yielding region of the load–
displacement curve, the yield strength parameters of both reinforcing steel and core/cover
concrete of the columns are most important, followed by the vertical and horizontal soil spring
stiffnesses. y- and z-direction coordinates of several nodes also rank high.
Next, we consider reliability push-over analysis with the limit-state function g(x) = u0 u(x, k),
where u0 is a threshold and u(x, k) is the displacement for the random variables x and load factor
k. Repeated reliability analysis while varying u0 allows us to compute the complementary cumulative distribution function (CCDF) of the displacement. A special feature is available in OpenSees for such parameterized reliability analysis. Furthermore, probability sensitivities with
respect to the threshold values provide the probability density functions (PDF) of the displacement. These are plotted in Fig. 4 for three cases: (a) reliability analysis including the uncertainty
in only the 10 most important random variables, (b) analysis with the top 100 most important
random variables, and (c) analysis with all 320 random variables. It is clear that the analysis with
the top 100 most important random variables produces results that are practically identical to
those obtained when all 320 random variables are considered. Based on this finding, subsequent
reliability analysis were carried out using only the top 100 most important variables with the
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
Mean displacement
Load factor
Mean + std.dev.
Displacement [meters]
Mean displacement
Load factor
Mean + std.dev.
Displacement [meters]
Fig. 3. Results from FOSM analysis; conditional mean and mean ± standard deviation for (a) u given k and (b) k given u.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
CCDF for displacement response at load factor 0.20
10 most important r.v.
100 most important r.v.
All 320 r.v.
CDF = P[g < 0]
Displacement threshold uo
Corresponding PDF
Corresponding PDF
10 most important r.v.
100 most important r.v.
All 320 r.v.
Displacement threshold uo
Fig. 4. Probability distribution for displacement response at load factor k = 0.20; obtained by a series of FORM
reliability anlayses.
remaining ones being substituted with their mean values. This simplification greatly reduces the
required computational effort. As a means of examining the accuracy of the above results, importance sampling centered at the design point is carried out for the limit-state function g(x) for
k = 0.20 and u0 = 0.35 m. A sample of 1000 simulations produces the failure probability (the probability that u(x, 0.20) exceeds the threshold u0 = 0.35 m) estimate ^pf ¼ 0:0107 with 5.5% coefficient
of variation. The FORM approximation, pf1 = 0.0119, compares favorably with this ‘‘exact’’ estimate. It is noted that a Monte Carlo estimate with 5% c.o.v. would require approximately 34,000
Convergence of the search for the design point may be impeded by problems such as response
sensitivity discontinuities and trial points too far in the failure domain. The latter may happen due
to the response being more nonlinear at the design point than at the start point. Remedies such as
the use of ‘‘smooth’’ material models and step size control are implemented in OpenSees to improve the stability of the search algorithm. The details can be found in Haukaas and Der Kiureghian [15].
OpenSees includes several options for stochastic dynamic analysis. One option is to compute
the mean rate of occurrence of events such as {g(x, y(t)) 6 0}, where y(t) denotes a vector of stochastic processes, e.g., components of the ground motion, which are represented in a discrete form
in terms of a finite number of random variables. This problem can be solved as a parallel system
reliability problem (see [7]). If the limit-state function exhibits a monotonically decreasing
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
behavior with time, then time-invariant FORM analysis can be used to solve the probabilistic dynamic problem. As an application to the I-880 testbed, we consider the limit-state function
g(x) = E0 Eh(x), where Eh(x) is a (nonnegative) cumulative damage measure, such as the hysteretic energy dissipated by an element during a specified ground motion, and E0 is an acceptable
threshold. Since Eh(x) is a cumulative measure, the above limit-state function monotonically decreases with time. Therefore, the probability of failure can be computed at the end of the excitation period. For this application, we have selected Eh(x) as the cumulative hysteretic energy
dissipated by the reinforcing bar in the plastic hinge section of column 152. We also select
E0 = 22 · 106 N/m2. Fig. 5 shows the displacement response at node 15005 and the strain-stress
history of the selected reinforcing bar, when the structure model with mean properties is subjected
to the ground motion record at the Gilroy Historic station during the 1989 Loma Prieta earthquake. It is seen that significant inelastic deformation occurs in the bar. Now, FORM analysis
with the above limit-state function and the top 20 most important random variables is carried
out to compute the failure probability. The result is pf1 = 0.00167, indicating a small probability
x 10
Stress [N/m2]
Displacement [m]
Time [sec.]
x 10
x 10
Stress [N/m2]
Stress [N/m ]
x 10
x 10
x 10
Fig. 5. Response at mean point: (top) displacement time history and (bottom) hysteretic stress–strain curve for selected
reinforcing bar.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
that the hysteretic energy dissipated by the selected reinforcing bar will exceed the specified
5. Concluding remarks
The features and capabilities of three software for structural reliability analysis developed at the
University of California at Berkeley, are reviewed. The three software have different objectives
and serve different purposes. CalREL is a stand-alone, general-purpose structural reliability code
written in FORTRAN. It performs reliability analysis for structural components and general systems by FORM, SORM, Monte Carlo simulation and a variety of importance sampling methods.
It can be combined with application codes, e.g., a finite element code for structural analysis, provided access to the source of the application code is available. FERUM is a collection of Matlab
files, which allows maximum flexibility in a collaborative teaching and research environment for
finite element reliability analysis. However, it is not as efficient or as powerful as CalREL. OpenSees is an open-source, object-oriented simulation platform for general-purpose nonlinear structural analysis, which has been empowered with capabilities for response sensitivity and reliability
analysis. Reliability algorithms are directly implemented in the code framework, so that no linking
of separate software is necessary. Due to its object-oriented architecture and extensive capabilities
for modeling and analysis of nonlinear structures, OpenSees offers a bright future in bringing reliability methods into the mainstream of structural engineering practice.
The development of the tree codes described in this paper has benefited from the work of many
individuals, who are not listed as co-authors. Their names are reported within the body of the paper and will not be repeated here. The authors wish to extend sincere thanks for their contributions in developing the codes. Funding for the development of the FERUM and OpenSees were
provided by a grant from the Pacific Earthquake Engineering Research (PEER) Center through
the Earthquake Engineering Research Centers Program of the National Science Foundation under award number EEC-9701568. This supports are gratefully acknowledged.
[1] Ambartzumian RV, Der Kiureghian A, Oganian VK, Sukiasian HS. Multinormal probability by sequential
conditioned importance sampling: theory and application. Probab Eng Mech 1998;13(4):299–308.
[2] Araya R, Der Kiureghian A. Seismic hazard analysis: improved models, uncertainties and sensitivities. Report No.
UCB/EERC-90/11, Earthquake Engineering Research Center, University of California, Berkeley, CA, March;
[3] Au SK, Beck JL. First excursion probabilities for linear systems by very efficient importance sampling. Probab Eng
Mech 2001;16(3):193–207.
[4] Bjerager P. Probability integration by directional simulation. J Eng Mech ASCE 1988;114(8):1285–302.
[5] Breitung K. Asymptotic approximations for multinormal integrals. J Eng Mech ASCE 1984;110(3):357–66.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
[6] Chua KH, Der Kiureghian A, Monismith CL. Stochastic model for pavement design. J Transp Eng ASCE
[7] Der Kiureghian A. The geometry of random vibrations and solutions by FORM and SORM. Probab Eng Mech
[8] Der Kiureghian A. First- and second-order reliability methods. In: Nikolaidis E, Ghiocel D, editors. Engineering
design reliability handbook. Boca Raton (FL): CRC Press; 2004 [chapter 14].
[9] Der Kiureghian A, DeStefano M. Efficient algorithm for second-order reliability analysis. J Eng Mech ASCE
[10] Der Kiureghian A, Lin H-Z, Hwang S-J. Second-order reliability approximations. J Eng Mech ASCE
[11] Der Kiureghian A, Zhang Y. Space-variant finite element reliability analysis. Comp Methods Appl Mech Eng
[12] Ditlevsen O. Narrow reliability bounds for structural systems. J Struct Mech 1979;7(4):453–72.
[13] Ditlevsen O, Madsen HO. Structural reliability methods. New York (NY): Wiley; 1996.
[14] Hasofer AM, Lind NC. Exact and invariant second-moment code format. J Eng Mech Div ASCE
[15] Haukaas T, Der Kiureghian A. Finite element reliability and sensitivity methods for performance-based
earthquake engineering. PEER Report 2003/14, Pacific Earthquake Engineering Research Center, University of
California, Berkeley; 2004.
[16] Hohenbichler M, Rackwitz R. Non-normal dependent vectors in structural safety. J Eng Mech ASCE
[17] Hohenbichler M, Rackwitz R. First-order concepts in system reliability. Struct Safe 1983;1(3):177–88.
[18] Hohenbichler M, Rackwitz R. Improvement of second-order reliability estimates by importance sampling. J Eng
Mech ASCE 1988;114(12):2195–9.
[19] Jang Y-S, Sitar N, Der Kiureghian A. Reliability analysis of contaminant transport in saturated porous media.
Water Resources Res 1994;30(8):2435–48.
[20] Kleiber M, Antunez H, Hien TD, Kowalczyk P. Parameter sensitivity in nonlinear mechanics. West
Sussex: Wiley; 1997.
[21] Kunnath SK, Jeremic B, von Felton A, Bauer K. Simulation models for performance-based evaluation of the I-880
highway bridge. In: Proceedings of the ASCE structures congress, WA; 2003.
[22] Lin H-Z, Der Kiureghian A. Second-order system reliability with directional simulation. In: Proceedings of the 5th
international conference on appllication of statistics and probability in soil and structural engineering, Vancouver,
Canada, May, vol. 2; 1987. p. 930–7.
[23] Liu P-L, Der Kiureghian A. Multivariate distribution models with prescribed marginals and covariances. Probab
Eng Mech 1986;1(2):105–12.
[24] Liu P-L, Der Kiureghian A. Optimization algorithms for structural reliability. Struct Safe 1990;9(3):161–77.
[25] Liu P-L, Der Kiureghian A. Finite-element reliability of geometrically nonlinear uncertain structures. J Eng Mech
ASCE 1991;117(8):1806–25.
[26] Liu P-L, Lin H-Z, Der Kiureghian A. CalREL user manual. Report No. UCB/SEMM-89/18, Structural
Engineering, Mechanics and Materials, Department of Civil Engineering, University of California, Berkeley, CA,
April; 1989.
[27] Luenberger DG. Introduction to linear and nonlinear programming. Reading (MA): Addison-Wesley; 1986.
[28] Melchers R. Importance sampling in structural systems. Struct Safe 1989;6(1):3–10.
[29] McKenna FT. Object-oriented finite element programming: frameworks for analysis, algorithms and parallel
computing. PhD Thesis, University of California, Berkeley; 1997.
[30] McKenna FT, Fenves GL, Scott MH. Open system for earthequake engineering simulation. Berkeley: Pacific
Earthquake Engineering Research Center, University of California; 2002. Available from:Available from: http://
[31] Polak E, He L. A unified steerable phase I – phase II method of feasible directions for semi-infinite optimization. J
Optimiz Theory Appl 1991;69(1):83–107.
[32] Rackwitz R, Fiessler B. Structural reliability under combined load sequences. Comput Struct 1978;9:489–94.
A. Der Kiureghian et al. / Structural Safety 28 (2006) 44–67
[33] Schittkowski K. NLPQL: A FORTRAN subroutine solving constrained nonlinear programming problems. Ann
Oper Res 1985;5:485–500.
[34] Schuëller GI, Stix R. A critical appraisal of methods to determine failure probabilities. Struct Safe
[35] Sitar N, Cawlfield JD, Der Kiureghian A. First-order reliability approach to stochastic analysis of subsurface flow
and contaminant transport. Water Resources Res 1987;23(5):794–804.
[36] Song J, Der Kiureghian A. Bounds on system reliability by linear programming. Eng Mech ASCE 2003;129(6).
[37] Tvedt L. Distribution of quadratic forms in normal space: application to structural reliability. Eng Mech ASCE
[38] Welch BB. Practical programming in Tcl & Tk. Upper Saddle River (NJ): Prentice-Hall; 2000.
[39] Zhang Y, Der Kiureghian A. Dynamic response sensitivity of inelastic structures. Comput Method Appl Mech
Eng 1993;108(1):23–36.
[40] Zhang Y, DerKiureghian A. Two improved algorithms for reliability analysis. In: Rackwitz R., Augusti G, Borri
A. editors. Reliability and Optimization of Structural Systems, Proceedings of the 6th IFIP WG 7.5 working
conference on reliability and optimization of structural systems, 1994; 1995. p. 297–304.
[41] Zienkiewicz OC, Taylor RL. The finite element method, vol. 2. London: McGraw-Hill; 1991.
Random flashcards

39 Cards


17 Cards

African nomads

18 Cards

Create flashcards