xc
src
reliability
analysis
sensitivity
FiniteDifferenceGradGEvaluator.h
1
// -*-c++-*-
2
//----------------------------------------------------------------------------
3
// XC program; finite element analysis code
4
// for structural analysis and design.
5
//
6
// Copyright (C) Luis C. Pérez Tato
7
//
8
// This program derives from OpenSees <http://opensees.berkeley.edu>
9
// developed by the «Pacific earthquake engineering research center».
10
//
11
// Except for the restrictions that may arise from the copyright
12
// of the original program (see copyright_opensees.txt)
13
// XC is free software: you can redistribute it and/or modify
14
// it under the terms of the GNU General Public License as published by
15
// the Free Software Foundation, either version 3 of the License, or
16
// (at your option) any later version.
17
//
18
// This software is distributed in the hope that it will be useful, but
19
// WITHOUT ANY WARRANTY; without even the implied warranty of
20
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
// GNU General Public License for more details.
22
//
23
//
24
// You should have received a copy of the GNU General Public License
25
// along with this program.
26
// If not, see <http://www.gnu.org/licenses/>.
27
//----------------------------------------------------------------------------
28
/* ****************************************************************** **
29
** OpenSees - Open System for Earthquake Engineering Simulation **
30
** Pacific Earthquake Engineering Research Center **
31
** **
32
** **
33
** (C) Copyright 2001, The Regents of the University of California **
34
** All Rights Reserved. **
35
** **
36
** Commercial use of this program without express permission of the **
37
** University of California, Berkeley, is strictly prohibited. See **
38
** file 'COPYRIGHT' in main directory for information on usage and **
39
** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
40
** **
41
** Developed by: **
42
** Frank McKenna (fmckenna@ce.berkeley.edu) **
43
** Gregory L. Fenves (fenves@ce.berkeley.edu) **
44
** Filip C. Filippou (filippou@ce.berkeley.edu) **
45
** **
46
** Reliability module developed by: **
47
** Terje Haukaas (haukaas@ce.berkeley.edu) **
48
** Armen Der Kiureghian (adk@ce.berkeley.edu) **
49
** **
50
** ****************************************************************** */
51
52
// $Revision: 1.2 $
53
// $Date: 2003/10/27 23:45:44 $
54
// $Source: /usr/local/cvs/OpenSees/SRC/reliability/analysis/sensitivity/FiniteDifferenceGradGEvaluator.h,v $
55
56
57
//
58
// Written by Terje Haukaas (haukaas@ce.berkeley.edu)
59
//
60
61
#ifndef FiniteDifferenceGradGEvaluator_h
62
#define FiniteDifferenceGradGEvaluator_h
63
64
#include "GradGEvaluator.h"
65
#include <utility/matrix/Vector.h>
66
#include <utility/matrix/Matrix.h>
67
#include <reliability/domain/components/ReliabilityDomain.h>
68
#include <tcl.h>
69
70
#include <fstream>
71
using
std::ofstream;
72
73
74
namespace
XC
{
75
class
GFunEvaluator;
80
class
FiniteDifferenceGradGEvaluator
:
public
GradGEvaluator
81
{
82
private
:
83
// int computeDgDsomething();
84
GFunEvaluator
*theGFunEvaluator;
85
double
perturbationFactor;
86
bool
reComputeG;
87
public
:
88
FiniteDifferenceGradGEvaluator
(
GFunEvaluator
*passedGFunEvaluator,
89
ReliabilityDomain
*passedReliabilityDomain,
90
Tcl_Interp *passedTclInterp,
91
double
perturbationFactor,
92
bool
doGradientCheck,
93
bool
reComputeG);
94
95
int
computeGradG(
double
gFunValue,
const
Vector
&passed_x);
96
int
computeAllGradG(
Vector
gFunValues,
const
Vector
&passed_x);
97
98
const
Matrix
&getDgDdispl(
void
)
const
;
99
};
100
}
// end of XC namespace
101
102
#endif
XC::Vector
Float vector abstraction.
Definition:
Vector.h:94
XC::ReliabilityDomain
Domain that keeps inside the sensitivity, reliability and optimization components are kept...
Definition:
ReliabilityDomain.h:86
XC::GradGEvaluator
Base class for the evaluators of the gradient of the limit surface.
Definition:
GradGEvaluator.h:75
XC::GFunEvaluator
Performance function evaluator.
Definition:
GFunEvaluator.h:76
XC
Open source finite element program for structural analysis.
Definition:
ContinuaReprComponent.h:35
XC::Matrix
Matrix of floats.
Definition:
Matrix.h:111
XC::FiniteDifferenceGradGEvaluator
Finite difference based evaluator of the gradient of the limit surface.
Definition:
FiniteDifferenceGradGEvaluator.h:80
Generated by
1.8.13