ReliabilityDomain.h

Go to the documentation of this file.
00001 /* ****************************************************************** **
00002 **    OpenSees - Open System for Earthquake Engineering Simulation    **
00003 **          Pacific Earthquake Engineering Research Center            **
00004 **                                                                    **
00005 **                                                                    **
00006 ** (C) Copyright 2001, The Regents of the University of California    **
00007 ** All Rights Reserved.                                               **
00008 **                                                                    **
00009 ** Commercial use of this program without express permission of the   **
00010 ** University of California, Berkeley, is strictly prohibited.  See   **
00011 ** file 'COPYRIGHT'  in main directory for information on usage and   **
00012 ** redistribution,  and for a DISCLAIMER OF ALL WARRANTIES.           **
00013 **                                                                    **
00014 ** Developed by:                                                      **
00015 **   Frank McKenna (fmckenna@ce.berkeley.edu)                         **
00016 **   Gregory L. Fenves (fenves@ce.berkeley.edu)                       **
00017 **   Filip C. Filippou (filippou@ce.berkeley.edu)                     **
00018 **                                                                    **
00019 ** Reliability module developed by:                                   **
00020 **   Terje Haukaas (haukaas@ce.berkeley.edu)                          **
00021 **   Armen Der Kiureghian (adk@ce.berkeley.edu)                       **
00022 **                                                                    **
00023 ** ****************************************************************** */
00024                                                                         
00025 // $Revision: 1.6 $
00026 // $Date: 2006/09/05 22:49:36 $
00027 // $Source: /usr/local/cvs/OpenSees/SRC/reliability/domain/components/ReliabilityDomain.h,v $
00028 
00029 
00030 //
00031 // Written by Terje Haukaas (haukaas@ce.berkeley.edu)
00032 //
00033 
00034 #ifndef ReliabilityDomain_h
00035 #define ReliabilityDomain_h
00036 
00037 #include <RandomVariable.h>
00038 #include <CorrelationCoefficient.h>
00039 #include <LimitStateFunction.h>
00040 #include <RandomVariablePositioner.h>
00041 #include <ParameterPositioner.h>
00042 #include <ModulatingFunction.h>
00043 #include <Filter.h>
00044 #include <Spectrum.h>
00045 
00046 class TaggedObjectStorage;
00047 
00048 class ReliabilityDomain
00049 {
00050 
00051 public:
00052         ReliabilityDomain();
00053         virtual ~ReliabilityDomain();
00054 
00055         // Member functions to add components to the domain
00056         virtual bool addRandomVariable(RandomVariable *theRandomVariable);
00057         virtual bool addCorrelationCoefficient(CorrelationCoefficient *theCorrelationCoefficient);
00058         virtual bool addLimitStateFunction(LimitStateFunction *theLimitStateFunction);
00059         virtual bool addRandomVariablePositioner(RandomVariablePositioner *theRandomVariablePositioner);
00060         virtual bool addParameterPositioner(ParameterPositioner *theParameterPositioner);
00061         virtual bool addModulatingFunction(ModulatingFunction *theModulatingFunction);
00062         virtual bool addFilter(Filter *theFilter);
00063         virtual bool addSpectrum(Spectrum *theSpectrum);
00064 
00065         // Member functions to get components from the domain
00066         RandomVariable *getRandomVariablePtr(int tag);
00067         CorrelationCoefficient *getCorrelationCoefficientPtr(int tag);
00068         LimitStateFunction *getLimitStateFunctionPtr(int tag);
00069         RandomVariablePositioner *getRandomVariablePositionerPtr(int tag);
00070         ParameterPositioner *getParameterPositionerPtr(int tag);
00071         ModulatingFunction *getModulatingFunction(int tag);
00072         Filter *getFilter(int tag);
00073         Spectrum *getSpectrum(int tag);
00074 
00075         // Member functions giving information about the domain
00076         int getNumberOfRandomVariables(void);
00077         int getNumberOfCorrelationCoefficients(void);
00078         int getNumberOfLimitStateFunctions(void);
00079         int getNumberOfRandomVariablePositioners(void);
00080         int getNumberOfParameterPositioners(void);
00081         int getNumberOfModulatingFunctions(void);
00082         int getNumberOfFilters(void);
00083         int getNumberOfSpectra(void);
00084 
00085         // Member functions to set/get active limit-state function
00086         int getTagOfActiveLimitStateFunction(void);
00087         void setTagOfActiveLimitStateFunction(int tag);
00088 
00089         // Member functions to remove single components from the domain
00090         int removeRandomVariablePositioner(int tag);
00091         int removeParameterPositioner(int tag);
00092         int removeRandomVariable(int tag);
00093         int removeCorrelationCoefficient(int tag);
00094         int removePerformanceFunction(int tag);
00095 
00096 protected:
00097 
00098 private:
00099         TaggedObjectStorage *theRandomVariablesPtr;
00100         TaggedObjectStorage *theCorrelationCoefficientsPtr;
00101         TaggedObjectStorage *theLimitStateFunctionsPtr;
00102         TaggedObjectStorage *theRandomVariablePositionersPtr;
00103         TaggedObjectStorage *theParameterPositionersPtr;
00104         TaggedObjectStorage *theModulatingFunctionsPtr;
00105         TaggedObjectStorage *theFiltersPtr;
00106         TaggedObjectStorage *theSpectraPtr;
00107         int tagOfActiveLimitStateFunction;
00108 
00109 };
00110 
00111 #endif
00112 

Generated on Mon Oct 23 15:05:26 2006 for OpenSees by doxygen 1.5.0