XC Open source finite element analysis program
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 //
55  {
56  private:
57  double theSize;
58  Vector theCenter;
59  double plastShearModulus;
60  public:
61  //constructors
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
Definition: Vector.h:82
================================================================================
Definition: ContinuaReprComponent.h:34
??.
Definition: MultiYieldSurface.h:54