Blame |
Last modification |
View Log
| RSS feed
/* ****************************************************************** **
** OpenSees - Open System for Earthquake Engineering Simulation **
** Pacific Earthquake Engineering Research Center **
** **
** **
** (C) Copyright 2001, The Regents of the University of California **
** All Rights Reserved. **
** **
** Commercial use of this program without express permission of the **
** University of California, Berkeley, is strictly prohibited. See **
** file 'COPYRIGHT' in main directory for information on usage and **
** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
** **
** Developed by: **
** Frank McKenna (fmckenna@ce.berkeley.edu) **
** Gregory L. Fenves (fenves@ce.berkeley.edu) **
** Filip C. Filippou (filippou@ce.berkeley.edu) **
** **
** Reliability module developed by: **
** Terje Haukaas (haukaas@ce.berkeley.edu) **
** Armen Der Kiureghian (adk@ce.berkeley.edu) **
** **
** ****************************************************************** */
// $Revision: 1.1 $
// $Date: 2001-06-13 05:06:20 $
// $Source: /usr/local/cvs/OpenSees/SRC/reliability/domain/components/LimitStateFunction.h,v $
//
// Written by Terje Haukaas (haukaas@ce.berkeley.edu) during Spring 2000
// Revised: haukaas 06/00 (core code)
// haukaas 06/01 (made part of official OpenSees)
//
#ifndef LimitStateFunction_h
#define LimitStateFunction_h
#include <ReliabilityDomainComponent.h>
#include <Vector.h>
#include <fstream.h>
class LimitStateFunction : public ReliabilityDomainComponent
{
public:
LimitStateFunction( int tag,
char *expression);
~LimitStateFunction();
void Print(ostream &s, int flag =0);
char *getExpression();
void printResults(ofstream &outputFile);
void printSummaryOfResults(ofstream &outputFile);
// Flags to check if analyses are performed
bool FORMAnalysisPerformed;
bool SimulationAnalysisPerformed;
bool EvaluateLimitStateFunctionAtStartPointPerformed;
bool PointFittingSORMAnalysisPerformed;
bool CurvatureFittingSORMAnalysisPerformed;
bool CurvaturesFromSearchAlgorithmSORMAnalysisPerformed;
// GFunValueAtStartPt analysis
double GFunValueAtStartPt;
// FORM analysis:
double FORMReliabilityIndexBeta;
double FORMProbabilityOfFailure_pf1;
Vector designPoint_x_inOriginalSpace;
Vector designPoint_u_inStdNormalSpace;
Vector normalizedNegativeGradientVectorAlpha;
Vector importanceVectorGamma;
int numberOfIterationsToFindDesignPoint;
// From Simulation analysis:
double SimulationReliabilityIndexBeta;
double SimulationProbabilityOfFailure_pfsim;
double CoefficientOfVariationOfPfFromSimulation;
int NumberOfSimulations;
// From SORM analysis:
double SORMCurvatureFittingBetaBreitung;
double SORMCurvatureFittingPf2Breitung;
double SORMPointFittingBetaBreitung;
double SORMPointFittingPf2Breitung;
double SORMUsingSearchBetaBreitung;
double SORMUsingSearchPf2Breitung;
Vector lastSearchDirection;
int numberOfCurvatauresUsed;
Vector secondLast_u;
Vector secondLastAlpha;
protected:
private:
int tag;
char *expression;
};
#endif