XC Open source finite element analysis program
Main Page
Modules
Namespaces
Classes
Files
File List
xc
src
material
nD
soil
MultiYieldSurface.h
1
//----------------------------------------------------------------------------
2
// XC program; finite element analysis code
3
// for structural analysis and design.
4
//
5
// Copyright (C) Luis Claudio Pérez Tato
6
//
7
// This program derives from OpenSees <http://opensees.berkeley.edu>
8
// developed by the «Pacific earthquake engineering research center».
9
//
10
// Except for the restrictions that may arise from the copyright
11
// of the original program (see copyright_opensees.txt)
12
// XC is free software: you can redistribute it and/or modify
13
// it under the terms of the GNU General Public License as published by
14
// the Free Software Foundation, either version 3 of the License, or
15
// (at your option) any later version.
16
//
17
// This software is distributed in the hope that it will be useful, but
18
// WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU General Public License for more details.
21
//
22
//
23
// You should have received a copy of the GNU General Public License
24
// along with this program.
25
// If not, see <http://www.gnu.org/licenses/>.
26
//----------------------------------------------------------------------------
27
// $Revision: 1.7 $
28
// $Date: 2003/02/14 23:01:30 $
29
// $Source: /usr/local/cvs/OpenSees/SRC/material/nD/soil/MultiYieldSurface.h,v $
30
31
// Written: ZHY
32
// Created: August 2000
33
//
34
// MultiYieldSurface.h
35
// -------------------
36
//
37
38
#ifndef _MultiYieldSurface_H_
39
#define _MultiYieldSurface_H_
40
41
#include <material/nD/soil/T2Vector.h>
42
43
44
#define LOCK_VALUE 1.0e+30
45
46
// global function to find the roots of a second order equation
47
double
secondOrderEqn(
double
A,
double
B,
double
C,
int
i);
48
49
// define yield surface in stress space
50
namespace
XC
{
52
//
54
class
MultiYieldSurface
55
{
56
private
:
57
double
theSize;
58
Vector
theCenter;
59
double
plastShearModulus;
60
public
:
61
//constructors
62
MultiYieldSurface
();
63
MultiYieldSurface
(
const
Vector
& center_init,
double
size_init,
64
double
plas_modul);
65
66
void
setData(
const
Vector
& center_init,
double
size_init,
double
plas_modul);
67
const
Vector
& center()
const
{
return
theCenter; }
68
double
size()
const
{
return
theSize; }
69
double
modulus()
const
{
return
plastShearModulus; }
70
void
setCenter(
const
Vector
& newCenter);
71
72
// friend ostream & operator<< (ostream & os, const MultiYieldSurface & );
73
// friend istream & operator>> (istream & is, MultiYieldSurface & );
74
75
};
76
}
// end of XC namespace
77
78
#endif
XC::Vector
Definition:
Vector.h:82
XC
================================================================================
Definition:
ContinuaReprComponent.h:34
XC::MultiYieldSurface
??.
Definition:
MultiYieldSurface.h:54
Generated by
1.8.11