xc
src
material
nD
soil
MultiYieldSurface.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
// $Revision: 1.7 $
29
// $Date: 2003/02/14 23:01:30 $
30
// $Source: /usr/local/cvs/OpenSees/SRC/material/nD/soil/MultiYieldSurface.h,v $
31
32
// Written: ZHY
33
// Created: August 2000
34
//
35
// MultiYieldSurface.h
36
// -------------------
37
//
38
39
#ifndef _MultiYieldSurface_H_
40
#define _MultiYieldSurface_H_
41
42
#include <material/nD/soil/T2Vector.h>
43
44
45
#define LOCK_VALUE 1.0e+30
46
47
// global function to find the roots of a second order equation
48
double
secondOrderEqn(
double
A,
double
B,
double
C,
int
i);
49
50
// define yield surface in stress space
51
namespace
XC
{
53
//
55
class
MultiYieldSurface
56
{
57
private
:
58
double
theSize;
59
Vector
theCenter;
60
double
plastShearModulus;
61
public
:
62
//constructors
63
MultiYieldSurface
();
64
MultiYieldSurface
(
const
Vector
& center_init,
double
size_init,
65
double
plas_modul);
66
67
void
setData(
const
Vector
¢er_init,
double
size_init,
double
plas_modul);
68
const
Vector
& center()
const
{
return
theCenter; }
69
double
size()
const
{
return
theSize; }
70
double
modulus()
const
{
return
plastShearModulus; }
71
void
setCenter(
const
Vector
&);
72
};
73
}
// end of XC namespace
74
75
#endif
XC::Vector
Float vector abstraction.
Definition:
Vector.h:94
XC::MultiYieldSurface
??.
Definition:
MultiYieldSurface.h:55
XC
Open source finite element program for structural analysis.
Definition:
ContinuaReprComponent.h:35
Generated by
1.8.13