Subversion Repositories OpenSees

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
275 fmk 1
/* ****************************************************************** **
2
**    OpenSees - Open System for Earthquake Engineering Simulation    **
3
**          Pacific Earthquake Engineering Research Center            **
4
**                                                                    **
5
**                                                                    **
6
** (C) Copyright 2001, The Regents of the University of California    **
7
** All Rights Reserved.                                               **
8
**                                                                    **
9
** Commercial use of this program without express permission of the   **
10
** University of California, Berkeley, is strictly prohibited.  See   **
11
** file 'COPYRIGHT'  in main directory for information on usage and   **
12
** redistribution,  and for a DISCLAIMER OF ALL WARRANTIES.           **
13
**                                                                    **
14
** Developed by:                                                      **
15
**   Frank McKenna (fmckenna@ce.berkeley.edu)                         **
16
**   Gregory L. Fenves (fenves@ce.berkeley.edu)                       **
17
**   Filip C. Filippou (filippou@ce.berkeley.edu)                     **
18
**                                                                    **
19
** Reliability module developed by:                                   **
20
**   Terje Haukaas (haukaas@ce.berkeley.edu)                          **
21
**   Armen Der Kiureghian (adk@ce.berkeley.edu)                       **
22
**                                                                    **
23
** ****************************************************************** */
24
 
25
// $Revision: 1.1 $
26
// $Date: 2001-06-13 05:06:20 $
27
// $Source: /usr/local/cvs/OpenSees/SRC/reliability/domain/components/LimitStateFunction.h,v $
28
 
29
 
30
//
31
// Written by Terje Haukaas (haukaas@ce.berkeley.edu) during Spring 2000
32
// Revised: haukaas 06/00 (core code)
33
//                      haukaas 06/01 (made part of official OpenSees)
34
//
35
 
36
#ifndef LimitStateFunction_h
37
#define LimitStateFunction_h
38
 
39
#include <ReliabilityDomainComponent.h>
40
#include <Vector.h>
41
#include <fstream.h>
42
 
43
class LimitStateFunction : public ReliabilityDomainComponent
44
{
45
 
46
public:
47
        LimitStateFunction(     int tag,
48
                                                char *expression);
49
        ~LimitStateFunction();
50
        void Print(ostream &s, int flag =0);
51
        char *getExpression();
52
        void printResults(ofstream &outputFile);
53
        void printSummaryOfResults(ofstream &outputFile);
54
 
55
 
56
        // Flags to check if analyses are performed
57
        bool FORMAnalysisPerformed;
58
        bool SimulationAnalysisPerformed;
59
        bool EvaluateLimitStateFunctionAtStartPointPerformed;
60
        bool PointFittingSORMAnalysisPerformed;
61
        bool CurvatureFittingSORMAnalysisPerformed;
62
        bool CurvaturesFromSearchAlgorithmSORMAnalysisPerformed;
63
 
64
        // GFunValueAtStartPt analysis
65
        double GFunValueAtStartPt;
66
 
67
        // FORM analysis:
68
        double FORMReliabilityIndexBeta;
69
        double FORMProbabilityOfFailure_pf1;
70
        Vector designPoint_x_inOriginalSpace;
71
        Vector designPoint_u_inStdNormalSpace;
72
        Vector normalizedNegativeGradientVectorAlpha;
73
        Vector importanceVectorGamma;
74
        int numberOfIterationsToFindDesignPoint;
75
 
76
        // From Simulation analysis:
77
        double SimulationReliabilityIndexBeta;
78
        double SimulationProbabilityOfFailure_pfsim;
79
        double CoefficientOfVariationOfPfFromSimulation;
80
        int NumberOfSimulations;
81
 
82
        // From SORM analysis:
83
        double SORMCurvatureFittingBetaBreitung;
84
        double SORMCurvatureFittingPf2Breitung;
85
        double SORMPointFittingBetaBreitung;
86
        double SORMPointFittingPf2Breitung;
87
        double SORMUsingSearchBetaBreitung;
88
        double SORMUsingSearchPf2Breitung;
89
        Vector lastSearchDirection;
90
        int numberOfCurvatauresUsed;
91
        Vector secondLast_u;
92
        Vector secondLastAlpha;
93
 
94
 
95
 
96
 
97
protected:
98
 
99
private:
100
        int tag;
101
        char *expression;
102
 
103
};
104
 
105
#endif