FiniteDifferenceGradGEvaluator.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.2 $
00026 // $Date: 2003/10/27 23:45:44 $
00027 // $Source: /usr/local/cvs/OpenSees/SRC/reliability/analysis/sensitivity/FiniteDifferenceGradGEvaluator.h,v $
00028 
00029 
00030 //
00031 // Written by Terje Haukaas (haukaas@ce.berkeley.edu)
00032 //
00033 
00034 #ifndef FiniteDifferenceGradGEvaluator_h
00035 #define FiniteDifferenceGradGEvaluator_h
00036 
00037 #include <GradGEvaluator.h>
00038 #include <Vector.h>
00039 #include <Matrix.h>
00040 #include <ReliabilityDomain.h>
00041 #include <GFunEvaluator.h>
00042 #include <tcl.h>
00043 
00044 #include <fstream>
00045 using std::ofstream;
00046 
00047 
00048 class FiniteDifferenceGradGEvaluator : public GradGEvaluator
00049 {
00050 
00051 public:
00052         FiniteDifferenceGradGEvaluator(GFunEvaluator *passedGFunEvaluator,
00053                                 ReliabilityDomain *passedReliabilityDomain,
00054                                 Tcl_Interp *passedTclInterp,
00055                                 double perturbationFactor,
00056                                 bool doGradientCheck,
00057                                 bool reComputeG);
00058         ~FiniteDifferenceGradGEvaluator();
00059 
00060         int             computeGradG(double gFunValue, Vector passed_x);
00061         int             computeAllGradG(Vector gFunValues, Vector passed_x);
00062 
00063         Vector  getGradG();
00064         Matrix  getAllGradG();
00065 
00066         Matrix  getDgDdispl();
00067 
00068 protected:
00069 
00070 private:
00071 //      int computeDgDsomething();
00072 
00073         Vector *grad_g;
00074         Matrix *grad_g_matrix;
00075         GFunEvaluator *theGFunEvaluator;
00076         Matrix *DgDdispl;
00077         Matrix *DgDpar;
00078         double perturbationFactor;
00079         bool doGradientCheck;
00080         bool reComputeG;
00081 };
00082 
00083 #endif

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